I booted up with my DAC in the USB port and got a list of output devices. Unfortunately, the only item on the list was MAX98357A, which I learn is an Adafruit amp. (My DAC is a Benchmark DAC3.) I’ve re-booted since, but (unsurprisingly) no changes. Suggestions?
Do you have i2s enabled in playback options?
If so turn it off, reboot and see if the USB DAC shows up.
If not provide the output of:
cat /boot/config.txt
cat /boot/userconfig.txt
Next. Disconnect the USB DAC, reboot your device.
When Volumio is fully up and running, plugin the USB DAC.
And provide the log.
Thanks! I had turned off I2S in order to get as far as I did get. I’ll see what I can get from logs etc. soon.
BTW, I can find the log via the device’s IP address – but do I have to look at the SD card to find the boot sector for the config files?
yes you need to ssh into Volumio and run the given commands.
OK, tried to follow the instructions. The log file is http://logs.volumio.org/volumio/FR6b4aW.html
and these are the config files:
### DO NOT EDIT THIS FILE ###
### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
initramfs volumio.initrd
gpu_mem=128
gpu_mem_256=32
gpu_mem_512=32
gpu_mem_1024=128
max_usb_current=1
[pi5]
usb_max_current_enable=1
[all]
include volumioconfig.txt
include userconfig.txt
#### Volumio i2s setting below: do not alter ####
dtoverlay=max98357a
cat /boot/userconfig.txt
# Add your custom config.txt options to this file, which will be preserved during updates
Hey @Frankenheimer,
Have you ever got your DAC working with any linux distro at all?
Unless I am looking at the wrong thing, whilst checking proprietary drivers I am seeing this:
[DriverInterface]
InterfaceGUID={5D9A6963-3CEA-45a3-945D-02546E83B279}
[ASIO]
AsioDriverGUID={786D9225-743E-4abb-8FB7-1462B2758205}
AsioDisplayName="Benchmark_DAC2 ASIO Driver"
; EXE to be launched; either specifies an absolute path or a path relative to ASIO DLL
AsioControlPanel="TUSBAudioCpl.exe"
; arguments to be passed to EXE
AsioControlPanelArgs="-asio"
You will need to request firmware upgrade from the manufacturer for USB direct audio mode for use with generic linux kernel or write USB direct patch for the kernel 6.6.y or newer.
Kind Regards,
Hi @nerd,
No, never did it get it to work. What you are saying makes sense – I’ll get in touch with the Raspberry Pi folks for a firmware update. Thanks.
-- @Frankenheimer
@Frankenheimer
You may have a different issue.
The Benchmark DAC3, according to the manufacturers information, is supposed to work as a USB 2.0 device.
However, according to the log, the dac does not even show up as a usb device.
Did you try another cable? Or another usb port?
As long as the PI does not recognize the Benchmark DAC3 as a usb device, it won’t work and asking the PI team for a snd-usb-audio driver fix not make any sense.
I know that the cable works – I’ve used it to feed the DAC with bitstreams from my Android phone and my Windows laptop – and I’ve double-checked that I plugged it into a USB 2.0 port on the Pi. I will fiddle around with this some more and report any results of interest.
BTW, Benchmark refers to the DAC3 as the DAC2 (the predecessor model) because they are identical in terms of interface. From the manual:
To provide full backward and forward
compatibility, the DAC3 uses the DAC2 USB
drivers. This prevents the need to install two
different sets of drivers. Please note that the
DAC3 USB input will be identified as
“Benchmark DAC2” in your computer control
panels. This is intentional.
So the log reference is just fine. I do not think there is any justification for requesting a firmware update.
Hey @Frankenheimer,
The problem is not use of older driver under MS Windows. The problems is that the real kernel device ID is hidden behind the ASIO wrapper. On MS Windows you have a helper program for ASIO loader:
AsioControlPanel=“TUSBAudioCpl.exe”
With parametric argument:
AsioControlPanelArgs="-asio"
On linux, such wrapper will simply fail and without linux specific kernel handler and module - no dice. Since it forces i2s discovery (as per your previous log), the only kernel matching ID is offered as MAX98357A.
It will be more helpful if you could connect USB DAC whilst Volumio is already running. Perhaps udevadm will log something meaningful like VendorID and DeviceID in the debug log.
Kind Regards,
Guys, you can discuss differences between the windows asio drivers and the snd-usb-audio driver as long as you wish, it won’t help you at all.
Really, as long as the PI does not see the DAC as a usb device, you won’t get anywhere. Getting it recognized, at least as a usb device, is essential!
@Nerd’s suggestion to create a log after unplugging/ re-plugging the device is crucial
So @gkkpch: just to be sure I understand your proposition, are you saying I should unplug the PI; plug it back in without the USB DAC connected; then connect the DAC to the running PI and get the log from that?
yes, that is what gkkpch means.
In this case the log shows some clear pointers what is happing.
http://logs.volumio.org/volumio/zScvjky.html
Should be what you need – although exactly when in the process the log was written I can’t say for sure.
Your log shows a repeating
Feb 09 16:43:33 volumiofk kernel: usb usb2-port1: over-current change #1
Feb 09 16:43:33 volumiofk kernel: usb 1-1-port1: over-current change #1
Feb 09 16:43:33 volumiofk kernel: usb usb2-port2: over-current change #1
Feb 09 16:43:33 volumiofk kernel: usb 1-1-port2: over-current change #1
Feb 09 16:43:33 volumiofk kernel: usb usb2-port3: over-current change #1
Feb 09 16:43:33 volumiofk kernel: usb 1-1-port3: over-current change #1
Feb 09 16:43:34 volumiofk kernel: usb usb2-port4: over-current change #1
Feb 09 16:43:34 volumiofk kernel: usb 1-1-port4: over-current change #1
which seems to indicate that your DAC is requesting a higher current than your Raspberry Pi can provide.
I presume you have the DAC connected to power, so the problem might be your PI or its power supply (at least 5V/2.5A).
Perhaps someone else can chip in, I’m not a PI expert.
Thanks! The DAC is as you surmised plugged directly into the mains (and works well with other souces for a bitstream). I’ll check the PI power supply (it’s meant for PI’s, of course) and If that doesn’t yield anything, I’ll see if I can’t contact the PI folks. Maybe they can save it from brick-hood.
Hm. It’s a PI 5.1V/3.0 amp supply. But maybe the manufacturer has seen this problem before…
is there any other device (e.g. storage) that you could connect to the PI instead of the DAC? Would be interesting to know whether the over-current error message still occurs. Same test, start without, then add the device and log. You can check the log yourself (it would be at the end), or just display the log url here.