Mpd.conf modified at startup by 2.698

Hi to all!
With my DAC (SimAudio Moon 230 HAD) if i want my DAC to play DSD files as DSD, not as PCM, i have to add
dsd_usb “yes”
in the audio_output section of mpd.conf. Normally, this parameter stay in the .conf even when i upgrade version.
I upgrade to the new 2.698 (16-012020) yesterday and since that, each time i start my raspberry pi, the line disapear from mpd.conf and i have to edit the file and hot boot Volumio from the menu in order to play DSD natively.
TIA!

Would it help if you add the line to this file instead:

/volumio/app/plugins/music_service/mpd/mpd.conf.tmpl

I try what you suggest. Modify mpd.conf.tmpl doesn’t seem to have an effect by itself but it write the parameter in mpd.conf. So, yes it solve the problem but, one have to be prudent since the information seem not to be written in a logical way but probably at a line number, opening the possibility of overwritting existing informations or, writting outside curly brackets.
Thank you and, have a nice day.

The .tmpl file is a template file. Whenever you change settings such as Playback Options, Volumio will take the template file, substitute those strings inside curly braces with the corresponding settings you specify, and write it out to mpd.conf. The rest of the template, i.e. parts not inside curly braces, should just be written out without modification.

Thank you for the explanation. What worry me is the fact that the parameter place himself the line before the closing curly brace, at about the same position as i place it in the .tmpl file.
I once being fooled by this kind of problem at ms-dos batch files time.

Guys, as fas as I know, you can try to enable any dsd device you want in some config, but when that specific DAC is not in the kernel’s usb audio quirks table, it will not have any effect. This is unfortunate, but a little DSD design flaw, each capable DACs has to be registered in the kernel.
So, to verify whether a particular DAC should work, we would need the vendor and product id from the info you get out of lsusb while the DAC is attached.

Hi gkkpch,
I, too was thinking that you can’t enable DSD device with a parameter change. I find this parameter (and 2 others) on a board (i give you 2 links) I’m not sure what they do exactly but they do something. Perhap only light DEL differently… Or give snake oil at beer price,
lsusb don’t see the device. If i do
sudo aplay --list-devices
I get:
card 5: Audio [MOON USB DSD HD Audio], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

I remoive some bcm2835 stuff here.

and:

[code]volumio@volumio:~$ sudo cat /proc/asound/cards
0 [ALSA ]: bcm2835_alsa - bcm2835 ALSA
bcm2835 ALSA
5 [Audio ]: USB-Audio - MOON USB DSD HD Audio
Simaudio Ltd. MOON USB DSD HD Audio at usb-3f980000.usb-1.2, high speed

And:
volumio@volumio:~$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
default:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
dmix:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
dmix:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
dmix:CARD=ALSA,DEV=2
bcm2835 ALSA, bcm2835 IEC958/HDMI1
Direct sample mixing device
dsnoop:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=2
bcm2835 ALSA, bcm2835 IEC958/HDMI1
Direct sample snooping device
hw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=2
bcm2835 ALSA, bcm2835 IEC958/HDMI1
Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=2
bcm2835 ALSA, bcm2835 IEC958/HDMI1
Hardware device with all software conversions
default:CARD=Audio
MOON USB DSD HD Audio, USB Audio
Default Audio Device
sysdefault:CARD=Audio
MOON USB DSD HD Audio, USB Audio
Default Audio Device
front:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
Front speakers
surround21:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
Direct sample mixing device
dsnoop:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
Direct sample snooping device
hw:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
Direct hardware device without any conversions
plughw:CARD=Audio,DEV=0
MOON USB DSD HD Audio, USB Audio
Hardware device with all software conversions
[/code]

Here what happen while playing 24 bits file:

volumio@volumio:~$ sudo cat /proc/asound/card5/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

And a DSD128 file:

volumio@volumio:~$ sudo cat /proc/asound/card5/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072

I find my informations here:
audiophilestyle.com/forums/topi … bit-linux/
And here:
voyage-linux.34677.n3.nabble.com … 25584.html

Thank you and, have a nice day!

While playing a DSD track, do

cat /proc/asound/card5/stream0

also

lsusb

As asked in my previous post, the usb “VID:PID” (vendor and product id) are needed to verify DSD support for your device.
Without that, there is not much we can do.
Btw. please use CODE tags (in the editor) with long output, much easier to read, see above.

Hi gkkpch,
Sorry for the delay but, i was out of town for a few days. Heres the VIP:PID

[ 3.782975] usb 1-1.2: New USB device found, idVendor=2397, idProduct=000d, bcdDevice= 1.97 [ 3.782987] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.782996] usb 1-1.2: Product: MOON USB DSD HD Audio [ 3.783005] usb 1-1.2: Manufacturer: Simaudio Ltd. [ 3.783014] usb 1-1.2: SerialNumber: 413-001

And lsusb:

volumio@volumio:~$ lsusb Bus 001 Device 006: ID 0480:a200 Toshiba America Info. Systems, Inc. Bus 001 Device 004: ID 2397:000d 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

The Toshiba device is an USB external disk.

And finally,

[code]volumio@volumio:~$ cat /proc/asound/card5/stream0
Simaudio Ltd. MOON USB DSD HD Audio at usb-3f980000.usb-1.2, high speed : USB Audio

Playback:
Status: Running
Interface = 2
Altset = 1
Packet Size = 272
Momentary freq = 176407 Hz (0x16.0d08)
Feedback Format = 16.16
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
volumio@volumio:~$

[/code]

Thank you!