DSDs no longer playing in either direct or DOP mode

Hi…
I mostly play flacs, but have some DSDs, which I’ve played in the past in DSD direct mode. Some months ago, I discovered that I can no longer play them. In direct mode, I get “static” (though, if you listen carefully, you can make something out within the static); in DOP, I get silence. In both modes, Volumio acts as it all is normal (shows track progress). Transport is an Allo US bridge Signature. Volumio is version 3.785. DAC is ProJect Pre Box S2. Display on DAC shows DSD rate in direct mode and sampling rate in DOP.

I tried the DAC on another transport and DSD plays fine.

Thanks.
Michael

Some more information…

I tried the DAC with a second USBridge Signature, this one running a much older version of Volumio (3.742) from July… wondering if perhaps it some relatively recent update which was causing the problem. Again, I was unable to play DSD in either Direct or DOP modes.

To re-state, the DAC plays DSD using a PC and Audirvana, and I can play DSD using the USBridge/Volumio combination with a different DAC. So, the problem only occurs with the Volumio/USBridge/PreBox S2 Digital combo…but, it DEFINITELY used to work fine.

Any suggestions appreciated. Thanks.

Tested the same, using:
Pre-box S2 Digital.
rPi4, Volumio V3.795
DSD64, DSD128, DSD256, DSD512 all plays perfectly fine

Topping E30II
DSD64, DSD128, DSD256, DSD512 all plays perfectly fine

Innomaker Mini DAC
DSD64, DSD128, DSD256 all plays perfectly fine (doesn’t support DSD512)

So the problem seems to be with the USB-Bridge.
What brand is this bridge (Allo perhaps) and post a log.

Thanks for your assistance. Yes, transport is Allo Usbridge Signature.

Link to log…
http://logs.volumio.org/volumio/iPp0ytS.html

Then I am afraid it will not work anymore.
Please see:

Hello and thanks. I’m familiar with this thread…even have a post in there. My understanding is that this states that. For the past year or so, the updated ASIX driver has been included in the Volumio image. Note also that, the issues that were reported in relation to this driver (pops and clicks) are different from what I have reported (a constant hiss in direct DSD mode and silence in DOP mode)…and no issues at all with PCM files.

I’m sure that this issue didn’t start for me until well after the drivers were integrated, and my other DSD dac works fine with US bridge.

Were my error logs at all helpful?

Thx…

@nerd

Hi Nerd, Any suggestion.

Thx again for your help.

Hey,

Issue Summary

After updating Volumio to version 3.785+, which includes kernel 6.1.72, DSD playback is no longer working correctly when using the Allo USBridge Signature transport with the ProJect Pre Box S2 DAC.

This issue was not present in Volumio 3.742 (kernel 6.1.69), confirming that kernel 6.1.72 introduced a regression affecting DSD playback.

Observed Behavior

  • DSD Direct Mode (Native DSD) → Produces static noise (but track progress bar moves, and DAC displays correct DSD rate).
  • DoP Mode (DSD over PCM)No sound at all (but track progress bar moves, DAC shows correct PCM rate).
  • PCM Playback → Works normally.
  • ProJect Pre Box S2 on a different transport (non-Allo USBridge Signature)DSD works fine.

This confirms that the issue is specific to the interaction between Volumio’s newer kernel and the Allo USBridge Signature when paired with this DAC.

Key Debugging Findings

  1. Volumio 3.742 (Kernel 6.1.69) plays DSD correctly.
  2. Volumio 3.795 (Kernel 6.1.72) breaks DSD playback.
  3. No software changes to Volumio’s ALSA, MPD, or config occurred between these versions.
  4. Kernel logs (dmesg | grep -i usb) do not show obvious errors.
  5. Forcing snd_usb_audio.dsd_native=1 in /boot/cmdline.txt did not restore playback.

Possible Causes

  • Kernel 6.1.72 introduced a regression in USB audio handling, affecting DSD transmission via the Allo USBridge Signature.
  • Changes in the ASIX USB-Ethernet driver (used by the Allo USBridge Signature) may have affected USB bandwidth allocation, causing issues with real-time DSD data transmission.
  • A change in ALSA’s USB audio quirks in kernel 6.1.72 may have impacted DSD handling for this DAC.

Request for Investigation

Since this issue appears only after upgrading to kernel 6.1.72:

  • Check if there were any USB Audio (snd-usb-audio) changes in 6.1.72 that impact DSD playback?
  • Verify if DSD quirks for the ProJect Pre Box S2 DAC or Allo USBridge Signature were modified in kernel 6.1.72?

Kind Regards,

Hey @Alphecca,

Since the only change is the kernel update from 6.1.69 to 6.1.72, debugging should focus on USB audio handling, ALSA DSD recognition, and kernel module behavior.

Step-by-Step Debugging Tests


1. Verify ALSA DSD Capabilities

Run:

cat /proc/asound/card*/stream*
  • This will list what sample rates and formats the DAC advertises.
  • Expected output for DSD Direct:
    Playback: DSD_U32_BE
    
  • Expected output for DoP:
    Playback: S32_LE (176400 Hz or 352800 Hz)
    

If DSD_U32_BE is missing, the kernel update broke the DAC’s native DSD recognition.


2. Check ALSA Hardware Parameters

Run:

cat /proc/asound/card*/pcm*p/sub*/hw_params
  • Run while playing a DSD file.
  • Expected output for DSD Direct:
    access: RW_INTERLEAVED
    format: DSD_U32_BE
    rate: 2822400
    
  • Expected output for DoP:
    access: RW_INTERLEAVED
    format: S32_LE
    rate: 176400
    

If format is S32_LE in DSD Direct mode, the DAC is not receiving proper DSD data.


3. Check Kernel Logs for USB Audio Errors

Run:

dmesg | grep -i usb
dmesg | grep -i audio
dmesg | grep -i dsd
  • Look for errors like:
    usb 1-1: Failed to set sample rate
    usb 1-1: Cannot set interface
    

If you see errors related to setting sample rates or USB interface failures, the kernel update introduced a USB audio regression.


4. Check MPD Log for Errors

Run:

journalctl -u mpd --no-pager --since "10 minutes ago"
  • Look for errors related to DSD playback.
  • Key indicators:
    • alsa_output: Failed to set format DSD_U32_BE
    • alsa_output: Falling back to PCM

If MPD fails to set DSD_U32_BE, something in ALSA is preventing DSD playback.


5. Check ALSA Mixer Settings

Run:

amixer -c [DAC_CARD_NUMBER]
  • Example (replace 1 with actual DAC card number):
    amixer -c 1
    
  • Look for any unexpected volume controls or muted settings.

If volume is set too low or muted, it may affect DoP mode.


6. Check Kernel Modules

Run:

lsmod | grep snd_usb_audio
  • This shows if the correct USB audio module is loaded.

Also check:

modinfo snd-usb-audio | grep version
  • Compare the version between kernel 6.1.69 and 6.1.72.

If there’s a version difference, changes in snd-usb-audio may be responsible.


7. Force DSD Native Mode

Try adding a kernel parameter to force DSD native mode:

sudo nano /boot/cmdline.txt

Add at the end:

snd_usb_audio.dsd_native=1

Save, then reboot:

sudo reboot

Test DSD playback.

If this restores DSD playback, kernel 6.1.72 is incorrectly defaulting to PCM.


8. Test with Another USB Port

If the Allo USBridge Signature has multiple USB ports, try a different one.

  • Certain USB controller quirks can affect high-bandwidth DSD transfers.

If another USB port works, kernel 6.1.72 may have introduced an issue with USB bandwidth allocation.


What to Do Next?

  1. Run these debugging tests and document results.
  2. If you find specific ALSA or USB errors, we can refine the Volumio forum post.
  3. If everything points to a kernel regression, the best solution is to report it upstream to ALSA or kernel developers.

Let me know what you find.

Kind Regards,

Hi nerd…
Many thx. Here is the output from steps 1 through 6. I didn’t see any obvious errors, but I can’t claim to know what I’m looking for.

Thanx once more…

[Edited by moderator for readability reasons]

login as: volumio
volumio@10.0.0.248's password:
                       ___
                      /\_ \                        __
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/

             Free Audiophile Linux Music Player - Version 3.0

          © 2015-2021 Michelangelo Guarise - Volumio Team - Volumio.org

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Welcome to Volumio for Raspberry Pi (6.6.62-v7+ armv7l)
volumio@volumiooffice:~$ cat /proc/asound/card*/stream*
Pro-Ject Pre Box S2 Digital at usb-3f980000.usb-1.2, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 1
    Implicit Feedback Mode: No
  Interface 1
    Altset 2
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    DSD raw: DOP=0, bitrev=0
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 2
    Implicit Feedback Mode: No





volumio@volumiooffice:~$ cat /proc/asound/card*/pcm*p/sub*/hw_params
closed
closed
closed
closed
closed
closed
closed
closed
closed
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 44100
buffer_size: 176400




volumio@volumiooffice:~$ dmesg | grep -i usb
[    0.064832] usbcore: registered new interface driver usbfs
[    0.064859] usbcore: registered new interface driver hub
[    0.064886] usbcore: registered new device driver usb
[    1.076742] usbcore: registered new interface driver lan78xx
[    1.076766] usbcore: registered new interface driver smsc95xx
[    2.005208] dwc_otg 3f980000.usb: DWC OTG Controller
[    2.005228] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number                                                                                                              1
[    2.005249] dwc_otg 3f980000.usb: irq 89, io mem 0x00000000
[    2.005418] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bc                                                                                                             dDevice= 6.06
[    2.005428] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=                                                                                                             1
[    2.005435] usb usb1: Product: DWC OTG Controller
[    2.005441] usb usb1: Manufacturer: Linux 6.6.62-v7+ dwc_otg_hcd
[    2.005446] usb usb1: SerialNumber: 3f980000.usb
[    2.005813] hub 1-0:1.0: USB hub found
[    2.006389] usbcore: registered new interface driver usb-storage
[    2.008653] usbcore: registered new interface driver usbhid
[    2.008658] usbhid: USB HID core driver
[    2.366380] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.606491] usb 1-1: New USB device found, idVendor=0451, idProduct=8142, bcd                                                                                                             Device= 1.00
[    2.606506] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[    2.606515] usb 1-1: SerialNumber: DC08008120CE
[    2.606965] hub 1-1:1.0: USB hub found
[    2.936228] usb 1-1.2: new high-speed USB device number 3 using dwc_otg
[    3.087411] usb 1-1.2: New USB device found, idVendor=2772, idProduct=0230, b                                                                                                             cdDevice= 2.12
[    3.087436] usb 1-1.2: New USB device strings: Mfr=1, Product=3, SerialNumber                                                                                                             =0
[    3.087445] usb 1-1.2: Product: Pre Box S2 Digital
[    3.087452] usb 1-1.2: Manufacturer: Pro-Ject
[    3.092108] input: Pro-Ject Pre Box S2 Digital as /devices/platform/soc/3f980                                                                                                             000.usb/usb1/1-1/1-1.2/1-1.2:1.3/0003:2772:0230.0001/input/input0
[    3.166958] hid-generic 0003:2772:0230.0001: input,hidraw0: USB HID v1.10 Dev                                                                                                             ice [Pro-Ject Pre Box S2 Digital] on usb-3f980000.usb-1.2/input3
[    3.219654] usbcore: registered new interface driver uas
[    3.266301] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    3.411781] usb 1-1.3: New USB device found, idVendor=0b95, idProduct=1790, b                                                                                                             cdDevice= 1.00
[    3.411796] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber                                                                                                             =3
[    3.411804] usb 1-1.3: Product: AX88179
[    3.411811] usb 1-1.3: Manufacturer: ASIX Elec. Corp.
[    3.411817] usb 1-1.3: SerialNumber: 00000000000028
[   16.105046] usbcore: registered new interface driver ax88179_178a
[   16.381438] usb 1-1.2: 1:2 : unsupported format bits 0x100000000
[   16.388630] usbcore: registered new interface driver snd-usb-audio
[   19.083425] Modules linked in: nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_i                                                                                                             pv4 xt_tcpudp nft_compat nf_tables 8021q garp stp llc nfnetlink cfg80211 rfkill                                                                                                              snd_usb_audio snd_hwdep snd_usbmidi_lib snd_seq_midi ax88179_178a snd_seq_midi_e                                                                                                             vent snd_rawmidi raspberrypi_hwmon bcm2835_codec(C) v4l2_mem2mem snd_bcm2835(C)                                                                                                              snd_pcm bcm2835_v4l2(C) bcm2835_isp(C) videobuf2_vmalloc snd_seq bcm2835_mmal_vc                                                                                                             hiq(C) snd_seq_device videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_t                                                                                                             imer videodev raspberrypi_gpiomem videobuf2_common snd mc vc_sm_cma(C) uio_pdrv_                                                                                                             genirq uio i2c_dev ip_tables x_tables ipv6 uas squashfs overlay nls_iso8859_1 fu                                                                                                             se i2c_bcm2835 fixed




volumio@volumiooffice:~$ dmesg | grep -i audio
[   15.769361] bcm2835_audio bcm2835_audio: card created with 4 channels
[   15.776664] bcm2835_audio bcm2835_audio: card created with 4 channels
[   16.388630] usbcore: registered new interface driver snd-usb-audio
[   19.083425] Modules linked in: nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_i                                                                                                             pv4 xt_tcpudp nft_compat nf_tables 8021q garp stp llc nfnetlink cfg80211 rfkill                                                                                                              snd_usb_audio snd_hwdep snd_usbmidi_lib snd_seq_midi ax88179_178a snd_seq_midi_e                                                                                                             vent snd_rawmidi raspberrypi_hwmon bcm2835_codec(C) v4l2_mem2mem snd_bcm2835(C)                                                                                                              snd_pcm bcm2835_v4l2(C) bcm2835_isp(C) videobuf2_vmalloc snd_seq bcm2835_mmal_vc                                                                                                             hiq(C) snd_seq_device videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_t                                                                                                             imer videodev raspberrypi_gpiomem videobuf2_common snd mc vc_sm_cma(C) uio_pdrv_                                                                                                             genirq uio i2c_dev ip_tables x_tables ipv6 uas squashfs overlay nls_iso8859_1 fu                                                                                                             se i2c_bcm2835 fixed
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$



