Laptop 13 + NixOS: issues with wifi card & linux kernel (xpad-noone module)

Edit: partly solved on the NixOS config related issue, see post #2. The wifi instability and freeze issue remains.


Hi,

I’m running NixOS 25.11 with KDE Plasma on a Framework Laptop 13 w/ AMD Ryzen AI 7 350 & Radeon 850M. The firmware is up to date.

I’ve been running NixOS on the Laptop 13 without serious issues since ~ June 2025, pretty happy about it so far!

TL;DR:

My system is currently plagued by - as far as I can tell - at least two different issues, one related to a kernel module (xpad-noone) not supported by my version of NixOS, the other one related to a serious instability of the wifi card. My system is barely usable right now and any help would be much appreciated. Thanks in advance for reading this waaaay too long post :slight_smile:

The first issue: xpad-noone preventing a proper rebuild

Since a few days, NixOS rebuild doesn’t succeed. It seems to be related to a module coming with Linux latest kernel, xpad-noone.

My up to date configuration is available at https://git.sr.ht/\~mapper/nixos-fixable . Rebuilding the config first failed after this commit. Here’s the output of the nixos-rebuild switch command:

$ sudo nixos-rebuild switch --flake -v             
debug: nixos_rebuild.process: calling run with args=['nix', '--extra-experimental-features', 'nix-command flakes', 'build', '--print-out-paths', '.#nixosConfigurations."fixable".config.system.build.nixos-rebuild', '-v', '--no-link'], kwargs={'stdout': -1}, extra_env=None
debug: nixos_rebuild.process: captured output with stdout='/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11\n', stderr=None
building the system configuration...
debug: nixos_rebuild.process: calling run with args=['nix', '--extra-experimental-features', 'nix-command flakes', 'build', '--print-out-paths', '.#nixosConfigurations."fixable".config.system.build.toplevel', '--no-link', '-v'], kwargs={'stdout': -1}, extra_env=None
these 15 derivations will be built:
  /nix/store/pi3mg3c9i70aznip92124cf86wapf8vq-xpad-noone-0-unstable-2024-01-10.drv
  /nix/store/f0mrn00jrd68qh47wly3989vk0ypwfkf-linux-6.18-modules.drv
  /nix/store/1zvbc7y4xiwmhyqdwiplzbb3x1fp7v1c-linux-6.18-modules-shrunk.drv
  /nix/store/12wxdr8j0d2l9p7wad72234fmn25q0s1-closure-info.drv
  /nix/store/jcdkhm08a6pmd8lva8smdxlvi6vcbzvs-home-manager-path.drv
  /nix/store/1msb33b9r7019cqxs8jjdsy1qmrd2whl-hm_fontconfigconf.d10hmfonts.conf.drv
  /nix/store/yjavp2wl7739d845vrcn8vsw08j03y9m-initrd-linux-6.18.drv
  /nix/store/2ij0bp3zw43f0zm9pshfpgkgymirk6pm-boot.json.drv
  /nix/store/nkl6jbdrxzgahh31sgz8440w9nlhm73w-user-environment.drv
  /nix/store/fc1k9vyhfv7xyljs4ynyhkrbbjjj8zqc-home-manager-files.drv
  /nix/store/6r9x3w79s2q6g5wsfdyxasiyw400wpck-home-manager-generation.drv
  /nix/store/kd98py36v6rz21cpdz8hsmb34vs6r762-unit-home-manager-jeremy.service.drv
  /nix/store/nw1k4vbck35d5jpil3a40yvz4q0lhl4h-system-units.drv
  /nix/store/3mrl7dxsl1ris82jrd5vpmmfzl7z9c1z-etc.drv
  /nix/store/b4vfd8wrs79mhzlx62i8gf5dams4i45j-nixos-system-fixable-25.11.20251206.d9bc5c7.drv
