Skip to content

fix(wifi): disable brcmfmac power save to prevent occasional drops - #8

Merged
fabiiw05 merged 1 commit into
mainfrom
fix/wifi-powersave
Jul 22, 2026
Merged

fix(wifi): disable brcmfmac power save to prevent occasional drops#8
fabiiw05 merged 1 commit into
mainfrom
fix/wifi-powersave

Conversation

@fabiiw05

Copy link
Copy Markdown
Owner

Summary

WiFi on the uConsole (CM4, brcmfmac) occasionally dropped and required a manual nmcli reconnect.

  • Root cause: brcmfmac ships with power saving on (Power save: on). The chip occasionally sleeps and fails to recover; the journal shows Couldn't initialize supplicant interface: Name owner lost (verified on hardware).
  • Fix: ship /etc/NetworkManager/conf.d/wifi-powersave-off.conf (wifi.powersave=2) at image build time so power save is disabled for all connections, current and future.
  • Docs: added symptom / root cause / on-device fix to MAINTAINING.md and MAINTAINING.ja.md.

Verification

  • bash -n scripts/customize.sh passes
  • On hardware: iw dev wlan0 set power_save off + the NM config file applied; iw dev wlan0 get power_save reports off and survives NM restart
  • On-hardware re-verification with a freshly built image (next full build)

The brcmfmac driver (CM4 onboard WiFi) ships with power saving on; the
chip occasionally sleeps and fails to recover, requiring a manual
nmcli reconnect (verified on hardware: 'Power save: on', journal shows
'Couldn't initialize supplicant interface: Name owner lost').

Ship /etc/NetworkManager/conf.d/wifi-powersave-off.conf
(wifi.powersave=2) in the image so all connections have power save
disabled, and document the symptom/root cause/fix in MAINTAINING.
@fabiiw05
fabiiw05 merged commit d471f09 into main Jul 22, 2026
2 checks passed
@fabiiw05
fabiiw05 deleted the fix/wifi-powersave branch July 22, 2026 22:18
fabiiw05 added a commit that referenced this pull request Jul 25, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant