• Disclaimer: This Vendor's Forum is a paid-for commercial area. Unlike the rest of diyAudio, the Vendor has complete control of what may or may not be posted in this forum. If you wish to discuss technical matters outside the bounds of what is permitted by the Vendor, please use the non-commercial areas of diyAudio to do so.

Support for Botic Linux driver

Unfortunately not. But it might be worth to check the status of your DSD playback on Botic with alsa driver.

Try one of them:
Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params
or
less /proc/asound/card0/pcm0p/sub0/hw_params
If you get a result similar to zz1969's, then your alsa driver is working well at the software level and your problem may be again directed to the hardware setting. This is my personal guess and others may have different ideas.

Thanks. I tried the first one and got this:
Code:
closed
 
Thanks. I tried the first one and got this:
Code:
closed

Well, I didn't expect this result.

First, you might check the hw_params on playing a PCM source (a CD source is convenient). If you get a result similar to what is shown below, then you have to check your software setting of DSD.

access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 90
buffer_size: 22050

If it is okay (I mean your DSD setting is concordant with miero's instruction), then I think the problem goes to your hardware setting.
 
Well, I didn't expect this result.

First, you might check the hw_params on playing a PCM source (a CD source is convenient). If you get a result similar to what is shown below, then you have to check your software setting of DSD.

access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 90
buffer_size: 22050

If it is okay (I mean your DSD setting is concordant with miero's instruction), then I think the problem goes to your hardware setting.

Ahh. I realise now that the DSD had to be playing.
I tried it with a .dff file playing and got:
Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 128
buffer_size: 16384

So I guess my problem is hardware related?
 
Ahh. I realise now that the DSD had to be playing.
I tried it with a .dff file playing and got:
Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 128
buffer_size: 16384
So I guess my problem is hardware related?

Though I'm not confident, your hardware setting appears okay. But the rate of 352800 appears too much unless you are playing a DSD (maybe DSD64) with multi-channels. With my B3 set for 2 channels and B3SE, the rate is always 176.4 in case of DSD128. Maybe we need a comment or help from experts like lintweaker.
 
I confirm now the following:
Setup: BIIISE + BBB with Cronus (Botic 5, mpd) connected as shown by Kaskade in Cronus thread (asynchronous???). NAS - QNAP w/Twonky.
No need to bug yourself with Linux code connecting NAS. Kinsky sees mpd at BBB and it sees Twonky. Any file format is being controlled by Kinsky (including DSD) and sent to BBB alright.
Enjoying Rod Stewart DSD now :)
 
Thanks, Twluke. Made it working finally. Parameters for DSD:
root@botic:~# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: DSD_U32_LE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 128
buffer_size: 16384

Are those correct parameters? I was confused by the rate: 88200. It is a DSF file playing.
These are excellent. As native DSD using the DSD_U32_LE (or BE) sample format sends 4 DSD bytes per sample, the needed rate is also down by a factor of 4.

Normal DSD rate for DSD64 is 352800 (8 DSD bits per sample).
Native DSD for 32-bit DSD sample format =/4 : 88200
Native DSD using DoP =/2 : 176400

DSD rate /4 =
 
Ahh. I realise now that the DSD had to be playing.
I tried it with a .dff file playing and got:
Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 128
buffer_size: 16384
So I guess my problem is hardware related?
If you are using MPD and playing a DSF file and seeing format: S32_LE, you are not doing native DSD but probably doing DSD->PCM conversion. Your mpd.conf is not setup properly.
 
If you are using MPD and playing a DSF file and seeing format: S32_LE, you are not doing native DSD but probably doing DSD->PCM conversion. Your mpd.conf is not setup properly.

This is my mpd.conf:
Code:
audio_output {
        type            "alsa"
        name            "Botic"
        device          "hw:0,0"
        format          "*:32:1"
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "3"
        priority        "FIFO:32"
        period_time     "1"
        mixer_type      "hardware"
        mixer_control   "MasterTrim"
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
 
Member
Joined 2007
Paid Member
I have been writing alsa.conf plugs to manipulate Cronus output. They only work when tested using 'aplay' and never when using the MPD daemon. Nothing I have tried in mpd.conf has routed the output to the ALSA plugs. I have exhausted the small amount of help on the www. Any suggestions of any kind? TIA!

Frank
 
miero, is there any chance you could help me get i2c working with my Buffalo II DACs?
I have the DAC i2c headers connected to the Hermes (SND, SCL and GND - I assume I don't need the voltage connected?), I have created the botic_helper and daccfg_es9018 files (although I wasn't sure whether ir not I had to put them somewhere specific), made them executable and used the command you stated which enabled them at boot.

I still have volume listed as n/a and i2cdetect gives me nothing. I've even tried executing the scripts with ./ command.

What can I be doing wrong? Bear in mind that I'm a Linux noob.
 
miero, is there any chance you could help me get i2c working with my Buffalo II DACs?
I have the DAC i2c headers connected to the Hermes (SND, SCL and GND - I assume I don't need the voltage connected?), I have created the botic_helper and daccfg_es9018 files (although I wasn't sure whether ir not I had to put them somewhere specific), made them executable and used the command you stated which enabled them at boot.

I still have volume listed as n/a and i2cdetect gives me nothing. I've even tried executing the scripts with ./ command.

What can I be doing wrong? Bear in mind that I'm a Linux noob.
Did you feed the isolated I2C on the Hermes with 3.3V from the DAC powersupply?