RaspberryPi thinks my Benchmark DAC is an Adafruit amp

Well, really, I don’t care if it works with something else. I did try running the tests with the case off (on the unlikely theory that the PI was running too hot) – of course, no help. The USB 2 connection is not especially robust, which is worrisome, but it’s clearly not a different size or style of connector than what’s on my cable.

It sounds very much like I have a hardware issue based on what you’ve discovered. So far nothing I’ve found online tells me what the problem really is, although it has (of course) been reported by other users. Unless I hear something from the Raspberries, this project is going into deep sleep.

Well, if I were you I would. Troubleshooting sometimes also means excluding & eliminating things. In your case, running something else on your usb ports may show the same error, or not, If it does, then you know you have a RPi 4B hw issue.

So you’re saying that if I get a different issue with something else we know it’s software? I don’t buy that. I think the hardware issue may be restricted to the PI – Benchmark combination, for this particular sample of the PI.

@Frankenheimer
Frank, you ask for assistance but start to argue on every attempt people try to sort things out for you.

Very simple summary.

  • The logs shows: over-current change
  • So either this DAC is pulling to much current from the rPi’s USB (rPi is very sensitive on USB specifications) or there might be something wrong with your rPi.

The only way to conform what the issue is by elimination:

  • Swap DAC to different ports, does it generate the same error.
  • Use different USB cables, does it generate the same error
  • Use a powered USB hub, does it generate the same error.
  • Connect something different to the USB port (like an external disc, USB thumb,…), does it generate the same error.

If you’re not willing to provide information/tests, we can’t support you. Keep in mind we don’t have your setup and fully rely on your feedback.

OK, this was the first suggestion of yours that I didn’t follow up – unless you count the firmware update which you folks didn’t agree on. I’m happy you were able to narrow this down to a hardware issue versus a Volumio issue.

As it happens, I tried the other USB 2 port and saw the same problem. And I don’t have another suitable cable on-hand. Maybe at some point I’ll go get one. Likewise, a powered hub is a good idea; I’ll look iinto that.

(BTW, looking online at rPI stuff, I see that there are perhaps some USB config issues to look at and I’ll check them out.)

But as to compatibility with this DAC and rPI’s in general: the one job I want this rPI to do is to stream Tidal via that DAC. If it isn’t compatible, the rPI is a brick as far as I’m concerned. But I’m pretty sure I’ve seen people on-line using the rPI with the Benchmark. All I’m looking for now is a) some workaround like a powered hub, or b) something specifically wrong with my Pi so that I can fix or replace it.

No need for a), the Benchmark gets its power already elsewhere (connected to mains)
For b), simple to exclude cable and DAC issue by connecting someother usb device (some simple dongle or so). When it still throws an error, your RPi is at fault (or as you call it a “brick”).

I know, but if the connection for data only already draws an overcurrent, you can bypass this with a powered USB hub. (The hub will power the USB part, the rPi only needs to drop data), hence my train of thoughts…

And I read somewhere that the Benchmark DAC3 needs 5V on it’s USB port, otherwise it wouldn’t play. No clue which current it draws then.

Raspberry Pi 5 with the Benchmark DAC3 Under Volumio

1. Driver & Interface Mismatch (ASIO vs. Linux Audio)

  • Windows ASIO Design:
    The Benchmark DAC3 was designed to work with the legacy DAC2 drivers and a Windows-only ASIO environment. On Windows, a helper program (e.g., TUSBAudioCpl.exe with the -asio parameter) loads the ASIO driver. This “wrapper” ensures that the device, although internally identified as “Benchmark DAC2” (for backward compatibility), is correctly managed.

  • Lack of ASIO Support in Linux:
    Under Volumio (a Linux-based system), there’s no native support for ASIO. The Linux system relies on the ALSA subsystem (using drivers like snd-usb-audio) to recognize and handle USB audio devices. Because the DAC’s true device ID is concealed behind its ASIO interface, Linux ends up misidentifying - or not recognizing - the device at all. Without proper enumeration, no Linux driver can take control.

2. USB Over-Current & Power Negotiation Issues

  • Over-Current Errors in the Logs:
    @Frankenheimer’s logs (as shared in the thread) repeatedly show “over-current change” messages when the DAC is connected. This indicates that the DAC (even though it’s externally powered by mains) is drawing - or at least requesting - the kind of current that exceeds what the Raspberry Pi 5’s USB ports are designed to provide.

  • Pi’s Strict USB Power Management:
    The Raspberry Pi’s USB ports enforce strict current limits to protect the hardware. If a device appears to draw too much current - even for its data connection - the port may trigger over-current protection and refuse to properly enumerate the device. This explains why, regardless of cable or port changes, the DAC isn’t seen as a valid USB audio device.

3. Community Troubleshooting Insights

  • My Observations:
    As I pointed out, Benchmark’s choice to use DAC2 drivers (and hence to have the DAC3 show up as “Benchmark DAC2”) is intentional for Windows backward compatibility. However, in Linux this approach collides with the strict way USB device IDs and power are managed.

  • Moderators’ Recommendations (@gkkpch and @Wheaten):

    • Re-Plugging While Volumio Is Running:
      They suggested unplugging the DAC, starting Volumio, and then hot-plugging the device to capture more detailed logs (e.g., via udevadm) to see the VendorID/DeviceID.
    • Testing with Other Devices & Hubs:
      Both moderators recommended testing the Pi’s USB ports with other devices or using a powered USB hub. This would help determine if the issue is isolated to the DAC’s power requirements or if it’s a broader hardware limitation with the Pi.
  • Outcome of the Troubleshooting:
    @Frankenheimer’s logs consistently point to over-current issues, meaning the DAC’s current draw - even on its data line - is triggering the Pi’s protections. Without a stable USB connection, the Linux system never sees the DAC as a valid USB audio device, so the ASIO vs. ALSA incompatibility becomes a moot point.


