fix(wifi): add reconnect watchdog for brcmfmac roam/SAE wedge - #9
Merged
Conversation
Power save (fixed in #8) was not the only WiFi drop. On a WPA2/WPA3- transition, band-steering AP (one SSID, several BSSIDs across 2.4/5 GHz), NetworkManager's background scan roams to another BSSID and brcmfmac fails SAE external auth on the transition BSSID (kernel: brcmf_cfg80211_external_ auth: External authentication failed: status=1). The link then dies -- or stays "connected" while passing no traffic -- until a manual nmcli reconnect. Verified on hardware; power_save was already off. Install a WiFi recovery watchdog (customize.sh): /usr/local/sbin/uconsole-wifi-watchdog driven by uconsole-wifi-watchdog.timer (every 30s). If wlan0 is disconnected, or connected but the default gateway is unreachable across two probes, it forces a NetworkManager reconnect. It only acts when an autoconnect wifi profile exists (never fights a deliberate disconnect) and uses only NetworkManager + iproute2 + iputils (all in base). Document both drop causes and the per-device 5 GHz band-pin mitigation in MAINTAINING (EN/JA). The band pin is network-specific, so it stays a device tweak, not an image default. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Power save (fixed in #8) was not the only WiFi drop. On a WPA2/WPA3-transition, band-steering AP (one SSID, several BSSIDs across 2.4/5 GHz), NetworkManager's background scan (
bgscan simple:30:-65:300) roams to another BSSID andbrcmfmacfails SAE external auth on the transition BSSID:The link then dies — or stays
connectedwhile passing no traffic — until a manualnmclireconnect. Verified on hardware;power_savewas alreadyoff, so this is a distinct bug from #8.Fix
WiFi recovery watchdog (
scripts/customize.sh):/usr/local/sbin/uconsole-wifi-watchdogdriven byuconsole-wifi-watchdog.timer(every 30 s).wlan0isdisconnected, orconnectedbut the default gateway is unreachable across two probes, it forces a NetworkManager reconnect.journalctl -t uconsole-wifi-watchdog.Docs (
MAINTAINING.md/MAINTAINING.ja.md): restructure the WiFi section into Cause 1 — power save / Cause 2 — failed roam, and document the per-device 5 GHz band-pin mitigation (nmcli con modify <SSID> 802-11-wireless.band a). The band pin is network-specific, so it stays a device tweak, not an image default.Verification
power_save: offconfirmed (fix(wifi): disable brcmfmac power save to prevent occasional drops #8 working),-57 dBm/ 5 GHz / 433 Mbit healthy link, singleexternal_auth failed: status=1correlating with a manual reconnect.bash -nclean; live dry-run is a clean no-op (exit 0) while connected + gateway reachable; deployed live and running every 30 s (Result=success, no-op = no log, as designed).🤖 Generated with Claude Code