Volumio stops playing after a while - USB DAC (Topping D50s)

Volumio stops playing randomly after some time. I have to restart it again as a workaround, but it’s only a matter of time before it happens again. I’ve been looking at other issues raised in the forum and it seems this is a common and know issue, but without definitive fix so far. All the solutions I tried from other posts are not working (event factory reset).

Here is the error I can see when pressing play after it stopped:
failed to open alsa [alsa], Failed to open Alsa device “hw:5,0”: No such file or directory

Here is my setup:

Raspberry Pi 4 8gb
Volumio version: 2.868 (Experienced the issue with anterior version also)
USB DAC: Topping D50s

Please find below live logs I picked from volumio.local/dev

Starting Live Log…
info: CoreCommandRouter::executeOnPlugin: my_volumio , getMyVolumioStatus
info: CoreCommandRouter::volumioGetState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioGetQueue
info: CoreStateMachine::getQueue
info: CorePlayQueue::getQueue
info: CoreCommandRouter::executeOnPlugin: system , getHwuuid
info: CALLMETHOD: system_controller system enableLiveLog true
info: CoreCommandRouter::executeOnPlugin: system , enableLiveLog
info: Launching a new LiveLog session
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/sbin/ifconfig eth0
pam_unix(sudo:session): session opened for user root by (uid=0)
volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/sbin/ifconfig wlan0
pam_unix(sudo:session): session closed for user root
pam_unix(sudo:session): session opened for user root by (uid=0)
pam_unix(sudo:session): session closed for user root
info: CoreCommandRouter::volumioGetVisibleSources
info: CoreCommandRouter::executeOnPlugin: my_music , getDisabledSources
info: CoreCommandRouter::volumioGetState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioGetQueue
info: CoreStateMachine::getQueue
info: CorePlayQueue::getQueue
info: Listing playlists
info: CoreCommandRouter::executeOnPlugin: multiroom , getMultiroom
info: CoreCommandRouter::volumioReplaceandPlayItems
info: CoreStateMachine::ClearQueue
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined
UNSET VOLATILE
info: CorePlayQueue::clearPlayQueue
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::addQueueItems
info: CorePlayQueue::addQueueItems
info: Adding Item to queue: albums://Ella%20Fitzgerald/Ella%3A%20The%20Lost%20Berlin%20Tapes
info: Exploding uri albums://Ella%20Fitzgerald/Ella%3A%20The%20Lost%20Berlin%20Tapes in service mpd
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::updateTrackBlock
info: CorePlayQueue::getTrackBlock
info: CoreCommandRouter::volumioPlay
UNSET VOLATILE
info: CoreStateMachine::play index 0
info: CoreStateMachine::setConsumeUpdateService undefined
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined
UNSET VOLATILE
info: CoreStateMachine::play index undefined
info: CoreStateMachine::setConsumeUpdateService undefined
info: CorePlayQueue::getTrack 0
info: CoreStateMachine::startPlaybackTimer
info: CorePlayQueue::getTrack 0



info:
---------------------------- MPD announces system playlist update
info: Ignoring MPD Status Update

error: updateQueue error: null
info:
---------------------------- MPD announces system playlist update
info: Ignoring MPD Status Update
info: ------------------------------ 4ms

info: ------------------------------ 5ms
info:
---------------------------- MPD announces state update: player
info: ControllerMpd::getState

info:
---------------------------- MPD announces state update: player

info: ControllerMpd::getState






info: ControllerMpd::pushState
info: CoreCommandRouter::servicePushState
info: CorePlayQueue::getTrack 0


info: CoreStateMachine::syncState stateService pause
info: CoreStateMachine::syncState currentStatus stop
info: CoreStateMachine::pushState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: ------------------------------ 20ms

info: ControllerMpd::pushState
info: CoreCommandRouter::servicePushState
info: CorePlayQueue::getTrack 0


info: CoreStateMachine::syncState stateService pause
info: CoreStateMachine::syncState currentStatus stop
info: CoreStateMachine::pushState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: ------------------------------ 22ms

I just noticed restarting the DAC works as well. It seems the issue has to do with the USB connection. Maybe a USB driver issue.