Hi,
I''m reporting a severe reliability bug in mt7921e (MediaTek MT7922,
AMD RZ616)
on kernel 7.0.0-30-generic (Ubuntu 26.04). I have not seen this
exact failure
mode reported to this list; a similar report exists only in a distro
tracker
(Red Hat Bugzilla #2459017, "Severe download speed degradation until
reboot or
driver reload", status NEW since April 2026, apparently never
forwarded here).
== HARDWARE / SOFTWARE ==
- WiFi: MediaTek MT7922 [14c3:7922], AzureWave subsystem
[1a3b:5911], PCIe
- Driver: mt7921e (in-tree mt76), kernel 7.0.0-30-generic
- Firmware tested BOTH: build 20260224103233 AND build
20260724143402
(latest from linux-firmware as of Aug 2026) — bug identical on both
- APs tested: TP-Link Deco M4R (802.11ac, WPA2) and Pixel 8 Pro
hotspot
- Control machine: same location, same APs, same peer device, same
apps —
laptop with Intel WiFi (iwlwifi): ZERO issues ever
== SYMPTOM ==
Any sustained bulk transfer (KDE Connect file send ~100MB, adb
wireless
install, plain TCP file share) stalls partway (typically 10–70%) and
the
application eventually times out and fails. Happens on multiple
apps, so it
is not app-specific. Interactivity (ICMP, small traffic, internet
speedtests)
remains perfect throughout the stalls.
Critical detail: PHONE→LAPTOP direction works 100%. Only
LAPTOP→PHONE
(bulk TX toward the AP) triggers it. On the Intel laptop both
directions
work flawlessly on the identical network.
== EVIDENCE ==
1) TX retry explosion + rate collapse during stalls (iw station
dump):
- tx retries: 208,941 → 247,117 within minutes of transfer attempts
- tx bitrate collapses 866.7 MBit/s (VHT-MCS 9, 80MHz, NSS2)
→ 121.5 MBit/s (VHT-MCS 6, 40MHz, NSS1) mid-stall
- signal: -51 to -58 dBm (excellent, so not RF)
2) Beacon-loss storms correlated with stalls (wpa_supplicant):
- 3,934 CTRL-EVENT-BEACON-LOSS events in one afternoon, including
25+ seconds of continuous beacon loss (12:15:35–12:15:59)
- card stops hearing the AP entirely while gateway ICMP stays 4–8ms
in adjacent windows
3) Socket-level capture during a stall (ss -tnie, 2s sampling):
- transfer socket frozen: receive queue stuck at exactly 2,122,768
bytes for 70+ seconds; kernel buffers full, application wedged
- during the same window: ping to peer 5–9ms, ping to gateway 3–5ms,
zero beacon loss, healthy tx rate — network provably clean while
the transfer is dead
4) Recovery: ONLY a driver reload recovers the link
(modprobe -r mt7921e && modprobe mt7921e). After reload,
transfers
work again — sometimes for minutes, sometimes hours — then degrade
again under bulk TX. This is 100% reproducible.
== RULED OUT ==
- PCIe ASPM L1 (disable_aspm=Y applied; latency spikes fixed, stalls
remain)
- NM/wpa_supplicant power save (power_save off; stalls remain)
- Chip deep-sleep + runtime-pm (debugfs flags toggled; no effect on
stalls)
- TX pacing/burstiness (tc tbf 30mbit +
tcp_limit_output_bytes=128KB; stalls)
- RTS/CTS (rts 512; stalls)
- AP firmware (TP-Link Deco updated 1.5.0→1.6.1; stalls)
- WiFi firmware (two builds tested as above; stalls on both)
- Peer device power management (fails with peer screen on, app
foreground)
- Roaming (BSSID pinned; stalls)
The trigger is specifically SUSTAINED BULK TX from the MT7922.
RX-heavy
loads (internet downloads at full speed) do NOT trigger it. This
smells
like a TX path / aggregation state issue in the driver or firmware
(A-MPDU/B-A session state?) that progressively wedges the MAC until
reset.
Kernel log during one storm:
[134991.282223] mt7921e 0000:63:00.0: disabling ASPM L1
(no firmware crash lines, no page_pool errors, no other warnings)
Happy to provide full logs (iw dumps, ss captures, journalctl
excerpts,
ping timelines) on request, or to test patches on this hardware.
Regards,