volumio@volumiooffice:~$ dmesg | grep -i dsd
[   28.383618] CIFS: Attempting to mount //10.0.0.72/DSD
[   37.488037] CIFS: Attempting to mount //10.0.0.72/DSD
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$



volumio@volumiooffice:~$ journalctl -u mpd --no-pager --since "10 minutes ago"
-- Logs begin at Thu 2019-02-14 05:11:59 EST, end at Mon 2025-03-17 15:46:19 EDT. --
-- No entries --
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$



volumio@volumiooffice:~$ amixer -c 1
Simple mixer control 'PCM',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback -10239 - 400
  Mono: Playback 0 [96%] [0.00dB] [on]
volumio@volumiooffice:~$


volumio@volumiooffice:~$ lsmod | grep snd_usb_audio
snd_usb_audio         278528  1
snd_hwdep              12288  1 snd_usb_audio
snd_usbmidi_lib        28672  1 snd_usb_audio
snd_pcm               126976  2 snd_usb_audio,snd_bcm2835
snd                    94208  17 snd_hwdep,snd_seq,snd_usb_audio,snd_timer,snd_rawmidi,snd_usbmidi_lib,snd_seq_device,snd_bcm2835,snd_pcm
mc                     53248  7 bcm2835_isp,bcm2835_codec,snd_usb_audio,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$


volumio@volumiooffice:~$ modinfo snd-usb-audio | grep version
-bash: modinfo: command not found
volumio@volumiooffice:~$

Hey @Alphecca,

Key Findings

  • DSD Capability Recognized (DSD_U32_BE detected in ALSA).
  • No MPD Errors (Playback proceeds, but output is incorrect).
  • Kernel Log Warning: usb 1-1.2: 1:2 : unsupported format bits 0x100000000 (Potential DSD format issue).
  • No DSD-related logs in dmesg (Kernel may not be processing DSD streams correctly).

Next Debugging Steps

  1. Force Native DSD Mode:

    sudo nano /boot/cmdline.txt
    

    Add at the end:

    snd_usb_audio.dsd_native=1
    

    Save, reboot, test DSD playback.

  2. Check if Kernel Applies a DSD Quirk:

    cat /sys/module/snd_usb_audio/parameters/quirk_alias
    
  3. Verify ALSA Format During Playback:
    Play a DSD file, then run:

    cat /proc/asound/card*/pcm*p/sub*/hw_params
    
    • Expected: DSD_U32_BE
    • If PCM (S32_LE) appears → Kernel issue.
  4. Check Kernel Logs for USB Audio Issues:

    dmesg | grep -i 'snd-usb-audio'
    

Expected Outcome

  • If snd_usb_audio.dsd_native=1 fixes it, kernel 6.1.72 is defaulting to PCM instead of DSD.
  • If hw_params shows PCM instead of DSD during playback, DSD is not being sent correctly.
  • If dmesg logs show format errors, this confirms a kernel regression affecting DSD.

Let me know the results.

Kind Regards,

please make sure to disable the software volume control, otherwise the DSD stream will be converted to PCM

please also make sure to not use FusionDSP when playing DSD files

Here is the latest…

volumio@volumiooffice:~$ cat /sys/module/snd_usb_audio/parameters/quirk_alias
(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(nu                                                                                                             ll),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)                                                                                                             ,(null),(null),(null),(null),(null),(null),(null),(null),(null)
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$ cat /proc/asound/card*/pcm*p/sub*/hw_params
closed
closed
closed
closed
closed
closed
closed
closed
closed
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$
volumio@volumiooffice:~$ dmesg | grep -i 'snd-usb-audio'
[   16.376441] usbcore: registered new interface driver snd-usb-audio
volumio@volumiooffice:~$

Forcing native DSD made no difference. Mixer Type is set to Hardware. FusionDSP is not installed.

In case I didn’t mention this…the display on the DAC always seems to show what I expect, based on the mode/format (DSD64, for instance, for Direct, or 176k, for instance, for DOP). Also…in direct mode…you can just make out some music in the static.

Once more, thank you…I appreciate it.