-
-
Notifications
You must be signed in to change notification settings - Fork 17.7k
Description
After updating my nixos-unstable flake, my WiFi stopped working. I believe I traced it down to the kernel update from 6.18.2 to 6.18.3. The mt7925e driver module that was present and working in 6.18.2 is seemingly missing from the 6.18.3 build.
I'm running a Framework 13 with AMD Ryzen AI 9 HX 370, which has the MediaTek MT7925 WiFi 7 card (using nixos-hardware.nixosModules.framework-amd-ai-300-series).
I believe this should be reproducible if you were to:
- Update nixos-unstable flake to a commit with kernel 6.18.3
sudo nixos-rebuild switch- Reboot
- observe WiFi doesn't work
Investigation
NetworkManager doesn't see any WiFi device:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
lo loopback connected (externally) lo
docker0 bridge connected (externally) docker0The WiFi interface (wlp192s0) that was there in 6.18.2 is now missing.
The hardware is detected by lspci:
$ lspci | grep -i network
c0:00.0 Network controller: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHzBut there's no driver bound to it:
$ lspci -k | grep -A 3 -i mediatek
c0:00.0 Network controller: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHz
Subsystem: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHz
Kernel modules: mt7925eNote: no "Kernel driver in use:" line appears.
No MT7925 modules are loaded:
$ lsmod | grep mt79
(no output)The mt7925e module seems as though it doesn't exist:
$ find /lib/modules/$(uname -r) -name '*mt7925*'
(no output)I tried manually loading mt7921e (the older driver in the same family), but it doesn't support MT7925.
Kernel comparison
I have two generations showing the regression:
- Generation 26 (6.18.2): mt7925e module exists, WiFi works
- Generation 27 (6.18.3): mt7925e module missing, no WiFi
$ nix store diff-closures /nix/var/nix/profiles/system-26-link /nix/var/nix/profiles/system-27-link | grep -i linux
initrd-linux: 6.18.2 → 6.18.3, +109.5 KiB
linux: 6.18.2, 6.18.2-modules → 6.18.3, 6.18.3-modules, +437.0 KiBAttempted workarounds
boot.kernelPackages = pkgs.linuxPackages_latest;- still pulls 6.18.3 with the missing driverboot.kernelPackages = pkgs.linuxPackages_6_18;- also gives 6.18.3
Currently booting into generation 26 with 6.18.2, which works but blocks me from getting updates.
Technical details
MT7925 support was added in kernel 6.7 as part of the mt792x driver family. All the supporting modules (mt76, mt792x_lib, mt76_connac_lib) exist in 6.18.3 - only mt7925e itself is missing. This looks like CONFIG_MT7925E wasn't enabled when building 6.18.3.
Current System info
- system: `"x86_64-linux"`
- host os: `Linux 6.18.2, NixOS, 26.05 (Yarara), 26.05.20251228.c0b0e0f`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.31.2+1`
- nixpkgs: `/nix/store/xzl5dhddgjxp2p18h5qpkhvlkp8128j1-source`