Description
Describe the bug
I have Pi Zero 2 W on which I run an audio distribution (https://moodeaudio.org) to play music using AirPlay over Wifi to an attached speaker. The Pi is equipped with HifiBerry DAC+ Zero audio HAT. Other than that no further things attached.
This whole system has been running without issues for years with Bullseye based versions of the distribution. However, since I upgraded to Bookworm based versions I experience severe issues.
They manifest in audio dropouts, lots of errors in dmesg, failed pings when the dropouts occur, and once I noticed a firmware crash. After what I've read so far, it seems to be somehow Wifi related.
The interesting thing is: when I switch back to an older Bullseye based version, everything is fine again!
So I'd also rule out any hardware damage, that just coincidentally happened. Or general wifi issue with my access point (Ubiquiti AC Pro). (well, or if there is, previous versions could cope with it...)
Brcm firmware versions are identical! So there must be something else different between distribution versions...
What I tried so far:
I tried stressing Wifi using SCP, SMB, iperf3. But none of this triggers the errors in dmesg.
I tried over_voltage=2 (verified it's applied). Did not help.
I compared firmware versions of /lib/firmware/brcm/brcmfmac43436-sdio.bin, but they are identical.
I tried a more powerful power supply. Did not help.
Temperature is in both cases around 42°C, identical.
I downgraded to the earlier shairport-sync version, just to rule that out, no change.
To reproduce
https://github.com/moode-player/moode/releases
Install a release >=9.x; play music via AirPlay; errors appear
Install a release <9.x; play music via AirPlay; everything is great
Expected behaviour
- flawless AirPlay playback without drop outs
- no errors in dmesg
- no dropped pings
Actual behaviour
- dropouts while AirPlay is playing (via shairport-sync)
- errors in dmesg while playing
- when dropouts occur also pings at the system fail
- system eventually recovers after up to a few seconds
System
- Which model of Raspberry Pi? e.g. Pi3B+, PiZeroW
Raspberry Pi Zero 2 W Rev 1.0
- Which OS and version (
cat /etc/rpi-issue
)?
Raspberry Pi reference 2025-03-21
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 6fb311e7fb57b4e7980ae3270c25b569b19dfe8f, stage3
- Which firmware version (
vcgencmd version
)?
Feb 17 2025 20:04:08
Copyright (c) 2012 Broadcom
version da7125f985dfe3cb0cf91e3c47f1ace88018e466 (clean) (release) (start)
- Which kernel version (
uname -a
)?
Linux moode 6.6.74+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux
- raspinfo output:
Logs
These are the different kinds of errors I see repeatedly:
[Mon Apr 7 21:06:08 2025] mmc1: Controller never released inhibit bit(s).
[Mon Apr 7 21:06:08 2025] brcmfmac: brcmf_sdio_readframes: read 1161 bytes from channel 2 failed: -5
[Mon Apr 7 21:06:08 2025] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
[Thu Apr 3 20:35:25 2025] mmc1: Controller never released inhibit bit(s).
[Thu Apr 3 20:35:25 2025] brcmfmac: mmc_submit_one: CMD53 sg block read failed -5
[Thu Apr 3 20:35:25 2025] brcmfmac: brcmf_sdio_rxglom: glom read of 2048 bytes failed: -5
[Thu Apr 3 20:35:25 2025] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
[Thu Apr 3 20:44:04 2025] mmc1: Controller never released inhibit bit(s).
[Thu Apr 3 20:44:04 2025] brcmfmac: brcmf_sdio_readframes: read 1181 bytes from channel 2 failed: -5
[Thu Apr 3 20:44:04 2025] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
[Thu Apr 3 20:44:04 2025] brcmfmac: brcmf_sdio_readframes: brcmf_sdio_readframes: glom superframe w/o descriptor!
[Thu Apr 3 20:44:04 2025] brcmfmac: brcmf_sdio_rxfail: terminate frame
[Mon Apr 7 22:41:46 2025] mmc1: Got command interrupt 0x00000001 even though no command operation was in progress.