Volumio won't play DSD native

Dear Volumio team,

I have an issue when play .dsf file on both of Native DSD and DoP method if I set the mixer as hardware mode(FXAUDIO).
If I change the mixer to software mode, it can play the .dsf file with hearable sound

Please help to check my setup if I can do something to fix the issue
If need to add FXAUDIO (FX7) to the kernel to signal alsa that this device can play DSD files natively => Please help me.

Please find my setup as below:

  1. System information
    OS info
    Version of Volumio: 2.779
    Hostname: volumio
    Kernel: 4.19.86-v7+
    Governor: performance
    Uptime: 0 days, 0 Hrs, 16 Minutes, 46 Seconds

Audio info
Hw audio configured: FX-AUDIO
Mixer type: Hardware
Number of channels: 2
Supported sample rate: 44100 48000 88200 96000 176400 192000

Board info
Manufacturer: Raspberry Pi Foundation
Model: BCM2835 - Pi 3 Model B
Version: a02082 - Rev. 1.2
Firmware Version: Nov 29 2019 18:46:15 - 7d5bdbd77968098c981dadefae06aaec79354c69

CPU info
Brand: Processor rev 4 (v7l)
Speed: 1.20Mhz
Number of cores: 4
Physical cores: 4
Average load: 25%
Temperature: 64°C

Memory info
Memory: 992956 Ko
Free: 153748 Ko
Used: 839208 Ko

Storage info
INTERNAL storage - Size: 12492Mo Used: 229Mo Available: 11607Mo (93%)

  1. /
    volumio@volumio:~$ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
    Subdevices: 4/4
    Subdevice #0: subdevice #0
    Subdevice #1: subdevice #1
    Subdevice #2: subdevice #2
    Subdevice #3: subdevice #3
    card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
    Subdevices: 4/4
    Subdevice #0: subdevice #0
    Subdevice #1: subdevice #1
    Subdevice #2: subdevice #2
    Subdevice #3: subdevice #3
    card 2: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 5: FXAUDIO [FX-AUDIO], device 0: USB Audio [USB Audio]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    volumio@volumio:~$

3/
volumio@volumio:~$ lsusb -d 20b1:
Bus 001 Device 005: ID 20b1:0002 XMOS Ltd

volumio@volumio:~$ lsusb
Bus 001 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 001 Device 005: ID 20b1:0002 XMOS Ltd
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
volumio@volumio:~$

volumio@volumio:~$ cat /proc/asound/card*/stream0
FX-AUDIO FX-AUDIO at usb-3f980000.usb-1.4, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
volumio@volumio:~$

Thank you very much !!!

Dead Volumio Team :smiley:
can you had DSD Native support for FOSTEX A8 DAC ? (for Rasberry 3+ and Odroid N2+ )


FOSTEX FOSTEX USB AUDIO HP-A8 at usb-xhci-hcd.0.auto-1.4, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    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
    Data packet interval: 125 us
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us


root@volumion2:/data# aplay -l aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default:CARD=AMLAUGESOUND
    AML-AUGESOUND,
    Default Audio Device
sysdefault:CARD=AMLAUGESOUND
    AML-AUGESOUND,
    Default Audio Device
dmix:CARD=AMLAUGESOUND,DEV=0
    AML-AUGESOUND,
    Direct sample mixing device
dmix:CARD=AMLAUGESOUND,DEV=1
    AML-AUGESOUND,
    Direct sample mixing device
dmix:CARD=AMLAUGESOUND,DEV=2
    AML-AUGESOUND,
    Direct sample mixing device
dsnoop:CARD=AMLAUGESOUND,DEV=0
    AML-AUGESOUND,
    Direct sample snooping device
dsnoop:CARD=AMLAUGESOUND,DEV=1
    AML-AUGESOUND,
    Direct sample snooping device
dsnoop:CARD=AMLAUGESOUND,DEV=2
    AML-AUGESOUND,
    Direct sample snooping device
hw:CARD=AMLAUGESOUND,DEV=0
    AML-AUGESOUND,
    Direct hardware device without any conversions
hw:CARD=AMLAUGESOUND,DEV=1
    AML-AUGESOUND,
    Direct hardware device without any conversions
hw:CARD=AMLAUGESOUND,DEV=2
    AML-AUGESOUND,
    Direct hardware device without any conversions
plughw:CARD=AMLAUGESOUND,DEV=0
    AML-AUGESOUND,
    Hardware device with all software conversions
plughw:CARD=AMLAUGESOUND,DEV=1
    AML-AUGESOUND,
    Hardware device with all software conversions
plughw:CARD=AMLAUGESOUND,DEV=2
    AML-AUGESOUND,
    Hardware device with all software conversions
default:CARD=HPA8
    FOSTEX USB AUDIO HP-A8, USB Audio
    Default Audio Device
sysdefault:CARD=HPA8
    FOSTEX USB AUDIO HP-A8, USB Audio
    Default Audio Device
front:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    Front speakers
surround21:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    Direct sample mixing device
dsnoop:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    Direct sample snooping device
hw:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    Direct hardware device without any conversions
plughw:CARD=HPA8,DEV=0
    FOSTEX USB AUDIO HP-A8, USB Audio
    Hardware device with all software conversions
**** List of PLAYBACK Hardware Devices ****
card 0: AMLAUGESOUND [AML-AUGESOUND], device 0: SPDIF-B-dit-hifi dit-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 1: TDM-C-T9015-audio-hifi T9015-audio-hifi-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 2: SPDIF-dit-hifi dit-hifi-2 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HPA8 [FOSTEX USB AUDIO HP-A8], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Thank you So much for Volumio =D

I do not see any indication that your DAC supports DSD native.

And, we’re not dead :wink:

DSD capable devices have to be registered in the kernel’s usb audio driver.
This is a task for the supplier, not for us, as we do not control the PI kernel sources, so for PI the answer is no, we cannot do that.

For the N2 we could do this, because we maintain a copy of the Hardkernel kernel sources, but it needs the vendor id, product id and alt-set of the DSD capability, which you did not supply.

Hi everyone!
I’ve got the same configuration (rpi4+cambridge audio cxa61) and I cannot play dsf files through Dsd direct. Is there a solution to this?

Hi @russomarco,

I opened a ticket at Cambridge on July 20, 2020 (number 494123 ) and Chris from user support told me that their engineering team would answer me quickly.

I have no news at the moment, you can make a ticket too :wink:

Hi @jerome.cedric,

Thanks for your answer. I’ll make a ticket too then.

Hi! :smiley:
Is it possible to add support for Native DSD Playback with TEAC HA-P90SD?
Currently, DSD playback is possible only with DoP mode.

lsusb Output:

Bus 001 Device 004: ID 0644:804d TEAC Corp.
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

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

TEAC CORPORATION TEAC HA-P90SD at usb-3f980000.usb-1.1.3, high speed : USB Audio

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

Platform: RPi 3B+ with Volumio 2.834 installed.

Thanks in advance!

Please don’t ask the same question in various threads!!!
Answer: see your post Amlogic TV boxes thread. TV box images were based on a very old kernel and are no longer supported.

Sorry my account is new. In the first time, i can not comment or reply

hey there i have an Oktoreserach dac8 pro

here is the data
volumio@allovolumio:~$ Bus 001 Device 004: ID 0b95:1790 ASIX Electronics Corp.
-bash: Bus: command not found
volumio@allovolumio:~$ Bus 001 Device 003: ID 20b1:2009 XMOS Ltd
-bash: Bus: command not found
volumio@allovolumio:~$ Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc.
-bash: Bus: command not found
volumio@allovolumio:~$ Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-bash: Bus: command not found
volumio@allovolumio:~$ cat /proc/asound/card*/stream0
OKTO RESEARCH DAC8PRO at usb-3f980000.usb-1.2, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 800
Momentary freq = 191999 Hz (0x17.fff8)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 8
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 8
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 8
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us

Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 8
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Interface 2
Altset 2
Format: S16_LE
Channels: 8
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
i use the allo usbridge signature with an Raspberry Pi Compute Module 3+

The Oktoresearch dac8pro it is capable of nativ DSD64 and DSD Over Dop 64 and 128

