As far as I know there isn’t a dedicated thread to the development of USB DAC Hotplugging yet, so why not help things along
The things I found out so far are:
- playing sound through an USB DAC (in my case a DENON DA-300USB - wonderfull DAC ) at a RPi with Volumio 1.51 works perfect as long as the DAC is powered on and plugged in before the RPi is booted.
- when Volumio is running and you unplug/switch off your DAC and you replug/switch on your DAC (“Hotplugging”), the DAC won’t play your music. As it turns out, the specific device nodes in /dev/snd have got the wrong owner and access rights. They are now owned by root and not accessible by other users/groups. The following statements will repair that situation:
chmod g+rwt /dev/snd/pcmC0D0p
chmod g+rwt /dev/snd/controlC0
chown :audio /dev/snd/pcmC0D0p
chown :audio /dev/snd/controlC0
- the above does not work when the DAC is not plugged in & switched on when the RPi boots.
First question: are the device nodes mentioned above universal to all USB DAC’s? They work for my USB DAC, but do they work for others as well?
Second question: which udev rule should we change to make the above code be performed automagically? I’m thinking about something in /lib/udev/rules.d/91-permissions.rules, but I’m still a bit unsure about the different kernel messages…
Third question: this one could be a bit harder, but what about hotplugging after booting the RPi without the DAC being plugged in… as it turns out, my system maintained the device nodes from the previous session, with correct user rights, but Volumio didn’t want to find the DAC. I had to do a reboot with the DAC plugged in before the device node management started to work properly for the DAC device nodes.
Of course I’m fiddling around with things, but my time is at the moment a bit limited, so any help, comments, responses etc are welcome