Skip to content

Linux kernel 6.18.3: MT7925 WiFi driver missing (regression from 6.18.2) #477924

@stevenhirsch

Description

@stevenhirsch

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:

  1. Update nixos-unstable flake to a commit with kernel 6.18.3
  2. sudo nixos-rebuild switch
  3. Reboot
  4. 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)  docker0

The 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 160MHz

But 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: mt7925e

Note: 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 KiB

Attempted workarounds

  • boot.kernelPackages = pkgs.linuxPackages_latest; - still pulls 6.18.3 with the missing driver
  • boot.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`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions