DSD Direct (again)

We are working on support for various devices across a number of Volumio platforms.
X86 (upcoming stretch beta) will have the latest kernel (4.19.y) where all the following is supported already.
The same support has also been added to the RPI kernel this week, for which a Volumio update will be made when the kernel becomes available for download.
We plan to support the same on Odroid C2 (WIP), Cubox (WIP) and Rock64, aimed for the end of January.
For Tinkerboard we need Asus to help us, but we will have a workaround, also aimed for the en of January.
Odroid C1, Sparky, Sopine/ Pine64 need to be checked first , this is because of their relatively old kernels.

USB Audio with DSD Support
With the patched kernel versions, most XMOS, Thesycon and Mytek devices will be detected in a generic way.
So in case the device has a vendor ID 0x20b1, 0x152a or 0x25ce then DSD-direct is supported.
That is why they are not explicitly mentioned in the following list of devices with DSD-direct capabilities:

With altsetting 2:

iFi Audio micro/nano iDSD AURALiC VEGA Wyred 4 Sound DAC-2 DSD Matrix Audio X-SPDIF 2 Matrix Audio X-Sabre Matrix Audio Mini-i Pro OPPO HA-1 OPPO Sonica OPPO UDP-205 LH Labs VI DAC Infinity Pro-Ject Pre Box S2 Digital
With altsetting 3:

SMSL D1 DAC
Encore mDSD
Hegel HD12 DSD
NuPrime DAC-10
Furutech ADL Stratos
NuPrime Audio DAC-9 
Bryston BDA3 
Gustard DAC-X20U 
Denafrips Ares DAC 
DIYINHK DSD DXD 384kHz USB to I2S/DSD 
Lsounds I2SoverUSB
Eastern El. MiniMax Tube DAC Supreme 
Aune X1S 32BIT/384 DSD DAC
Unison Research Unico CD Due
CH Precision C1 DAC
Singxer F-1 converter board 
OPPO HA-2
HDTA Serenade DSD 
M2Tech Young MkIII 
PS Audio NuWave DAC
Audiolab M-DAC+
W4S DAC-2v2SE 
Mutec MC3+ USB
MSB Technology
Amanero - Combo384 
T+A DAC8DSD-V2.0, MP1000E-V2.0, MP2000R-V2.0, MP2500R-V2.0, MP3100HV-V2.0 
T+A USB HD Audio 1
T+A USB HD Audio 2

Hi All

I am new to Volumio.
I have same issue as Marco on my Pi3B. (DSD Direct/DoP setting working opposite)
But I gone through all above of this post, still have no idea on that.
Anyone can help?
Or, simply set it DoP for DSD music play?

Thanks
Kenny

Delighted to say the latest release with the patched kernel now supports my:
Audiolab M-One (Matrix display confirms DSD)
Roksan K3 (DSD led lit up)
so both my recent purchases are now earning their keep properly.
As for the Arcam IRDAC II - as it doesn’t have any indication what signal it’s processing, I’ll have to ask their tech support which hardware it uses. I’ll pass the good news back to Roksan tech support as they were very helpful

That’s great to hear! It must be a tedious job, what with all those diferent DACs and then do it across several platforms. Pfff.

This is why I have been thinking, what if ‘advanced’ users could do it themselves? I don’t know how hard it is, but if a set of instructions is created (like, for example, with foobar2000 and the SACD/DSD plugin) that enabled these users to DIY it on Sundays, it would free up the developers to do other stuff. A set of instructions or maybe even a shell script could possibly do it. An option on the web interface would be another candidate. The DIY-ers should then share the end results with the community, after the end result has been vetted by the developers. Naturally, it would depend on how difficult it is.
Just an idea…

Thanks & cheers, guys!
Marco

not that simple, the source code of the usb driver needs to be adapted (quirks module) and then the kernel needs to be recompiled. Stupid DSD standard design flaw…

I got fed up waiting for Arcam to reply (maybe now they are part of the mighty Samsung their usually quick help has been moderated).
So lsusb turns up:
25c4:0008 (which is the IRDAC2 confirmed by Googling that and finding a Windows driver on Drivermax) and
2522:0007 (which is the Geek Labs - which I know is working with DoP).
So was 25c4:0008 in that last release (as I said previously there’s no visual clue on the DAC what format its receiving)
Many thanks

Same problem here with a Nagra tube DAC in direct DSD (xmos based).
VID: 139F
PID: 5504
Playing DSD64 and 256 switches it to PCM 384kHz. Funny fact is that playing DSD 128 upsamples it to DSD 256 :unamused:

Thanks,

Tiago

DSD support is not general, it is platform dependent.
Without mentioning your platform (PI, X86, other?), there is nothing we can do.
Refer to the list I posted, if your DAC is not in there, then it depends on the platform whether we can add it or our hands are tied.

see above

My DAC is a chinese made ES9038PRO with Crystek CCHD-575 and XMOS XU208 USB.
With Volumio on Raspberry the DSD works perfectly while with the Tinkerboard S the DSD64 go into PCM at 352Khz while the DSD128 does not play, if I set DOP the DSD are played and the DAC says 5.6Mhz with a DSD128.

Asus Tinkerboard S 2G/16G - Volumio 2.555 (same result also on Volumio 2.527)

The output of lsusb is:

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 006: ID 0eef:0005 D-WAV Scientific Co., Ltd Bus 001 Device 005: ID 20b1:0008 XMOS Ltd Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 0bda:481a Realtek Semiconductor Corp. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Output of: cat /proc/asound/card*/stream0:

Generic USB Audio OnBoard at usb-ff500000.usb-1, high speed : USB Audio

Playback:
  Status: Stop
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 4 OUT (ADAPTIVE)
    Rates: 8000
    Data packet interval: 1000 us

Capture:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 1 IN (ASYNC)
    Rates: 8000
    Data packet interval: 1000 us
XMOS XMOS Audio at usb-ff540000.usb-1.1.4, high speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 448
    Momentary freq = 352799 Hz (0x2c.1990)
    Feedback Format = 16.16
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
  Interface 1
    Altset 3
    Format: SPECIAL
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us[code]

(Edit: sorry, I needed to clean up your double posting (one got caught))

We should be on the same support level for Tinkerboard with the latest build.
I aligned early January for quite a range of platforms, not sure why there is a difference, I need to check it.

Ok I understand you, check your code, I look forward to your work. Thank you much, I really like your job, Volumio is a great product!

Sorry. I installed Volumio on a Rpi

Thank You!

Hi guys!

Is it possible to add DSD direct support for Charleston V3 (Amanero-based) USB transport for Volumio on Raspberry PI 3B?

lsusb says:

Bus 001 Device 004: ID 16d0:071a MCS
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cat /proc/asound/card*/stream0 says

Energy Audio Charleston_V3 at usb-3f980000.usb-1.3, high speed : USB Audio

Playback:
  Status: Stop
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us

Thank you in advance!

How strange, now I can also play the DSD256! There is nothing changed, I just connected the raspberry to the DAC to play a DSD128, then I reconnected the tinkerboard S and voila now also plays the 256 … the only difference now, is that the display is powered separately. Any ideas?

if you could create a log (see volumio.local/dev) with both situation, we could compare them.
When you create a log, you will receive a url. Please post the two here.

Ok, I send the log. Actually the DSD are playing correctly.

but you did not post the url’s :mrgreen:
Anway, if DSD works, then all is fine.

Sorry but yesterday I had problems with the internet … this is the url: logs.volumio.org/volumio/qpsOEnE.html
however, at the moment everything seems to be going well.
Thank’s

OK.
Should you notice anything, just send a log and post the link.