nabam / nixos-rockchip

24 stars 8 forks source link

WiFi driver for PineTab 2 #17

Closed crabdancing closed 2 months ago

crabdancing commented 8 months ago

Word is that the WiFi driver is kind of working upstream, but it doesn't seem to be packaged here anywhere. Any plans to add it?

nabam commented 7 months ago

Sorry, I don't own PineTab myself, hardware support for PineTab was contributes by @asonix. I'm happy to accept contributions if you know how to solve it

crabdancing commented 7 months ago

If I ever have time, I might take a look upstream and make a PR tested against my personal hardware. :)

tromshusky commented 3 months ago

Whats up with pr #22? Will it get merged? It has wifi

asonix commented 3 months ago

I think "has WiFi" is a bit of an overstatement. The WiFi still doesn't work, but the driver can be loaded

tromshusky commented 3 months ago

can be loaded? i tried but failed. (sudo modprobe bes2600 cant find module)

i used the last sd image from releases https://github.com/nabam/nixos-rockchip/releases/tag/v23.11.20240317.614b461

but it is still using kernel 6.6, and doesnt have bes2600 in /run/... module folder. tried to build my own images with 6.8 on a fork from the pull request #22, but getting stuck, because it tries to load a simplefb module that cannot be found, i guess because of some .nix configuration from nixpkgs for the sd-card installer.

my goal is to get a running nixos on emmc with wifi modprobe possible, but following the asonix flake, (changing kernel linux_6_5_pinetab to linux_6_6_pinetab) i got never further than running out of space while compiling the kernel on the second nixos-rebuild switch

nabam commented 3 months ago

Sorry folks, I didn't have much spare time maintain the repo recently. Builds has been failing for a while. I'll try to fix it this weekend and merge the PR.

tromshusky commented 3 months ago

https://github.com/search?q=repo%3ANixOS%2Fnixpkgs+simplefb&type=commits simplefb was changed around March23 this year, that might cause some failure

tromshusky commented 3 months ago

Used a flake.lock from before March 25 and got some Pietab2 image build successfully on my github https://github.com/tromshusky/nixos-rockchip/releases/tag/v23.11.20240320.f091af0 Didn't test it

nabam commented 3 months ago

Fixed the pipeline, merged the PR. St least the driver should be available now.

asonix commented 3 months ago

There's also a dedicated wifi driver repo I've been thinking about getting packaged up as a kernel module but haven't gotten around to yet. It might improve the situation over the current in-tree driver: https://github.com/cringeops/bes2600

edit: also linux 6.9 is out so i might try getting a PR ready for 6.9 on pinetab & other boards

tromshusky commented 3 months ago

@asonix Did apply the dreemurrs patch like this: guess there is a way to include the patch directly from their repo but didnt care

  boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_6_9.override {
    argsOverride = rec {
      src = builtins.fetchurl {
            url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.2.tar.gz";
            sha256 = "0vz45ag1bkar9ir6w9bjiw05k7q2g1d5myb5n60dmf2k32n823cx";
      };
      version = "6.9.2";
      modDirVersion = "6.9.2-danctnix1";
      };
  });

  boot.kernelPatches = [{
    name = "v6.9.2-danctnix1";
    patch = builtins.fetchurl {
      url = "https://raw.githubusercontent.com/tromshusky/nixos-rockchip/frankenstein/mynix/v6.9.2-danctnix1.patch";
      sha256 = "1pg4cml49ymywsqfw0lasfakjx4a9p4wxl95cpd5mql2z9nar1m8";
    };
  }];

Boots kernel but goes into emergency shell.

[   20.114815] dw-mipi-dsi-rockchip fe060000.dsi: [drm:dw_mipi_dsi_rockchip_probe [rockchipdrm]] *ERROR* fai7
[   20.187278] dw-mipi-dsi-rockchip fe060000.dsi: [drm:dw_mipi_dsi_rockchip_probe [rockchipdrm]] *ERROR* fai7

But working on it now to include those modules from nixpkgs:

  boot.initrd.availableKernelModules =

# Rockchip
      "dw-hdmi"
      "dw-mipi-dsi"
      "rockchipdrm"
      "rockchip-rga"
      "phy-rockchip-pcie"
      "pcie-rockchip-host"

Renting an ARM vps to build caches

luigi311 commented 2 months ago

Danct just released 6.9.5 and it has the latest bes2600 driver so we dont need to pull in the bes2600 repo and create a module out of it anymore. It should also be fine to set it to automatically load on startup now and is what arch is doing.

crabdancing commented 2 months ago

Woah. Wait a minute, the driver's actually usable?

tromshusky commented 2 months ago

Woah. Wait a minute, the driver's actually usable?

if you manage to boot 6.8, modprobe bes2600 works you have to apply it after screen timeout again.

if you want you can use the pinetab2 release that i linked

crabdancing commented 2 months ago

So you have to modprobe it again? Sounds like the sort of thing a script workaround could fix

asonix commented 2 months ago

6.9.6 has been merged with bes2600 auto-enabling on boot :)

tromshusky commented 2 months ago

big thank you! allowed me to do my first successful nixos-install ... to emmc on this machine!

gonna try to work on a noob readable installation: https://github.com/tromshusky/nixos/tree/pinetab2-minimal