Hello Eversolo team and all eversoloers , I would like to report an issue regarding USB HID transport controls on the DAC-Z10 when used with Linux-based streamers, and politely ask whether this can be addressed in a future firmware update. Setup: DAC: Eversolo DAC-Z10 Host: Raspberry Pi 3B+ Connection: USB OS / Player: Volumio 4 (Linux, MPD-based) Observed behavior: The DAC enumerates correctly as: USB Audio device (XMOS) USB HID device Kernel logs confirm HID binding, for example: hid-generic ... USB HID v1.10 Device [Eversolo DAC-Z10] An input device node is created on the system. However: Pressing transport buttons on the DAC Remote (Play/Pause, Next, Previous etc.) produces no HID input events Tools such as evtest show no EV_KEY or Consumer Control events As a result, playback cannot be controlled from the DAC when connected to Linux-based hosts Important clarification This does not appear to be a Volumio or Linux configuration issue: USB HID is detected and bound correctly The input subsystem is working The problem is that no HID reports are emitted when buttons are pressed This suggests that: The HID interface is enumerated But the firmware does not send Consumer Control HID reports on generic USB Audio Class hosts (Linux) Request Would it be possible to: Enable emission of standard USB HID Consumer Control reports (Play/Pause, Stop, Next, Previous) when the DAC-Z10 is used as a USB Audio Class device on Linux / generic hosts in a future firmware release? This would greatly improve interoperability with: Volumio moOde RuneAudio Roon Bridge (Linux) Other embedded Linux streamers Many XMOS-based DACs successfully implement this, and the hardware already appears to support HID enumeration. Thank you very much for your time and for considering this request. Please let me know if any logs, USB traces, or additional testing would be helpful. Kind regards, branislavd
Hi, probably things got improved with the Z10. I own a Z8, but hid commands only work for BT connected players, and using the app. Have you checked if that is true on the Z10? I also have the Z8 connected to a Pi-based player, but have never dug the hid layer to see if the Z8 also reports itself as a HID node. Have you tried connecting the Z10 to a Windows (or to a MAc, although this is also kind of Linux based...) to see if it can actually control the player via HID?
Thanks for the input. I haven’t tested the Z10 with Windows or macOS yet. I don’t really use my DACs that way, as I have a separate desktop DAC for PC use. In my case, the Z10 is used only with a Linux-based streamer(s). From what I can see, it behaves similarly to what you describe on the Z8. The HID interface shows up, but no transport events are actually sent to the host when buttons are pressed. So, playback control doesn’t work on a Linux (generic USB audio) host. I was a bit surprised, since even my decade-old MDAC handles this perfectly, but I’m hopeful this is something Eversolo can polish in future firmware. It would be great to get clarification on whether USB HID control is currently intended only for BT use or if broader host support is planned.
Then, does this also imply it works on a Windows host? Things may be little different, drivers could be involved, rather than the functionality itself being totally absent. Cheers, Al
I’ll try it with my Windows 11 laptop when I get some time and report back what I find. The plan is to determine if Foobar, configured to respond to system media keys, reacts to Z10 remote transport (media) buttons. Alternatively, use the HIDView tools to check if Consumer Control usage is reported. Cheers, Bran
Update: I tested the Z10 on a Windows 11 laptop as well. The behavior is consistent with Linux: The Z10 enumerates correctly as USB Audio 2.0 A vendor-defined HID device is present However, Windows does not see it as a Consumer Control / media device Transport buttons (Play / Pause / Rewind / FF ) do not control playback on Windows either So this does not appear to be OS-specific or driver-related. The HID interface exists, but standard USB HID media key events are not implemented or emitted on any host. @Nutul This, I presume, matches the Z8 behavior and strongly suggests a Z10/8/6 firmware-side limitation rather than a host configuration issue. Hopefully, this can be considered as a future firmware enhancement — it would be a very welcome quality-of-life improvement for USB users.
Update: Firmware v1.0.1.45 does not change behavior in this regard; transport button events are still not passed through over USB. Hopefully, this will be introduced in the v1.0.2.x firmware branch.
I don't think it was even addressed / mentioned. But it would be a nice-to-have indeed. Then there is always the old story... we poor Z6/Z8 owners will never see anything new coming in... very sad, isn't it @Zidoo Support-Kim ...?