At some point, we should attempt to solve the mystery of why a Linux box running RoonBridge can’t “find” a USB DAC plugged into it. The forum is littered with many reports of this problem, and no solutions that I could find.
Today, I plugged a Topping DX3 Pro into my Linux box:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Pro [DX3 Pro], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
$
I can play to the DX3 Pro just fine, using Linux apps. But when I look at the Roon remote control, I see that it can see it – says “DX3 Pro”, right on the machine it’s plugged into:
But when I enable it, I get the dreaded “Device not found” message there. I’ve tried various powerings/reboots – even restarted RoonBridge – but with no success. Looking at the RoonBridge logs, I find this:
02/25 14:32:03 Trace: [jsonserver] [192.168.3.8:60554] GOT[LL] [2] {"request":"enable_device","device_id":"hw:CARD=Pro,DEV=0","subscription_id":"25"}
02/25 14:32:03 Trace: [raat_wrap] creating new RAAT device
02/25 14:32:03 Trace: [RAAT::DX3 Pro] [info] initializing info dictionary
02/25 14:32:03 Trace: [RAAT::DX3 Pro] [info] inserting raat_version -> 1.1.38
02/25 14:32:03 Trace: [RAAT::DX3 Pro] [info] inserting protocol_version -> 3
02/25 14:32:03 Error: [raat_wrap] RAAT__OUTPUT_PLUGIN_STATUS_DEVICE_OPEN_FAILED failed: failed to initialize alsa output
02/25 14:32:03 Trace: [jsonserver] [192.168.3.8:60554] SENT [1] [nonfinal] {"status": "DeviceChanged", "device": {"error_message": "DeviceOpenFailed", "type": "alsa", "device_id": "hw:CARD=Pro,DEV=0", "config": {"unique_id": "4109b3d3-022a-43df-07a2-b3103a8c2faf", "volume": {"
02/25 14:32:03 Trace: [jsonserver] [192.168.3.8:60554] SENT [2] [nonfinal] {"status": "DeviceInitFailed"}
Over and over. As per usual, these Roon log messages don’t really tell us much about what went wrong.
This works fine when plugged into a Windows or Mac machine. But of course they aren’t using RoonBridge.
In syslog, I find this:
Feb 25 14:21:39 Tess kernel: [615033.655657] usb 1-5: new high-speed USB device number 7 using xhci_hcd
Feb 25 14:21:39 Tess kernel: [615033.835395] usb 1-5: New USB device found, idVendor=152a, idProduct=8750
Feb 25 14:21:39 Tess kernel: [615033.835398] usb 1-5: New USB device strings: Mfr=1, Product=3, SerialNumber=0
Feb 25 14:21:39 Tess kernel: [615033.835400] usb 1-5: Product: DX3 Pro
Feb 25 14:21:39 Tess kernel: [615033.835402] usb 1-5: Manufacturer: Topping
Feb 25 14:21:55 Tess kernel: [615049.352248] usb 1-5: parse_audio_format_rates_v2(): unable to find clock source (clock -110)
Feb 25 14:22:31 Tess kernel: [615085.197237] usb 1-5: cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4
Feb 25 14:22:31 Tess kernel: [615085.197244] usb 1-5: 10:0: cannot get min/max values for control 2 (id 10)
Feb 25 14:22:40 Tess systemd-udevd[488]: seq 6021 '/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-5' is taking a long time
Feb 25 14:23:02 Tess kernel: [615115.914322] usb 1-5: USB disconnect, device number 7
Feb 25 14:23:02 Tess start.sh[6846]: ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
Over and over.