USB Audio Stops Randomly and is lost

I am using the latest version of Volumio on RPi 4B connected via ethernet and outputting via USB to SMSL SU-9 DAC. DAC has latest firmware.
I am playing Tidal Hifi and Masters all the time. No Local Music.
Buffer values are %10 and 2Mb (Defaults)
Queue is not long (<20 songs)

Some time after music has started (looks random from 10 minutes to an hour mostly) the audio is lost and no sound comes out from the DAC. DAC says “No Signal”
GUI looks like music is playing but trying to skip song or playing another does nothing and there is no sound.

  • Restarting the DAC does not resolve problem.

  • Unplugging and replugging USB cable does not resolve problem.

  • Changing output device to Headphones, saving, then changing output device to - SMSL USB AUDIO again resolves problem.

  • Rebooting RPi Resolves problem.

Any help or pointers are apprecieted.

A debug log when the problem occurs

http://logs.volumio.org/volumio/T1feJ3W.html

Below is the live log from everything is fine to audio lost, my attempts to play some more songs, changing audio to headphones then to usb dac again, mpd deamon failing and when it is restarted everything is fine again.

1 Like

Here is a shorter log after failure change output to headphone then change output to usb dac. Then after a minute player gui says config change, player restart. Then audio resumes.

info: CALLMETHOD: audio_interface alsa_controller saveAlsaOptions [object Object]
info: CoreCommandRouter::executeOnPlugin: alsa_controller , saveAlsaOptions
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: Output device has changed, restarting MPD
info: Output device has changed, restarting Shairport Sync
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/chmod 777 /etc/mpd.conf
pam_unix(sudo:session): session opened for user root by (uid=0)
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl restart mpd.service
pam_unix(sudo:session): session closed for user root
pam_unix(sudo:session): session opened for user root by (uid=0)
Stopping Music Player Daemon...
info: Could not detect Primo: Error: Command failed: aplay -l | grep es90x8q2m-dac-dai-0
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: Found match in Cards Database: setting mixer Headphone for card Headphones
info: CoreCommandRouter::volumioUpdateVolumeSettings
info: Updating Volume Controller Parameters: Device: 1 Name: Headphones Mixer: Headphone Max Vol: 100 Vol Curve; logarithmic Vol Steps: 10
info: CoreCommandRouter::getUIConfigOnPlugin
info: MPD Permissions set
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: system , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sOptions
info: CoreCommandRouter::executeOnPlugin: system , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getPlaybackMode
info: CoreCommandRouter::executeOnPlugin: system , getAdvancedSettingsStatus
info: Starting Shairport Sync
info: VolumeController:: Volume=100 Mute =false
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl restart shairport-sync
pam_unix(sudo:session): session opened for user root by (uid=0)
Stopping Shairport Sync - AirPlay Audio Receiver...
Starting Shairport Sync - AirPlay Audio Receiver...
Started Shairport Sync - AirPlay Audio Receiver.
pam_unix(sudo:session): session closed for user root
info: Shairport-Sync Started
info: CoreCommandRouter::volumioRetrieveVolumeLevels
info: CoreStateMachine::getcurrentVolume
info: CoreCommandRouter::volumioRetrievevolume
info: VolumeController:: Volume=100 Mute =false
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: CoreStateMachine::updateTrackBlock
info: CorePlayQueue::getTrackBlock
info: CoreCommandRouter::volumioRetrievevolume
info: VolumeController:: Volume=100 Mute =false
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CALLMETHOD: audio_interface alsa_controller saveAlsaOptions [object Object]
info: CoreCommandRouter::executeOnPlugin: alsa_controller , saveAlsaOptions
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: Output device has changed, restarting MPD
info: Output device has changed, restarting Shairport Sync
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/chmod 777 /etc/mpd.conf
pam_unix(sudo:session): session opened for user root by (uid=0)
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl restart mpd.service
pam_unix(sudo:session): session closed for user root
pam_unix(sudo:session): session opened for user root by (uid=0)
info: Could not detect Primo: Error: Command failed: aplay -l | grep es90x8q2m-dac-dai-0
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: Device 5 does not have any Mixer Control Available, setting a softvol device
info: CoreCommandRouter::volumioUpdateVolumeSettings
info: Updating Volume Controller Parameters: Device: 5 Name:  Mixer:  Max Vol: 100 Vol Curve; logarithmic Vol Steps: 10
info: CoreCommandRouter::getUIConfigOnPlugin
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: MPD Permissions set
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: system , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sOptions
info: CoreCommandRouter::executeOnPlugin: system , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getPlaybackMode
info: CoreCommandRouter::executeOnPlugin: system , getAdvancedSettingsStatus
info: Starting Shairport Sync
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl restart shairport-sync
pam_unix(sudo:session): session opened for user root by (uid=0)
Stopping Shairport Sync - AirPlay Audio Receiver...
Starting Shairport Sync - AirPlay Audio Receiver...
Started Shairport Sync - AirPlay Audio Receiver.
pam_unix(sudo:session): session closed for user root
info: Shairport-Sync Started
info: CoreCommandRouter::volumioRetrieveVolumeLevels
info: CoreStateMachine::getcurrentVolume
info: CoreCommandRouter::volumioRetrievevolume
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
mpd.service stop-sigterm timed out. Killing.
error: MPD error: Error: read ECONNRESET
mpd.service: main process exited, code=killed, status=9/KILL
Unit mpd.service entered failed state.
Starting Music Player Daemon...

Well after trying many things including different usb ports, usb cables, dns settings, disabling plugins and features, buffer settings, power cable and supply, wifi connections I couldn’t find a solution.

But as a workaround I enabled upnp and used mconnect player for accessing tidal and transferring audio using upnp to Volumio. Now I can listen without problems.
Using phone just for control is better but this will do.

As tidal connect is coming to Volumio in days, I can just use it for lossless audio and mqa.

mqa you could only create on max volume.