L.K.S. MH-DA004 DAC

Setup is Allo USBRIDGE (Volume 2) feeding the L.K.S MH-DA004 DAC (Two-chip ES9038pro decoding method). The USB input is the Amanero Combo384 Module. There is no problem playing up to DSD128 from Volume 2, but DSD256 and DSD512 are not possible, only on Windows.
Any suggestions would be helpful. Is it required to update firmware for the Amanero combo384? or possibly a setting in Volume 2 that I may have overlooked.

Volumio is releasing a new image for USBridge . Please wait until full testing is complete .

Great news… soon I hope.
My current system is:
System Version: 2.255 Released Wed Aug 9 13:26:38 CEST 2017

New image of Volumio is under testing , we should release before one week .

Sparky Version: 2.282 has been released. Is that the version Allo is referencing?

Did you test the latest version ? Is DSD working at 256 ?

I have installed the version Sparky 2.282 on the USbridge. The USB from the USbrdge is connected to my L.K.S. MH-DA004 DAC. The USB input for the DAC uses the Amanero USB to I2S adapter. Native DSD256 and below works well with Windows with Windows driver on the MH-DA004. Maybe you can make a suggestion for me.

Using Sparky USbridge 2.282 I can select Playback Options, DSD Playback Mode, DSD Direct or DSD over PCM (DoP).

Results:
DSD over PCM (DoP)
all PCM is OK.
DSD64 is OK.
DSD128 is OK.
DSD256 plays as PCM384K

DSD Direct
all PCM is OK.
DSD64 plays as PCM352K
DSD128 plays as PCM384K
DSD256 plays as PCM384K

Version Sparky 2.282 will not RESTART, but shuts down correctly with [OK] Reached target Shutdown.

I think this requires a comprehensive answer.
Let’s start by telling how direct DSD works on Volumio.

We use latest mpd direct DSD support, which basically understands (from alsa) if the USB device supports direct DSD and up to which format. If direct DSD is not detected as supported, in direct DSD mode MPD will resample to the highest PCM sample rate supported by the DAC.

How does alsa know if direct DSD is supported or not? Basically, the idea I’ve come up with is that the DAC USB Receiver enumerates in certain ways to signal this. This means that notifying to alsa what a DAC support or does not support is a duty of the USB Receiver.

I’ve seen many cases of DACs which are specced as direct DSD compatible, and such feature works on windows, but they don’t correctly signal it to linux resulting in DSD files being resampled while in direct DSD mode.

Particularly, I’ve seen it happen on XMOS based receivers (where the programming of the XMOS receiver MCU is handled by the manufacturer) and my theory is that in this code the “linux compatible” DSD mode is not properly implemented by some manufacturers, while others do implement it correctly.

Since I know practically zero on how you program USB receiver , I do not have a clue on what’s missing on those MCU software to enumerate correctly, but I am investigating with some experts about it. If amanero creator is interested, we could have an exchange about this.

So in order to have direct DSD mode available in a DAC it must:

  • Be direct DSD compatible
  • Properly signal this to linux OS

Do you have clicks when switching dsd-pcm formats?
ps. please contact developers of L.K.S. MH-DA004 DAC, maybe they give you new firmware for dsd native!