MediaTek MT7925 (RZ717) Wi-Fi Issues
Summary
The MediaTek MT7925 (also marketed as AMD RZ717) Wi-Fi 7 card shipped with Framework Laptop 13 (AMD Ryzen AI 300 Series), Framework Laptop 16 (AMD 7040 Series), and Framework Desktop (AMD Ryzen AI Max 300 Series) has multiple known driver bugs on Linux. Users report random connection drops, kernel panics causing full system lockups, poor throughput, and suspend/resume failures1. The issues stem from bugs in the Linux kernel's mt7925e driver (NULL pointer dereferences, missing mutex protection, broken MLO key handling) as well as problems in MediaTek's closed-source firmware23.
Symptoms
- Random Wi-Fi disconnects — repeated deauthentication/reauthentication cycles, especially in the first 1–2 hours after boot1
- Kernel panics — NULL pointer dereference in
mt76_connac_mcu_uni_add_dev()during Wi-Fi MAC reset, causing complete system lockup3 - MCU message timeouts —
Message 00020002 (seq N) timeoutentries indmesg, indicating firmware became unresponsive2 - System hangs — mutex deadlocks and processes stuck in D state (uninterruptible sleep) during suspend/resume or network switching4
- Poor throughput — speeds an order of magnitude lower than expected (15–80 Mbit/s vs 200+ Mbit/s), significantly worse than Intel cards in identical conditions12
- No Wi-Fi adapter found after kernel update —
mt7925emodule missing or failing to load in some kernel versions (e.g., 6.18.3 regression)5 - Connection failures after suspend — Wi-Fi non-functional after resume, requiring reboot or module reload6
Affected Models
- Framework Laptop 13 (AMD Ryzen AI 300 Series) — ships with MT79251
- Framework Laptop 16 (AMD 7040 Series) — compatible with MT79257
- Framework Desktop (AMD Ryzen AI Max 300 Series) — ships with MT79253
Root Cause
The issues are a combination of Linux kernel driver bugs and MediaTek firmware problems:
Driver bugs (kernel-side):
- NULL pointer dereference in
mt76_connac_mcu_uni_add_dev()during Wi-Fi reset workflow — the driver iterates interfaces during MAC reset without checking for torn-down links3 - Missing mutex protection in the reset path, causing race conditions that lead to system deadlocks2
- Broken MLO (Multi-Link Operation) group key removal — returns
-EINVALinstead of handling already-torn-down links, cascading into firmware hangs2 - Double
wcidinitialization race condition4
Firmware issues (MediaTek-side):
- Firmware state machine corruption during WiFi 7 MLO roaming, causing MCU command timeouts2
- Aggressive power management causing suspend failures — firmware sends unnecessary ACK events that can get stuck due to timing issues6
- Poor rate control and MIMO implementation, resulting in significantly lower throughput than competing cards2
Diagnosis
-
Check for driver errors in kernel log:
dmesg | grep -i mt7925Look for
Message timeout,ASIC revision, and firmware version lines1. -
Verify kernel version — the driver requires kernel 6.7+ for basic support, but many fixes only landed in 6.17+4:
uname -r -
Check firmware files exist:
ls -la /lib/firmware/mediatek/mt7925/ -
Monitor for deauth cycles in real time:
dmesg -w | grep -E '(deauth|assoc|mt7925)' -
Test throughput with
iperf3against a wired server to quantify the performance gap1.
Workarounds & Fixes
| Solution | Effectiveness | Notes |
|---|---|---|
| Set regulatory domain1 | Improves speed | Install wireless-regdb, set WIRELESS_REGDOM to your country code in /etc/conf.d/wireless-regdom |
| Disable power save2 | Partial | iw dev wlan0 set power_save off or add options mt7925e power_save=0 to modprobe config |
| Install DKMS patches (zbowling)4 | Fixes panics & deadlocks | github.com/zbowling/mt7925 — fixes NULL deref, mutex, MLO bugs; requires kernel 6.17+ |
| Install mt7925-wifi-patches (burakgon)8 | Improves stability | github.com/burakgon/mt7925-wifi-patches — builds latest wireless-next drivers, disables ASPM and power save |
| Disable 802.11ax (HE)1 | May reduce disconnects | Add DisableHE=true in /etc/iwd/main.conf if using iwd |
| Disable 6 GHz / MLO on AP2 | Reduces firmware hangs | Avoid WiFi 7 MLO roaming triggers if your AP supports it |
| Replace with Intel AX210910 | Resolves all issues | AX210.NGWG.NV (non-vPro) confirmed working on AMD Framework models; ~$20 |
Resolution
Patches for the kernel driver bugs have been submitted upstream to the linux-wireless mailing list and the OpenWrt mt76 staging tree24. A DKMS package by Zac Bowling (mt76-mt7925-dkms) provides these fixes as a drop-in replacement for stock kernel modules on kernel 6.17+4. An alternative patch set by burakgon builds the latest wireless-next tree drivers automatically8.
Firmware-level issues (throughput degradation, some MLO roaming failures) cannot be fixed from the kernel side and require updates from MediaTek2.
For users unwilling to apply patches, replacing the MT7925 with an Intel AX210 (non-vPro) card resolves all driver-related issues. Framework's Linux support lead confirmed the AX210 works on AMD Framework models, though it is not "officially" supported10. The card uses a standard M.2 2230 interface and can be swapped using Framework's WiFi Replacement Guide11.
Related
- MT7925 WiFi Driver Fixes — DKMS Package — Framework Community
- Known Issues — zbowling/mt7925 — detailed issue tracker
- Ubuntu Bug #2137291 — kernel panic report
- NixOS #477924 — kernel 6.18.3 driver missing
- WiFi Replacement Guide — Framework Guides