building '/nix/store/pi3mg3c9i70aznip92124cf86wapf8vq-xpad-noone-0-unstable-2024-01-10.drv'...
building '/nix/store/jcdkhm08a6pmd8lva8smdxlvi6vcbzvs-home-manager-path.drv'...
error: Cannot build '/nix/store/pi3mg3c9i70aznip92124cf86wapf8vq-xpad-noone-0-unstable-2024-01-10.drv'.
       Reason: builder failed with exit code 2.
       Output paths:
         /nix/store/9dy39w67651sc0849gkdckkqgrl68jc2-xpad-noone-0-unstable-2024-01-10
       Last 25 log lines:
       > source root is source
       > Running phase: patchPhase
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > no configure script, doing nothing
       > Running phase: buildPhase
       > build flags: SHELL=/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash CC=/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin/gcc LD=/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin/ld AR=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/ar NM=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/nm STRIP=/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin/strip OBJCOPY=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/objcopy OBJDUMP=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/objdump READELF=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/readelf HOSTCC=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/cc HOSTCXX=/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin/c++ HOSTAR=/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin/ar HOSTLD=/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin/ld ARCH=x86_64 CROSS_COMPILE= KBUILD_OUTPUT=/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/build
       > make -C /nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/build M=/build/source modules
       > make[1]: Entering directory '/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/build'
       > make[2]: Entering directory '/build/source'
       >   CC [M]  xpad.o
       > xpad.c: In function 'xpad_led_probe':
       > xpad.c:1144:24: error: implicit declaration of function 'ida_simple_get' [-Wimplicit-function-declaration]
       >  1144 |         xpad->pad_nr = ida_simple_get(&xpad_pad_seq, 0, 0, GFP_KERNEL);
       >       |                        ^~~~~~~~~~~~~~
       > xpad.c:1167:9: error: implicit declaration of function 'ida_simple_remove' [-Wimplicit-function-declaration]
       >  1167 |         ida_simple_remove(&xpad_pad_seq, xpad->pad_nr);
       >       |         ^~~~~~~~~~~~~~~~~
       > make[4]: *** [/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/source/scripts/Makefile.build:287: xpad.o] Error 1
       > make[3]: *** [/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/source/Makefile:2010: .] Error 2
       > make[2]: *** [/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/source/Makefile:248: __sub-make] Error 2
       > make[2]: Leaving directory '/build/source'
       > make[1]: *** [/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/source/Makefile:248: __sub-make] Error 2
       > make[1]: Leaving directory '/nix/store/pyix2bwixdp8yw4qlhqv5xsxygyf6nhy-linux-6.18-dev/lib/modules/6.18.0/build'
       > make: *** [Makefile:4: all] Error 2
       For full logs, run:
         nix log /nix/store/pi3mg3c9i70aznip92124cf86wapf8vq-xpad-noone-0-unstable-2024-01-10.drv
error: Cannot build '/nix/store/f0mrn00jrd68qh47wly3989vk0ypwfkf-linux-6.18-modules.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/6xd2bf8skcz2bkn3hxzdd10m6rd6g4jx-linux-6.18-modules
error: Cannot build '/nix/store/b4vfd8wrs79mhzlx62i8gf5dams4i45j-nixos-system-fixable-25.11.20251206.d9bc5c7.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/7hza6czriigqdb2ajv4z31pbiwhy4vpr-nixos-system-fixable-25.11.20251206.d9bc5c7
Traceback (most recent call last):
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/__init__.py", line 352, in main
    execute(sys.argv)
    ~~~~~~~^^^^^^^^^^
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/__init__.py", line 315, in execute
    services.build_and_activate_system(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        action=action,
        ^^^^^^^^^^^^^^
    ...<6 lines>...
        grouped_nix_args=grouped_nix_args,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/services.py", line 301, in build_and_activate_system
    path_to_config = _build_system(
        attr=attr,
    ...<5 lines>...
        grouped_nix_args=grouped_nix_args,
    )
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/services.py", line 173, in _build_system
    path_to_config = nix.build_flake(
        attr,
    ...<2 lines>...
        | grouped_nix_args.flake_build_flags,
    )
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/nix.py", line 87, in build_flake
    r = run_wrapper(run_args, stdout=PIPE)
  File "/nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/lib/python3.13/site-packages/nixos_rebuild/process.py", line 137, in run_wrapper
    r = subprocess.run(
        run_args,
    ...<7 lines>...
        **kwargs,
    )
  File "/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command flakes', 'build', '--print-out-paths', '.#nixosConfigurations."fixable".config.system.build.toplevel', '--no-link', '-v']' returned non-zero exit status 1.

I’ve added a comment to a ticket on nixpkgs Github to help fixed this upstream issue. I know it’s not directly related to Framewok, but as I tried to downgrade the kernel (cf. the git history of my nixos config), another issue arose, seemingly a big instability of the wifi card management by the system.

The second issue: wifi instability

Here are the symptoms:

My wifi card is a MediaTek MT7925.

Here’s the output of a couple of commands that will hopefully give more context:

  • NetworkManager status
$ systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/etc/systemd/system/NetworkManager.service; enabled; preset: ignored)
    Drop-In: /nix/store/01xkm431dzb8gcsb9vy77ja8mvhb346b-system-units/NetworkManager.service.d
             └─NetworkManager-ovs.conf, overrides.conf
     Active: active (running) since Wed 2025-12-10 07:57:45 CET; 55min ago
 Invocation: 1a17565a6cad4a34b7fc708e0dd24180
       Docs: man:NetworkManager(8)
   Main PID: 1842 (NetworkManager)
         IP: 18.1K in, 48B out
         IO: 7.6M read, 24K written
      Tasks: 4 (limit: 76052)
     Memory: 12.6M (peak: 16.5M)
        CPU: 3.308s
     CGroup: /system.slice/NetworkManager.service
             └─1842 /nix/store/h91szsp5bk28zddrdp3y0bpl7nx9pkj4-networkmanager-1.54.1/sbin/NetworkManager --no-daemon

déc. 10 07:57:43 fixable systemd[1]: Starting Network Manager...
déc. 10 07:57:45 fixable systemd[1]: Started Network Manager.
  • ip link
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlp192s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether d8:b3:2f:bd:c2:81 brd ff:ff:ff:ff:ff:ff
    altname wlxd8b32fbdc281
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether be:71:e3:e9:74:ae brd ff:ff:ff:ff:ff:ff
  • lsusb
$ lsusb                   
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint USB Device
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 32ac:001c Framework Laptop Webcam Module (2nd Gen)
Bus 003 Device 003: ID 0e8d:0717 MediaTek Inc. Wireless_Device
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 32ac:0005 Framework 1TB Expansion Card
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

  • lspci | grep -i wireless doesn’t return anything.

That’s it!

Do any of you have experienced similar issues?

Is there any known fix that I could apply?

Once again, any help would be much appreciated. Thank you!

As expected, there was an issue at the chair-screen interface level (always the trickiest issues, and the most embarrassing one, haha). My NixOS config was messy, see the topic on NixOS discourse. It clears the xpad–noone issue, but the wifi instability still remains.

After rebooting, the freeze issue is still present. I’m now running the following linux kernel:

$ uname -a 
Linux fixable 6.12.60 #1-NixOS SMP PREEMPT_DYNAMIC Mon Dec  1 10:43:41 UTC 2025 x86_64 GNU/Linux

I am on NixOS as well bu with the latest kernel

❯ uname -a
Linux strongbad 6.18.2 #1-NixOS SMP PREEMPT_DYNAMIC Thu Dec 18 13:03:43 UTC 2025 x86_64 GNU/Linux

I have wireless dropouts constantly. Seems to be just really shit drivers from Mediatek and given it’s on the latest kernel I wouldn’t hold out hope.