Junk Drawer Logo Junk Drawer

For all those little papers scattered across your desk

I stand for the Constitution, for due process, and for community that takes care of each other.

Solving Network Hardware Hangs on Framework Desktop

D. Ben Knoble on 13 Oct 2025 in Blog

I’ve recently installed Gentoo on my new Framework Desktop, and for a while the network would hang, causing any program that touched the hardware to also crap out. Update same day: I’ve just had the problem recur! Agh!

Here are some symptoms:

I checked my hardware with lspci, which I’d fortunately installed during the main system installation process, and with lspci -k I found out my network card is

c0:00.0 Mediatek MT7925 (RZ717) Wi-Fi 7 160MHz [14c3:0717]

with kernel module (in use) mt7925e.

First, I tried turning off WiFi power saving as recommended by Garuda folks:

printf '%s\n' '[connection]' 'wifi.powersave = 0' | doas tee /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

That didn’t help: a little while into my next reboot, the hang happened again. Then I tried disabling the “Active State Power Management” for my network card, which is apparently cursed with this problem:

echo 'options mt7925e disable_aspm=1' | doas tee /etc/modprobe.d/7925e_wifi.conf

That seems to have done the trick, so I’ll delete the NetworkManager settings.

Since I’ve now seen this recur, I’ve checked a few more things (added wpa_supplicant details above). I’ve also added syslog to the USE flags for NetworkManager to hopefully capture more information.

A few unrelated (?) things

I don’t have kernel logs for the problematic scenario, but now that my system is running normally I can eliminate a few things from the problem space.

In both working and non-working configurations, I saw repeated logs in dmesg for the network:

disconnect from AP <MAC> for new auth to <other MAC>
authenticate with <other MAC> (local address=<my MAC>)
send auth to <other MAC> (try 1/3)
authenticate with <other MAC> (local address=<my MAC>)
send auth to <2nd other MAC> (try 1/3)
authenticated
associate with <2nd other MAC> (try 1/3)
RX AssocResp from <2nd other MAC> (capab=0x1511 status=0 aid=3)
associated
Limiting TX power to 30 (30 - 0) dBm as advertised by <2nd other MAC>
diassociated from <2nd other MAC> (Reason: 1=UNSPECIFIED)

Often these occur every 5 minutes and loop for a while, then die away.

I saved some logs with

{ echo count from to;
  grep 'disconnect from AP' /var/log/messages |
    grep -o '\([[:xdigit:]][[:xdigit:]]:\?\)\{6\}' | paste - - |
    sort | uniq -c; } | column -t

which gave for example

count  from               to
3      <prefix>:2f:a9:51  <prefix>:2f:a9:59
22     <prefix>:2f:a9:51  <prefix>:d2:14:29
1      <prefix>:d2:14:21  <prefix>:2f:a9:59
2      <prefix>:d2:14:21  <prefix>:d2:14:29

As far as I can tell, the (masked) <prefix> there matches the output from another connected device when checking the router with arp -a:

gr6exx0c-a940.lan (192.168.2.1) at <prefix>:2f:a9:40 on en0 ifscope [ethernet]

And my management app says

So clearly something is going on here, and the NetworkManager is having trouble deciding which connection to use?

Miscellany


Tags:

Categories: Blog

Load Comments
Previous Next
Back to posts