mt7921e (MT7922): firmware stops transmitting after 802.11v BTM roam, scans hang, only module reload recovers
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- c, linux
- Domain
- networking, operating-systems
Research direction
Start by tracing the mt7921e firmware and scan handling around the reported BTM roam, using the kernel logs in the issue and the related issue #1110 as clues. Reproduce with the reported MT7922, kernel and access point setup, then enable fw_debug as the reporter offers. Done means identifying and fixing the hang so scans and authentication recover after a failed roam without reloading the module.
Written by the indexing model from the issue text.
Description
Hardware / software
- MT7922
[14c3:7922], subsystem AzureWave[1a3b:5911], drivermt7921e - Kernel
7.3.0-5-cachyos - FW:
HW/SW Version: 0x8a108a10, Build Time: 20260724143257a/WM Firmware Build Time: 20260724143402 - NetworkManager 1.58.1 + wpa_supplicant,
disable_aspm=N, power save off - AP: FRITZ!Box 5690 mesh, 3 APs, all on 5 GHz ch 100 (5500 MHz, DFS), WPA2/CCMP
Description
While connected, the AP sent a BSS Transition Management request (WNM: Preferred List Available) and wpa_supplicant roamed to a weaker AP.
Authentication timed out there, and then it also timed out on every other AP, including the one the card had just left (94% signal).
After that, scans never complete (Reject scan trigger since one is already pending). The driver logs no MCU timeout, error or reset.
Turning the WiFi radio off and on (rfkill) and restarting NetworkManager do not help.
modprobe -r mt7921e && modprobe mt7921e recovers it immediately.
No suspend/resume was involved. The end state looks like #1110 (silent firmware hang, stuck scan, module reload fixes it), but here the trigger is a roam, and the firmware is newer.
Earlier BTM roams on previous boots succeeded, so this is intermittent. A second roam about a minute after the reload also failed on the target AP, but that time the card recovered by itself.
Logs
18:24:14.850 wpa_supplicant: wlan0: WNM: Preferred List Available
18:24:15.159 wpa_supplicant: wlan0: SME: Trying to authenticate with 02:7a:a4:9a:bd:80 (SSID='FRITZ!Box 5690 LA' freq=5500 MHz)
18:24:15.218 kernel: wlan0: disconnect from AP 02:7a:a4:74:38:41 for new auth to 02:7a:a4:9a:bd:80
18:24:16.483 kernel: wlan0: authenticate with 02:7a:a4:9a:bd:80 (local address=xyz)
18:24:16.497 kernel: wlan0: send auth to 02:7a:a4:9a:bd:80 (try 1/3)
18:24:16.711 kernel: wlan0: send auth to 02:7a:a4:9a:bd:80 (try 3/3)
18:24:16.812 kernel: wlan0: authentication with 02:7a:a4:9a:bd:80 timed out
18:24:16.894 kernel: wlan0: authenticate with 02:7a:a4:74:38:41 (local address=xyz)
18:24:16.896 kernel: wlan0: send auth to 02:7a:a4:74:38:41 (try 1/3)
18:24:17.119 kernel: wlan0: send auth to 02:7a:a4:74:38:41 (try 3/3)
18:24:17.228 kernel: wlan0: authentication with 02:7a:a4:74:38:41 timed out
18:24:17.318 kernel: wlan0: authenticate with 02:7a:a4:73:fa:71 (local address=xyz)
18:24:17.321 kernel: wlan0: send auth to 02:7a:a4:73:fa:71 (try 1/3)
18:24:21.345 kernel: wlan0: send auth to 02:7a:a4:73:fa:71 (try 3/3)
18:24:22.326 kernel: wlan0: aborting authentication with 02:7a:a4:73:fa:71 by local choice (Reason: 3=DEAUTH_LEAVING)
18:24:25.594 kernel: wlan0: authenticate with 02:7a:a4:73:fa:71 (local address=xyz)
18:24:25.609 kernel: wlan0: send auth to 02:7a:a4:73:fa:71 (try 1/3)
18:24:30.612 kernel: wlan0: aborting authentication with 02:7a:a4:73:fa:71 by local choice (Reason: 3=DEAUTH_LEAVING)
18:24:38.020 NetworkManager: device (wlan0): link timed out.
18:24:38.086 wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid=02:7a:a4:73:fa:71 reason=3 locally_generated=1
18:24:41.669 wpa_supplicant: wlan0: Reject scan trigger since one is already pending
18:25:21.893 wpa_supplicant: wlan0: Reject scan trigger since one is already pending
-- rfkill off/on (18:25:36) and NetworkManager restart (18:26:57): no change --
18:28:28.326 kernel: mt7921e 0000:02:00.0: ASIC revision: 79220010 <- modprobe -r/modprobe mt7921e
18:28:28.435 kernel: mt7921e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20260724143402
18:28:33.606 kernel: wlan0: authenticated
18:28:33.658 kernel: wlan0: associated
Full journal available on request. I can test patches or enable fw_debug if that helps.
- Dominant language
- C
- Stars
- 895
- Forks
- 461
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openwrt/mt76
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
MT76xx - WLAN leds doesn't work with the testing kernelMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
mt7925: Netgear A8000 (0846:9072) reports hw_path without WF0_5G, so 5 GHz band is never registeredOpen
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 4/5 3-5 days Newbie friendliness 22/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
SPIDevice selects an active-high device as soon as it is createdPossibly taken @mikeysklar claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
adafruit/circuitpython#11869 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
gnif/LookingGlass#1352 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100