[Pi Zero 2 W] Wi-Fi disassociates and reconnects exactly every 60 seconds
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- linux, raspberry-pi
- Domain
- networking
Research direction
Start by reproducing the 60-second cycle with the Raspberry Pi Zero 2 W, OpenWrt hostapd logs, and the listed NetworkManager, wpa_supplicant, and brcmfmac settings. Compare the behavior across the latest firmware and the documented workarounds to identify whether the reset originates in the host software or firmware; done means explaining the responsible layer and preventing the recurring disassociation.
Written by the indexing model from the issue text.
Description
Description
I am experiencing a very specific and consistent Wi-Fi issue with the Raspberry Pi Zero 2 W. The device drops the Wi-Fi connection and immediately reconnects exactly every 60-61 seconds.
Because the reconnection takes only about 1-2 seconds, TCP connections (like SSH) usually survive and just "freeze" for a moment. However, analyzing the Access Point logs reveals a continuous, endless loop of disassociated -> authenticated -> associated -> connected occurring every minute.
Prior to updating firmware-brcm80211 to the latest 2025 build, the AP was kicking the Pi due to inactivity (deauthenticated due to inactivity (timer DEAUTH/REMOVE)). With the latest firmware, the AP no longer kicks the Pi out, but the Pi itself still actively triggers a disassociation every 60 seconds.
Environment
- Hardware: Raspberry Pi Zero 2 W
- Wi-Fi Chip: BCM43430/SYN43436 (brcmfmac)
- OS: Raspberry Pi OS (Latest updates applied)
- Access Point: OpenWrt (hostapd)
- Network config: WPA2 (also tested with PMF and IPv6 completely disabled in NetworkManager)
AP Logs (OpenWrt hostapd)
Here is the exact cycle from my router's perspective. Notice the timestamps:
[20:12:22 UTC] daemon.notice: hostapd: phy0-ap0: AP-STA-DISCONNECTED 88:a2:9e:07:a6:7f
[20:12:22 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: disassociated
[20:12:22 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: authenticated
[20:12:22 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: associated (aid 1)
[20:12:23 UTC] daemon.notice: hostapd: phy0-ap0: AP-STA-CONNECTED 88:a2:9e:07:a6:7f auth_alg=open
[20:12:23 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f WPA: pairwise key handshake completed (RSN)
[20:12:25 UTC] daemon.info: dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.104 88:a2:9e:07:a6:7f rpizerow
... exactly 60 seconds later ...
[20:13:23 UTC] daemon.notice: hostapd: phy0-ap0: AP-STA-DISCONNECTED 88:a2:9e:07:a6:7f
[20:13:23 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: disassociated
[20:13:24 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: authenticated
[20:13:24 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f IEEE 802.11: associated (aid 1)
[20:13:24 UTC] daemon.notice: hostapd: phy0-ap0: AP-STA-CONNECTED 88:a2:9e:07:a6:7f auth_alg=open
[20:13:24 UTC] daemon.info: hostapd: phy0-ap0: STA 88:a2:9e:07:a6:7f WPA: pairwise key handshake completed (RSN)
[20:13:26 UTC] daemon.info: dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.104 88:a2:9e:07:a6:7f rpizerow
Attempts to resolve (Workarounds checked)
I have tried the typical community workarounds, but none of them stopped the 60-second cycle:
- Disabled Wi-Fi power saving (
wifi.powersave=2in NetworkManager). - Disabled background scanning (
wifi.bgscan=nonein NetworkManager). - Disabled MAC randomization.
- Set explicit regulatory domain via
crda/wpa_supplicant. - Disabled Bluetooth entirely (
dtoverlay=disable-btin/boot/firmware/config.txt). - Configured module parameters in
/etc/modprobe.d/brcmfmac.conf:
options brcmfmac roamoff=1 fcmode=0 feature_disable=0x282000
Expected Behavior
The device should remain successfully authenticated and associated with the Access Point indefinitely without resetting the interface once per minute.
Actual Behavior
The Pi actively disassociates and instantly reassociates every ~60 seconds, which points towards a hardcoded timer either in wpa_supplicant, NetworkManager, or deep within the closed-source brcmfmac firmware blob (related to periodic scanning, keep-alives or hardware watchdogs, or GTK rekey failures).
- Dominant language
- No language data
- Stars
- 5.6k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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 raspberrypi/firmware
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
raspberrypi/firmware#2042 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
raspberrypi/firmware#2040 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
raspberrypi/firmware#2039 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
raspberrypi/firmware#2038 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
raspberrypi/firmware#2037 · 4 comments ·
All issues in raspberrypi/firmware
Similar issues
-
kind/bug Ubuntu 24
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
kubernetes-sigs/kubespray#13532 ·
-
language/en needs-triage sig/network
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kubernetes/website#57642 · 1 comment ·
-
app.loanspq.com OpenN: AdGuard DNS P3: Medium T: Incorrect Blocking
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AdguardTeam/AdguardFilters#242018 ·
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
daeuniverse/dae#1116 · 1 comment ·