Conclusion

In summary, the root of the problem lies in two fundamental issues:

  • Driver Incompatibility: The DAC3’s design assumes a Windows environment with ASIO support. Since Linux (and thus Volumio) cannot load the ASIO wrapper, it fails to properly recognize the device. This can only be addressed by DACs firmware. In any luck, with proper communication between Raspberry Pi 5 and USB attached DAC, an alternative can be found.
  • USB Power Constraints: The Raspberry Pi 5’s USB ports enforce strict current limits. Even though the DAC is externally powered, its USB connection appears to demand too much current, leading to over-current errors and preventing proper device enumeration.

Because of these issues, even after testing with different cables, ports, or even trying powered USB hubs, the DAC3 may be recognized and managed by Volumio on a Raspberry Pi 5. This makes it unsuitable for this particular configuration, at least until either the DAC firmware or Raspberry Pi’s USB handling is revised.

Kind Regards,

1 Like

@Frankenheimer, as @gkkpch and @Wheaten have already requested, we really need you to run through these tests to pinpoint the issue with your DAC. Your detailed feedback is crucial for us to determine whether it’s a USB power limitation, cable/port issue, or something else entirely. Please follow these steps:


  1. Boot Without the DAC:

    • Start Volumio on your Raspberry Pi 5 without the DAC connected.
    • This helps establish a clean baseline for the system logs.
  2. Monitor the Logs:

    • Open a terminal (via SSH or locally) and run either:
      journalctl -f
      
      or
      dmesg -w
      
    • This will display real-time system messages so you can capture USB-related events.
  3. Hot-Plug the DAC:

    • With your log monitoring running, connect the DAC.
    • Look for standard USB enumeration messages (which show VendorID/ProductID).
    • Record any messages that appear, especially those mentioning USB enumeration or “over-current change” warnings.
  4. Swap the USB Cable:

    • Disconnect the DAC and try a different known-good USB cable.
    • Repeat the hot-plug process and note the log messages.
  5. Try Different USB Ports:

    • Plug the DAC into a different USB 2.0/3.0 port on the Pi.
    • Again, monitor the logs to see if there’s any difference in how the device is handled.
  6. Use a Powered USB Hub:

    • Connect a powered USB hub to your Pi and then plug the DAC into the hub.
    • Check the logs for any changes or if the over-current warnings disappear.
  7. Test with Another USB Device:

    • To confirm that the Pi’s USB ports are functioning correctly, connect another USB device (like a flash drive).
    • Verify through the logs that this device enumerates properly without errors.
  8. Document Your Findings:

    • Save screenshots or copy the log outputs for each test.
    • Clearly note which test was performed (cable change, port change, powered hub, etc.) and the exact log messages, especially any over-current events.

By following these steps, you’ll provide us with the necessary details to determine if the issue is with the DAC’s power draw, the Raspberry Pi’s USB port limitations, or a driver mismatch issue. Please share your results, including log excerpts, so that we can work together to see what is next.

Kind Regards,

  1. Some of these I can do immediately; others require my getting equipment (like additional cables) that I don’t have at the moment. I will get them. So cool your jets. And try to remember that I don’t work for Volumio.
  2. To save you the trouble of using Google, here’s an example of somebody using the setup that I was trying to copy: Let’s Build a Raspberry Pi Streamer! (A Step by Step Guide) | Steve Hoffman Music Forums

We don’t either, just trying to help a fellow member with this most likely unrelated to volumio issue.
This is my last post to this subject, got enough.

Same here, Not working for Volumio either, just trying to understand/assist with your issue. Will step out of this conversation.

@Frankenheimer,

You’re using Volumio in its DIY/open source form, your detailed testing and feedback are vital to troubleshoot issues like this one. Our volunteer team’s troubleshooting expertise depends on the quality of the details you provide, your thorough testing and clear log outputs are critical.


For those using the dedicated hardware or OEM solutions, the provided support channels might offer more direct assistance. For clarity, here are the different Volumio offerings and their support structures:

  • DIY & Open Source:
    The DIY edition is available on GitHub and is supported by community collaboration. Note that this version relies on community support rather than dedicated service.

  • Volumio Player Premium:
    For users looking for enhanced features, Volumio Player offers premium functionality with a subscription model, complementing community support with additional benefits.

  • Designed & Manufactured Audiophile Devices:
    Available at the Volumio Shop, these products come with dedicated support and are engineered for optimal compatibility and performance.

  • OEM & Bespoke Solutions:
    For partners or those requiring custom implementations, Volumio offers tailored solutions through the OEM Custom Solutions program.

Kind Regards,

Yes, thanks. I hadn’t appreciated that you were all doing this as volunteers. In any event, I will have to aquire a few widgets, and a bit of time, to run the tests you’re interested in. I’ll be back in a few days.

And after all that – a bad USB connection was at fault. Benchmark now recognized.

I’ll go home and wipe the egg of my face now.

apology accepted, glad you solved it after all.