guess the vendor id is missing? otherwise volumio works great :slight_smile: when it try to play an DSD64 file i get 192kHz and 24bit PCM in the display of the dac8 pro

cheers and thx janosch

Hey guys!

Please include my model too:

Model UID:McIntosh-HD HS USB Audio:2AFD:0005

Thanks a lot!

An old thread, but it seems to be alive.

I had the same issue with FiiO BTR5 which has nicely working native DSD from Android.

FiiO BTR5 ID 2972:0047

volumio@vardagsrum:~$ cat /proc/asound/card*/stream0
FiiO FiiO BTR5 at usb-3f980000.usb-1.4, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
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
Data packet interval: 125 us

Unfortunately this thread has been misinterpreted as a “please add DSD support” thread.
Only in a few cases, where we maintain our own kernel (mostly Community Portings) we can add DSD support, and only then in certain circumstances.
With the Raspberry PI, we do not maintain the kernel anymore, so please do not ask for adding DSD devices, if the RPi image does not support it, it does not.
Same with X86, though with a little more flexibility but only with a proven use case.
As for Community Portings, adding DSD support depends on the maintainer’s options.

Questions without any indication of platform (PI, Tinker, x86, Pine etc.) will not be answered

my mistake before, this is with a PI 4b. I’ve checked with the HW developer and they’ve said it should work. if I can double check that with being more specific I will, for the benefit of others.

Platform: TinkerBoard S
System Version: 2.874 Released: Sat Mar 13 16:59:56 CET 2021
USB DAC: Cambridge CAX81 (ESS Sabre ES9016K2M)
Subject: DSD Direct
With the above configuration Volumio plays DSD Direct DSD64 with excellent result. Unfortunately it does not play DSD128 or DSD256.
lsusb: Bus 001 Device 003: ID 22e8:ca02
There is no Vendor Information other than the Vendor ID:22e8 and device ID:ca02.
Altset 3

The CAX81 appears to be recognized as Class 2 (high speed). Any suggestions, is it possible to encourage the setup to play DSD128 or DSD256?

make sure the unit is set to audio class 2.0 mode (ships at 1.0), which you probably did as dsd64 is working.
Perhaps switching the usb port on the TB?
Also check the specs, Cambridge mentions “upto dsd256” but they do not say whether that is over PCM. You should do a cat /proc/asound/-yourcard-/stream0, -yourcard- is probably card5, please verify and post the result here

WoW!! Quick reply… many thanks.
The CAX81 is set to Class 2 mode - A4 on.
As you point out DSD64 is operational.

cat /proc/asound/card5/stream0
CA CA CXA81 2.0 at usb-ff540000.usb-1.3, 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
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600
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
Data packet interval: 125 us

After changing the Tinker Board S USB port:

cat /proc/asound/card5/stream0
CA CA CXA81 2.0 at usb-ff540000.usb-1.2, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 720
Momentary freq = 705598 Hz (0x58.3320)
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
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600
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
Data packet interval: 125 us

As a matter of interest I can play DSD64, DSD128, and DSD256 from a MacBook Pro using the Pine Player app.

Hi,
I have Volumio 3 beta running on Raspberry Pi Compute Module4 with IO board. My volumio is not playing DSD direct yet. I guess my DAC is not listed as DSD capable yet. I would really appreciate if my DAC is listed on next kernel release.

Here is my info.

Volumio for Raspberry Pi (5.4.83-v7l+ armv7l)
volumio@volumiocm4:~$ lsusb
Bus 001 Device 004: ID 0781:558c SanDisk Corp.
Bus 001 Device 017: ID 20b1:2102 XMOS Ltd
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I would really appreciate if My DAC will be listed on next release.
My DAC is Sotm sdp-1000 with XMOS chipset and AKM 4399 chipset

Bus 001 Device 017: ID 20b1:2102 XMOS Ltd

Thank you very much.

Your device is based on “20b1:2102”, which corresponds to the default quirk registration in the usb audio driver for XMOS devices with DSD support.
However, not all XMOS based USB DACs are DSD native capable.
Are you sure, yours is?
Check with cat /proc/asound/card5/stream0 and post the results here.