Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: Airplay crashes frequently since moOde 9.x
#1
Hello everybody,

I use the moode Airplay service with Apple Podcasts or Spotify very often, it works for many year rock solid without any problems.

Since I updated moode to version 9.x, the Airplay streams continued to fail. Playback stops at irregular intervals after an indefinite period of time (0.5 h, 1.5 h or 3 h). After the playback has stopped  the Airplay service and also the moode player's web server will then no longer be accessible. Ultimately, the Raspberry Pi has to be restarted via a hardware reset because the device can no longer be reached via the network (WLAN).

I suspect the problem is caused by the Linux kernel, but I don't know where exactly to look for or what settings I could improve.

I have attached the current Airplay settings, the Airplay debug file and the system setup.

Any hints would be appreciated. Smile

System setup: moOde release 9.2.1, Linux kernel 6.6.62 64-bit, Pi-3B+ 1.3 1GB, HiFiBerry DAC+ Pro

Airplay Settings:
   

Content of "moode_shairport-sync.log":
Code:
[quote]
         0.000010208 "shairport.c:2566" loudness is 0.
         0.000009480 "shairport.c:2567" loudness reference level is -20.000000
         0.000377448 "rtsp.c:4186" metadata pipe name is "/tmp/shairport-sync-metadata".
         0.010033489 "shairport.c:2694" NQPTP is online.
         0.024834375 "dbus-service.c:610" >> setting loudness threshold to -20.000000.
         0.000119011 "dbus-service.c:623" >> setting drift tolerance to 0.002000 seconds.
         0.000058645 "dbus-service.c:1025" >> ALACDecoder set to "hammerton"
         0.000033646 "dbus-service.c:1030" >> Active set to "false"
         0.000028438 "dbus-service.c:1043" >> disable standby mode set to "auto"
         0.000026614 "dbus-service.c:1059" >> interpolation set to "soxr"
         0.000034896 "dbus-service.c:518" >> deactivating disable standby
         0.000023177 "dbus-service.c:600" >> deactivating loudness
         0.000022031 "dbus-service.c:534" >> deactivating convolution
         0.000108178 "dbus-service.c:503" >> log verbosity set to 1.
         0.000025052 "dbus-service.c:488" >> stop logging statistics
         0.000022291 "dbus-service.c:448" >> stop including elapsed time in logs
         0.000024219 "dbus-service.c:458" >> start including delta time in logs
         0.000024010 "dbus-service.c:471" >> start including file and line in logs
         0.000064844 "dbus-service.c:1175" Shairport Sync native D-Bus service started at "org.gnome.ShairportSync" on >         0.000966823 "mpris-service.c:342" MPRIS service started at "org.mpris.MediaPlayer2.ShairportSync" on the syste>       969.498267026 "rtsp.c:2910" Connection 1: AP2 PTP connection from fdbb:c7c4:4c6f:0:181d:dc32:3503:b064:50795 ("i>        22.514839158 "rtsp.c:3267" Connection 1: SETUP AP2 no Active-Remote information  the SETUP Record.
         0.000078021 "rtsp.c:3286" Connection 1: SETUP AP2 doesn't include DACP-ID string information.
Event: Run spspre.sh
Event: Run spspost.sh
[/quote]

Details of system setup:
Code:
AirPlay
Settings
Interpolation
Bit depth
Sample rate
Session interrupt
Session timeout
Latency offset
Buffer length
System information

        
H A R D W A R E   A N D   O S

moOde release        = 9.2.1 2024-12-30
RaspiOS            = 12.8 Bookworm 64-bit
Linux kernel        = 6.6.62 64-bit
Pi model        = Pi-3B+ 1.3 1GB
Architecture        = aarch64 (64-bit)
Home directory        = /home/pi
System uptime        = up 3 hours, 32 minutes
Timezone        = Europe/Berlin
Current time        = 2025-01-05 16:00:28

Host name        = moode
Ethernet address    = unassigned
Ethernet MAC        = b8:27:eb:52:41:fe
WLAN address        = 192.168.1.29
WLAN MAC        = b8:27:eb:07:14:ab
WLAN country        = DE
WLAN AP SSID        = Moode
WLAN AP addr        = 172.24.1.1/24

SoC identifier        = bcm2837
Core count        = 4
Kernel timer freq    = 250 Hz
Warranty        = OK

RootFS size        = 13.7G
RootFS used        = 3.4G
RootFS available    = 9.5G
Memory total        = 928 MB
Memory free        = 642 MB
Memory used        = 286 MB
SoC temperature        = 55.8°C
Throttled bitmask    = 0x0
Throttled text        = No throttling has occurred

Worker responsiveness    = Default
CPU governor        = ondemand
PCI express        = Off
Reduce power        = Off (Pi-5 only)
Fan control        = 50,45,75 (Pi-5 only)
Pi integrated WiFi    = On
Pi integrated BT    = Off
HDMI output        = On
LED state        = 1,0
IP addr timeout        = 90 (secs)
Ethernet check        = No
HTTPS mode        = Off
SSH term server        = Off
Log to RAM        = on

SMB file sharing    = Off
NFS file sharing    = Off
NFS access        =
NFS options        = rw,sync,no_subtree_check,no_root_squash

PHP-FPM version        = 8.2.26
NGINX version        = 1.22.1
SQLite3 version        = 3.40.1
Python version        = 3.11.2
Nodejs version        = Not installed
PyLGPIO version        = 0.2.2

A U D I O   C O N F I G U R A T I O N

Audio device        = HiFiBerry DAC+ Pro
Mixer name        = Digital
Hardware mixer        = Yes
Supported formats    = Device is busy, unable to detect formats
ALSA max volume        = 100
ALSA output mode    = Default (plughw)
ALSA loopback        = Off
MPD max volume        = 100
Volume step limit    = 10
Display dB volume    = Off
Audio source        = Local
Output device        = Local
Resume MPD        = No
Volume knob        = 100
Volume mute        = Unmuted
Saved MPD vol        = -1
Preamp volume        = 0
ALSA version        = 1.2.8-1+rpt1
SoX version        = 0.1.3-4
CDSP verion        = 2.0.1

Bluetooth controller    = Off
AirPlay receiver    = On
Spotify Connect        = On
Deezer Connect        = Off
Squeezelite        = Off
UPnP client        = On
DLNA server        = Off
Plexamp            = Not installed
RoonBridge        = Not installed
GPIO button handler    = Off
Multiroom sender    = Off
Multiroom receiver    = Disabled
Receiver hosts        = -1
Receiver addrs        = -1

Auto-shuffle        = Off
Ashuffle mode        = Track
Ashuffle window        = 7
Ashuffle filter        = None
Ashuffle exclude    = None
Autoplay        = Off
Rotary encoder        = Off
Encoder params        = 100 2 3 23 24
USB volume knob        = Off
Polarity inversion    = Off
Crossfeed        = Off
Crossfade        = Off
Parametric EQ        = Off
Graphic EQ        = Off
CamillaDSP        = off
CamillaDSP volsync    = Off
MPD httpd        = Off
Ignore CUE files    = Yes

P R E F E R E N C E S

Appearance
----------------------
Theme            = Default
Accent color        = Carrot
Alpha blend        = 0.55
Background image    = Yes
Cover backdrop        = No
Cover blur        = 20px
Cover scale        = 1.25
Renderer backdrop    = Yes
Font size        = Normal
Native lazyload        = Yes

Playback
----------------------
Show Queue thumbs    = Yes
Show Now-playing icon    = Waveform
Show CoverView playbar    = Yes
Show extra metadata    = album,genre,track,disc,date,composer,conductor,performer,encoded
Search site        = Google
Playback history log    = No

Library
----------------------
One touch album        = Play
One touch radio        = Play
One touch playlist    = No action
One touch ralbum    = No action
Albumview sort order    = by Artist
Tagview sort order    = by Artist
Track play        = Track
Recently added        = 1 Month
Show sample rate    = No
Cover search pri    = Embedded cover
Pixel ratio        = 1
Thumbgen scan fmts    = Default
Thumbnail resolution    = Auto
Thumbnail columns    = 6/2 (Default)

Library (Advanced)
----------------------
Tag view genre        = Genre
Tag view artist        = Artist
Album key        = Album@Artist (Default)
Include comment tag    = No
Library filter        = full_lib
Library filter str    =
Ignore articles        = a,an,the
Show tagview genres    = Yes
Show tagview covers    = Yes
Ellipsis limited text    = No
UTF8 character filter    = No

CoverView
----------------------
Timed display        = Never
MPD override        = No
Automatic display    = Off
Backdrop style        = Theme
Display mode        = Cover
Layout            = Default
Extra metadata        = No

R A D I O   M A N A G E R

Sort tag        = Name
Group method        = Favorites first
Show moOde stations    = No action
Show other stations    = No action
Stream monitor        = Off

P L A Y L I S T   M A N A G E R

Sort tag        = Name
Group method        = No grouping

M P D

Version            = 0.23.14
Volume type        = hardware
SoX resampling        = disabled
Selective resampling    = disabled
SoX quality        = high
SoX multithreading    = off
DSD over PCM (DoP)    = no
Replaygain        = off
Replaygain preamp    = 0
Volume normalization    = no
Audio buffer        = 4 (MB)
Output buffer size    = 128 (MB)
Max playlist items    = 16384
Input cache        = Disabled
Device buffer        = 500 (ms)
Device period        = 125 (ms)

B L U E T O O T H

Version            = 5.66
Bluealsa        = v4.2.0
Pi-Bluetooth        = 0.1.20
Pairing agent        = 2.0 (bluez-tools)
PIN code        = None
ALSA max volume        = 100%
CDSP max volume        = 0 dB
Resume MPD        = No
PCM buffer time        = 500000 (µs)
ALSA output mode    = Default (_audioout)

A I R P L A Y

Version            = 4.3.5
Friendly name        = Moode Airplay
Interpolation        = soxr
Output bit depth    = S16
Output sample rate    = 44100
Session interruption    = yes
Session timeout        = 120 (ms)
Latency offset        = 0.0 (secs)
Audio buffer        = 2.0 (secs)
Resume MPD        = No

S P O T I F Y   C O N N E C T

Version            = 0.6.0
Friendly name        = Moode Spotify
Bitrate (kbps)        = 160
Format            = S16
Dither            = Automatic (Default)
Volume curve        = log
Volume range (dB)    = 60
Initial volume (%)    = 0
Volume normalization    = No
Method            = dynamic
Gain type        = auto
Pregain (dB)        = 0
Threshold (dBFS)    = -2
Attack (ms)        = 5
Release (ms)        = 100
Knee            = 1
Autoplay        = No
Zeroconf Port        = Random
Resume MPD        = No

D E E Z E R   C O N N E C T

Version            = 0.7.0
Friendly name        = moOde Deezer
Resume MPD        = No

S Q U E E Z E L I T E

Version            = 1.9.9-1449 "DSD/SRC enabled"
Friendly name        = Moode
ALSA device        = _audioout
ALSA params        = 80:4::1
Output buffers        = 40000:100000
Task priority        = 45
Codec list        = flac,pcm,mp3,ogg,aac,alac,dsd
Other options        = -W -D 500 -R E -S /var/local
Resume MPD        = No

L O C A L   D I S P L A Y

Chromium browser    = 126.0.6478.164-rpt1
Local UI display    = Off
Wake display on play    = Off
Mouse cursor        = On
On screen keyboard    = Enable
Screen blank        = 600 Secs
Disable GPU        = off
HDMI Orient        = landscape
HDMI CEC        = off
HDMI 4K 60Hz        = off
DSI Screentype        = none
DSI Port        = 1
DSI Brightness        = 255
DSI Rotate        = 0 Deg

M O O D E   S T A R T U P   L O G

20250104 224743 worker: --
20250104 224743 worker: -- Start moOde 9 series
20250104 224743 worker: --
20250104 224743 worker: Daemonize:     complete
20250104 224743 worker: Linux startup: complete
20250104 224743 worker: Boot config:   ok
20250104 224743 worker: Boot folder:   ok
20250104 224743 worker: Radio table:   ok
20250104 224743 DEBUG: openMpdSock(): Error: connection failed (1) 111, Connection refused
20250104 224743 DEBUG: openMpdSock(): Error: connection failed (1) 111, Connection refused
20250104 224743 DEBUG: getPlaylistMetadata(): File open failed on /var/lib/mpd/playlists/Default Playlist.m3u.dpkg-dist.m3u
20250104 224744 DEBUG: openMpdSock(): Error: connection failed (2) 111, Connection refused
20250104 224744 DEBUG: openMpdSock(): Error: connection failed (2) 111, Connection refused
20250104 224744 DEBUG: openMpdSock(): Error: connection failed (3) 111, Connection refused
20250104 224744 DEBUG: openMpdSock(): Error: connection failed (3) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (1) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (4) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (4) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (2) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (5) 111, Connection refused
20250104 224745 DEBUG: openMpdSock(): Error: connection failed (5) 111, Connection refused
20250104 224745 worker: PHP session:   cleaned
20250104 224745 DEBUG: phpSession(get_status): status=PHP_SESSION_NONE
20250104 224745 worker: PHP session:   loaded
20250104 224746 DEBUG: openMpdSock(): Error: connection failed (3) 111, Connection refused
20250104 224746 DEBUG: openMpdSock(): Error: connection failed (6) 111, Connection refused
20250104 224746 DEBUG: openMpdSock(): Error: connection failed (6) 111, Connection refused
20250104 224746 DEBUG: openMpdSock(): Error: connection failed (4) 111, Connection refused
20250104 224746 DEBUG: getMpdSock(): Connection to MPD failed
20250104 224746 DEBUG: getMpdSock(): Connection to MPD failed
20250104 224747 DEBUG: openMpdSock(): Error: connection failed (5) 111, Connection refused
20250104 224747 DEBUG: openMpdSock(): Error: connection failed (6) 111, Connection refused
20250104 224748 DEBUG: getMpdSock(): Connection to MPD failed
20250104 224749 worker: Package locks: applied
20250104 224750 worker: File check:    complete
20250104 224750 worker: Log to RAM:    on
20250104 224750 worker: Debug logging: on
20250104 224750 worker: --
20250104 224750 worker: -- System
20250104 224750 worker: --
20250104 224753 worker: Host name:     moode
20250104 224753 worker: RPi model:     Pi-3B+ 1.3 1GB
20250104 224753 worker: moOde release: 9.2.1 2024-12-30
20250104 224753 worker: RaspiOS:       12.8 Bookworm 64-bit
20250104 224753 worker: Linux Kernel:  6.6.62 64-bit
20250104 224753 worker: MPD version:   0.23.14
20250104 224753 worker: User id:       pi
20250104 224753 worker: Home folder:   /home/pi
20250104 224753 worker: Time zone:     Europe/Berlin
20250104 224753 worker: Kbd layout:    de
20250104 224753 worker: HDMI ports(s): on
20250104 224753 worker: HDMI-CEC:      off
20250104 224753 worker: Sys LED0:      on
20250104 224753 worker: Sys LED1:      off
20250104 224753 worker: Reduce power:  n/a
20250104 224753 worker: Fan control:   n/a
20250104 224753 worker: CPU governor:  ondemand
20250104 224753 worker: Integ audio:   vc4-kms-v3d
20250104 224753 worker: --
20250104 224753 worker: -- Network
20250104 224753 worker: --
20250104 224753 worker: Eth0
20250104 224753 worker: Ethernet: adapter exists
20250104 224753 worker: Ethernet: timeout off
20250104 224753 worker: Ethernet: address not assigned
20250104 224753 worker: Wlan0
20250104 224753 worker: Wireless: adapter exists
20250104 224753 worker: Wireless: country DE
20250104 224753 worker: Wireless: SSID    XXX
20250104 224753 worker: Wireless: other   None
20250104 224753 worker: Wireless: timeout up to 90 secs
20250104 224754 worker: Wireless: connect to XXX
20250104 224754 worker: Wireless: method  dhcp
20250104 224754 worker: Wireless: address 192.168.1.29
20250104 224754 worker: Wireless: netmask 255.255.255.0
20250104 224754 worker: Wireless: gateway 192.168.1.1
20250104 224754 worker: Wireless: pri DNS 192.168.1.1
20250104 224754 worker: Wireless: domain  XXX
20250104 224754 worker: --
20250104 224754 worker: -- File sharing
20250104 224754 worker: --
20250104 224754 worker: SMB file sharing:  off
20250104 224754 worker: SMB password:      none
20250104 224754 worker: NFS file sharing:  off
20250104 224754 worker: DLNA file sharing: off
20250104 224754 worker: --
20250104 224754 worker: -- Special configs
20250104 224754 worker: --
20250104 224754 worker: Plexamp:          not installed
20250104 224754 worker: RoonBridge:       not installed
20250104 224754 worker: Allo Boss 2:      not detected, OLED script ok
20250104 224754 worker: Allo Piano 2.1:   not detected
20250104 224754 worker: IQaudIO AMP*:     not detected
20250104 224754 worker: Bluetooth:        session vars ok
20250104 224754 worker: --
20250104 224754 worker: -- ALSA debug
20250104 224754 worker: --
20250104 224754 worker: Cards:  0:vc4hdmi         1:sndrpihifiberry 2:empty           3:empty          
20250104 224754 worker:         4:empty           5:empty           6:empty           7:empty          
20250104 224754 worker: Mixers: 0:none            1:(Digital)       2:none            3:none            
20250104 224754 worker:         4:none            5:none            6:none            7:none            
20250104 224754 worker: --
20250104 224754 worker: -- Audio configuration
20250104 224754 worker: --
20250104 224754 worker: Audio device:  1:HiFiBerry DAC+ Pro
20250104 224755 worker: ALSA card:     has not been reassigned
20250104 224755 worker: MPD config:    update not needed
20250104 224755 worker: ALSA output:   I2S
20250104 224755 worker: ALSA mode:     Default (plughw)
20250104 224755 worker: ALSA mixer:    Digital
20250104 224755 worker: ALSA volume:   0% (-99999.99dB)
20250104 224755 worker: ALSA maxvol:   100%
20250104 224755 worker: ALSA loopback: off
20250104 224755 worker: MPD mixer      Hardware
20250104 224755 worker: Audio formats: S16_LE, S24_LE, S32_LE
20250104 224755 worker: CamillaDSP:    off
20250104 224755 worker: CDSP volume:   0dB
20250104 224755 worker: CDSP volrange: 60dB
20250104 224755 worker: --
20250104 224755 worker: -- MPD startup
20250104 224755 worker: --
20250104 224755 DEBUG: MPD|ALSA devnum:    plughw:1,0|i2s
20250104 224756 worker: MPD service:        started
20250104 224756 worker: MPD port 6600:      accepting connections
20250104 224756 worker: MPD ALSA Default:   on
20250104 224756 worker: MPD ALSA Bluetooth: off
20250104 224756 worker: MPD HTTP Server:    off
20250104 224756 worker: MPD volume:         0
20250104 224756 worker: Saved MPD vol:      -1
20250104 224756 worker: Saved SRC vol:      0
20250104 224756 worker: MPD crossfade:      off
20250104 224756 worker: MPD ignore CUE:     yes
20250104 224756 worker: MPD CDSP volsync:   off
20250104 224756 worker: --
20250104 224756 worker: -- Music sources
20250104 224756 worker: --
20250104 224757 worker: USB drives:     none
20250104 224757 worker: NVMe drives:    none
20250104 224757 worker: SATA drives:    none
20250104 224757 worker: NAS sources:    none
20250104 224757 worker: --
20250104 224757 worker: -- Feature availability
20250104 224757 worker: --
20250104 224757 worker: Input select:    available, Source: MPD, Output: HiFiBerry DAC+ Pro
20250104 224757 worker: Bluetooth:       available, PIN: None, ALSA/CDSP maxvol: 100%/0dB, ALSA outmode: Standard
20250104 224757 DEBUG: startAirPlay(): (/usr/bin/shairport-sync -v -a "Moode Airplay" -- -d _audioout > /var/log/moode_shairport-sync.log 2>&1 &)
20250104 224757 worker: AirPlay:         started
20250104 224757 DEBUG: startSpotify(): (librespot --name "Moode Spotify" --bitrate 160 --format S16 --mixer softvol --initial-volume 0 --volume-ctrl log --volume-range 60 --cache /var/local/www/spotify_cache --disable-audio-cache --backend alsa --device "_audioout" --onevent /var/local/www/commandw/spotevent.sh -v > /var/log/moode_librespot.log 2>&1 &)
20250104 224757 worker: Spotify Connect: started
20250104 224757 worker: Deezer Connect:  available
20250104 224757 worker: Squeezelite:     available
20250104 224757 worker: UPnP client:     started
20250104 224757 worker: Plexamp:         not installed, ALSA maxvol: 100%
20250104 224757 worker: RoonBridge:      not installed
20250104 224757 worker: Multiroom:       available
20250104 224757 worker: GPIO buttons:    available
20250104 224757 worker: Stream recorder: n/a
20250104 224757 worker: --
20250104 224757 worker: -- Security
20250104 224757 worker: --
20250104 224757 worker: Web SSH server:    off
20250104 224757 worker: XSS detection:     off
20250104 224757 worker: HTTPS mode:        available
20250104 224757 worker: --
20250104 224757 worker: -- Peripherals
20250104 224757 worker: --
20250104 224801 worker: Local display:   off
20250104 224802 worker: Chromium ver:    126.0.6478.164-rpt1
20250104 224802 worker: Chromium cfg:    directory ok
20250104 224802 worker: Screen blank     600
20250104 224802 worker: On-screen kbd:   off
20250104 224802 worker: Disable GPU:     off
20250104 224802 worker: HDMI orient:     landscape
20250104 224802 worker: HDMI 4K 60Hz:    off
20250104 224802 worker: DSI scn type:    none
20250104 224802 worker: DSI port:        1
20250104 224802 worker: DSI brightness:  255
20250104 224802 worker: DSI rotate:      0
20250104 224802 worker: Rotary encoder:  off
20250104 224802 worker: USB volume knob: off
20250104 224802 worker: LCD updater:     off
20250104 224802 worker: --
20250104 224802 worker: -- Miscellaneous
20250104 224802 worker: --
20250104 224802 worker: Software update:   Automatic check on
20250104 224802 worker: Software update:   Checking for available update...
20250105 122835 worker: Software update:   Software is up to date
20250105 122835 worker: Auto-CoverView:    off
20250105 122835 worker: CoverView timeout: Never
20250105 122835 worker: Auto-shuffle:      off
20250105 122835 worker: Auto-play:         off
20250105 122835 worker: Maintenance task:  360 mins
20250105 122835 worker: Current view:      reset to Playback
20250105 122835 worker: Active flags:      all false
20250105 122835 worker: Reset flags:       skipped
20250105 122835 worker: Session check:     ok
20250105 122835 worker: --
20250105 122835 worker: -- Startup complete
20250105 122835 worker: --
20250105 122835 worker: Mount monitor:    off
20250105 122835 worker: Radio monitor:    off
20250105 122835 worker: Watchdog monitor: started
20250105 122835 worker: Responsiveness:   Default
20250105 122835 DEBUG: Sleep intervals:  worker=3, waitworker=1, watchdog=6, mountmon=30, mpdmon=6, gpiobuttons=1
20250105 122835 worker: Ready
20250105 122836 DEBUG: chkVariables(): Excluded key: path
20250105 122836 DEBUG: getPlaylistMetadata(): File open failed on /var/lib/mpd/playlists/Default Playlist.m3u.dpkg-dist.m3u
20250105 122850 DEBUG: chkVariables(): Excluded key: path
20250105 122923 DEBUG: chkVariables(): Excluded key: path
20250105 134427 DEBUG: getPlaylistMetadata(): File open failed on /var/lib/mpd/playlists/Default Playlist.m3u.dpkg-dist.m3u
20250105 134427 DEBUG: chkVariables(): Excluded key: path
20250105 144150 DEBUG: chkVariables(): Excluded key: path
20250105 150625 DEBUG: chkVariables(): Excluded key: path
20250105 150657 DEBUG: getPlaylistMetadata(): File open failed on /var/lib/mpd/playlists/Default Playlist.m3u.dpkg-dist.m3u
20250105 150657 DEBUG: chkVariables(): Excluded key: path
20250105 153457 DEBUG: getPlaylistMetadata(): File open failed on /var/lib/mpd/playlists/Default Playlist.m3u.dpkg-dist.m3u
20250105 153457 DEBUG: chkVariables(): Excluded key: path
Reply
#2
I haven't had any problems with AirPlay in the 9 series using iPhone/iMac as clients but I'll fire up a few hours of LoFi music from my iMac using Youtube Music app and see if anything bad happens.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
So far after ~3 hours no issues using AirPlay.

   

The symptoms you reported suggest something external to moode software for example a network, hardware, power supply or boot media issue, or possibly if the audio device is a USB device then intermittent USB connection fail. Something like that.

1. "Airplay streams continued to fail"
2. "After the playback has stopped  the Airplay service and also the moode player's web server will then no longer be accessible. Ultimately, the Raspberry Pi has to be restarted via a hardware reset because the device can no longer be reached via the network (WLAN)."

Couple things to try.

- Fresh moode image on a new SD Card
- Different power supply
- Different Pi
- Run a ping test from the client sending the AirPlay stream to the Pi thats receiving it and examine the ping stats for any errors, long or inconsistent rtt times, dropped packets etc
- Different client app
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#4
Hello Tim, 

thank you very much for the quick response to your Airplay test. I will test the problem-solving approaches one by one. 

  1. Ping test from the client sending the AirPlay stream (IPhone).
  2. Image installation on a brand new SD card. I had already uploaded the version 9.x image on two existing older SD cards before - unfortunately without success. I will now try with a new card.
  3. Change the Pi Power supply.
  4. Change the Pi maybe to a newer type.
I had already test with to different streaming client apps and had the same issue. But I will repeat the test for verification.

There are some indications that the Airplay problems are related to the hardware. The command "ifconfig" returns some dropped Rx packets on the WLAN interface.

   

I will try the things above and report the results. So far, thank you very much for your help!
Reply
#5
(01-06-2025, 06:50 PM)SteveRocket Wrote: ...
There are some indications that the Airplay problems are related to the hardware. The command "ifconfig" returns some dropped Rx packets on the WLAN interface.
...

A few dropped received packets is not uncommon. How many is too many is hard to judge but your 3148 seems high, especially in light of the relatively small number of transmitted and received packets (which suggests your Pi hasn't been up for much time).

In general, dropped WiFi packets are a symptom of such things as network congestion, weak received signal strength, interference from other devices such as microwave ovens, etc.

Here's another command you can try iwconfig

On one of my moOde players I see this output


Code:
rho@m921blue:~ $ iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:"Krypton"  
         Mode:Managed  Frequency:2.437 GHz  Access Point: A8:70:5D:49:74:B9  
         Bit Rate=72.2 Mb/s   Tx-Power=31 dBm  
         Retry short limit:7   RTS thr:off   Fragment thr:off
         Power Management:off
         Link Quality=70/70  Signal level=-29 dBm  
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:126  Invalid misc:0   Missed beacon:0


Key numbers here are the "Link Quality", where the closer the ratio gets to 70/70 the better, and the (received) "Signal level". My -29 dBm means a very strong signal (the Pi is in the same room as my Access Point). Larger negative numbers mean weaker received signal. 

What do you see on your player?

Regards,
Kent
Reply
#6
(01-06-2025, 07:20 PM)TheOldPresbyope Wrote: Key numbers here are the "Link Quality", where the closer the ratio gets to 70/70 the better, and the (received) "Signal level". My -29 dBm means a very strong signal (the Pi is in the same room as my Access Point). Larger negative numbers mean weaker received signal. 

What do you see on your player?

Hello Kent, thank you very much for the reply!

In my case the status of the Link Quality is 51/70 and the Signal level -59 dBm. I assume that is a medium quality signal strength. Not as good as yours but operational.

Eventually I can optimise the values by altering the access point settings. I will try this.


Code:
pi@moode:~ $ iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:"DarknetB"
         Mode:Managed  Frequency:5.5 GHz  Access Point: 98:9B:CB:12:74:DB
         Bit Rate=292.5 Mb/s   Tx-Power=31 dBm
         Retry short limit:7   RTS thr:off   Fragment thr:off
         Power Management:off
         Link Quality=51/70  Signal level=-59 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0

pi@moode:~ $
Reply
#7
@SteveRocket 


Quote:...

In my case the raspberry Pi the status of the Link Quality is 51/70 and the Signal level -59 dBm. I assume that is a medium quality signal strength. No as good as yours but operational.
...

Don't forget that dBm is a power level expressed as the base10 logarithm of the ratio of the measured power compared to 1 mW. Your signal level is 30 dBm or 1000 times weaker than mine, and the link quality is definitely worse.

To come closer to your signal level, I set up a test with moOde 9.2.1 on a Pi 3A+ located two rooms away from my Access Point, apx 50 feet through 2 doorways as the bird flies. The WiFi connection is in the 5 GHz band.

I streamed a Jazz Groove channel to it via Airplay from an iPad for two hours without a hitch.

From iwconfig
Code:
         Link Quality=56/70  Signal level=-54 dBm  
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:127  Invalid misc:0   Missed beacon:0


From ifconfig
Code:
       RX packets 1088916  bytes 403186005 (384.5 MiB)
       RX errors 0  dropped 6  overruns 0  frame 0
       TX packets 187526  bytes 18934049 (18.0 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

In this test, my reported signal level is 5 dBm or a factor of about 3 times stronger in power than yours. My link quality is better. Out of roughly 1 million received packets, only 6 were dropped. There's nothing remarkable in the logs.

I would suggest you try moving your Pi and your access point closer together, at least temporarily, to see if that "cures" your AirPlay problem. That will help you decide what needs to be done. (In one extreme case, I have used Powerline Networking as a way to get around poor WiFi communications without physically stringing Ethernet cable.)

Good luck!

Regards,
Kent
Reply
#8
@TheOldPresbyope

Thank you very much for your comments and the Airplay streaming test with your Pi 3A+.

I my setup the Pi 3 B+ is installed in the original HiFiBerry steel case. Basically, a steel housing shields the WLAN signal and creates a suboptimal environment for good signal strength, but in my case, this configuration has worked well for years

However, I suspect that my Airplay problem is related to the WLAN signal processing or hardware. In the meantime I also installed the moOde 9.2.2 image on a brand new SD card, but without any positive effect.

Some month ago I changed the 5 Ghz WLAN from Wi-Fi 4 (802.11 n, up to 800 Mbit/s) to Wi-Fi 5 (802.11 ac, up to 1733 Mbit/s). Because I don't really need the higher datarates of the Wi-Fi 5 network i changed it back to Wi-Fi 4. Maybe this is the root couse and will fix the problem. I also changed the location the Pi 3B+ a little bit and get a slightly better signal qualitiy. I will report if the symptoms had disappear after this change.

iwconfig returns:
Code:
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:"DarknetB"
         Mode:Managed  Frequency:5.5 GHz  Access Point: 98:9B:CB:12:74:DB
         Bit Rate=150 Mb/s   Tx-Power=31 dBm
         Retry short limit:7   RTS thr:off   Fragment thr:off
         Power Management:off
         Link Quality=51/70  Signal level=-59 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ifconfig returns:
Code:
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
       ether b8:27:eb:52:41:fe  txqueuelen 1000  (Ethernet)
       RX packets 0  bytes 0 (0.0 B)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 0  bytes 0 (0.0 B)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1000  (Local Loopback)
       RX packets 3222  bytes 335329 (327.4 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 3222  bytes 335329 (327.4 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.1.29  netmask 255.255.255.0  broadcast 192.168.1.255
       inet6 fdbb:c7c4:4c6f:0:d91b:ad70:e453:e84e  prefixlen 64  scopeid 0x0<global>
       inet6 fe80::dbee:133:6524:81b3  prefixlen 64  scopeid 0x20<link>
       inet6 2003:cb:4f01:f100:c8dc:2b37:a9e4:7b05  prefixlen 64  scopeid 0x0<global>
       ether b8:27:eb:07:14:ab  txqueuelen 1000  (Ethernet)
       RX packets 8677  bytes 5853866 (5.5 MiB)
       RX errors 0  dropped 914  overruns 0  frame 0
       TX packets 11858  bytes 10200508 (9.7 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Best regards, 
Stephan
Reply
#9
Short update: 

Unfortunately the change of the access point settings had not the expected effect. The Airplay stream still stops during the playback in irregularly times.

The next thing im goining to do is to change the hardware to a new Pi 3B+. Hopefully this will fix the issue.

Thank you for the help so far! 

Best Regards,

Stephan
Reply
#10
Were I you, I'd first try either

1) running the Pi 3B+ outside the steel case, or

2) using an external USB-WiFi adapter, perhaps even one with an external antenna

to see if the received signal strength improves enough to get reliable AirPlay performance.

Candidly, I doubt the existing Pi 3B+ is at fault (but I've been known to be wrong before...).

Regards,
Kent
Reply


Forum Jump: