How can systemd recognize this kernel module at boot?

Hi everybody,

The internal wifi on my laptop just died, so I bought a USB wifi dongle. I found one with a driver that’s available in NixOS21.05. I noticed that it wasn’t installed in the central repository of kernel module, but in /run/current-system/sw/lib/modules instead.

I found the interface name using nixos-generate-config and so I can use DHCP. But I can’t get the card to be recognized at boot, I always have to start it manually.

sudo insmod /nix/store/br…2bu-5.10.66-unstable-2021-05-18/lib/modules/5.10.66/kernel/net/wireless/88x2bu.ko

putting boot.kernelModules = [ “88x2bu” ]; in configuration.nix does not help. Is there something I can do? Is my problem due to the fact that this particular module is still considered unstable, or is it something basic I’m missing?

Thanks in advance,

Try to add this to your configuration:

  boot.extraModulePackages = [
    config.boot.kernelPackages.rtl88x2bu
  ]

looks like I need rtl8912eu for my tp link wifi antena to work. I found this

and this patch

to have this driver available on linux systems. Nothing in the nixos package set. Can anyone point me to what kind of work is required to get this to work?

I had to also blacklist regular 8xxx module on my system and to pin kernel to 5.4

1 Like

That solved my problem. I was about to accept that I won’t have connection on my linux machine until I set up a cable. Thank you so much!

Yeah, took me half a day to figure that out…

Might be that newer kernels work in the meantime, I downgraded it because of build errors sometime after the WiFi already worked. Though I also haven’t used the machine for a while now.

So I can give that a try, too