Hello! I’ve recently acquired a 4th gen ThinkPad E14 but have been struggling to get WiFi going… According to the spec-sheet, this laptop should have an RTL8852be chip.
Reading around that sounds like the rtw89 package is what I’m looking for but it’s complicated: the kernel module package seems to be broken. Moreover it seems that config.boot.kernelPackages.rtw89 is gone entirely?
error: A definition for option `boot.extraModulePackages.[definition 1-entry 1]' is not of type `package'. Definition values:
- In `/etc/nixos/configuration.nix': null
According to the post linked previously, on kernels later than 5.16 all I’d need is the rtw89-firmware package. That compiles but doesn’t seem to actually work.
I did some digging to figure out if these drivers would be what I needed. I ended up running Ubuntu (kernel 5.15, does that matter? :/) from a USB-stick and installed the rtw8852be drivers from GitHub, and it worked! (although pinging 8.8.8.8 gave me repeatedly high latency spikes, maybe NetworkManager, maybe this chip is rubbish?). According to a recent commit in that codebase, this driver has been included in the rtw89 repo. However, building and activating module rtw_8852be built from this repo did not work!
So far I’ve tried copying and adjusting the derivation for rtw89, hoping that swapping the GitHub repo for the rtw8852be one would do the trick. No luck so far
Any pointers on how to further debug this would be grand! Is it possible to build this module locally like I would on another distro and test if it works, then try to package it in a derivation?
Hey Jon, thank you for your response; the naming is indeed confusing! Could you show me how you got to those .ko files? I’m still trying to compile these in a derivation but not much luck so far…
Here’s a gist with what I have so far. Is there a better way to test this “build” without running nixos-rebuild switch? How can I load this file into a nix-shell? And how should I wrap the make invocation to know the correct path to the kernel headers/libs for building, is setting makeFlags alone not enough?
Is there a way for me to build this module manually outside of nix to test if it works reliably? (wifi latency and throughput)
Follow-up: I got this driver github.com/lwfinger/rtw8852be to work under Arch; the dkms driver in the readme did not work. Unfortunately I couldn’t figure out how to shove this in a derivation. I ended up buying an Intel AX210 for 30 euros and transplanted it in: works flawlessly :).
Thank you for reading, I hope you have better luck!