• 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

Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use player-UI MPD config section
###################################
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
db_file "/var/lib/mpd/tag_cache"
sticker_file "/var/lib/mpd/sticker.sql"
log_file "/var/log/mpd/mpd.log"
pid_file "/var/run/mpd/pid"
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
state_file "/var/lib/mpd/state"
user "mpd"
bind_to_address "any"
port "6600"
zeroconf_enabled "yes"

few reboots still usb drive not visible
 
Last edited:
few reboots still usb drive not visible

This is because you are not adding your USB device to the alsa section of your /etc/mpd.conf.

Try aplay -l like below:

root@botic:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Botic [Botic], device 0: external dac-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Amanero [Combo384 Amanero], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

In this case, the USB device is Amanero and the card number is "1".

So add an additional audio_output for your USB device like below:

audio_output {
type "alsa"
name "Your USB device"
device "hw:1,0"
dsd_usb "yes" #This might be dependent on your USB device
dsd_native "yes"
dsd_native_type "3"
priority "FIFO:32"
period_time "1"
mixer_type "software"
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}

Then restart your MPD, you'll find your USB device on Volumio screen. That's all, if your boticization went really uneventful.
 
Last edited:
dsd_usb "yes"
dsd_native "yes"
dsd_native_type "3"
That won't work for DSD - there is currently no "native" DSD method available for USB interfaces - and the Linux USB driver (snd-usb-audio) certainly contains no such logic.
All current USB products achieve DSD support via DSD-over-PCM, and the corresponding mpd configuration will be -
Code:
dsd_usb "yes"
dsd_native "no"
 
That won't work for DSD - there is currently no "native" DSD method available for USB interfaces [/code]

Uhm..., you'll need some home work before this comment :). Amanero Combo384 is well known to support native DSD with the latest firmware.

Shown below is the result of /proc/asound/card1/pcm0p/sub0/hw_params in playing DSD128 source via Amanero in native DSD mode, though I must admit that the system used is miero's botic V4 with BBB.

access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 128
buffer_size: 131072

and the corresponding mpd configuration will be -
Code:
dsd_usb "yes"
dsd_native "no"

This might be also the case. Anyway your mileage may vary according to the USB device you are using.

Oh, BTW, playing DSD128 on boticized Volumio via Amanero is rather sluggish despite the same mpd as in Botic BBB, that may suggest the necessity of further refinement of Volumio on the side of Michelangelo.
 
twluke I think what aplay -I will do is to list the USB output devices. It is listing mine correctly as Music streamer pro.

Visibillity of device listing by "aplay -l" is not the issue. The point is whether or not you added your Music streamer pro as the hardware device other than Botic to your /etc/mpd.conf by editing. If already done, then I'll be of no help :confused:.

Do you happen to hear glitches during spotify playback too, just curious?

Sorry, can not comment on it as I'm not subscribed to spotify.
 
Amanero Combo384 is well known to support native DSD with the latest firmware.
OK. I knew the feature was coming, but didn't know it had arrived -
https://github.com/lintweaker/xmos-native-dsd

My last post, then, is half-incorrect, half-correct. My main point is that the MPD configuration option "dsd_usb" relates specifically to DoP, so one method or the other should be enabled, never both.
For DoP USB output the correct configuration is -
Code:
dsd_usb "yes"
dsd_native "no"

And I see for native DSD USB output the correct configuration should be -
Code:
dsd_native "yes"
dsd_native_type "3" #for DSD_U32_LE (eg. botic driver)
dsd_usb "no"
"dsd_usb" and "dsd_native" are mutually exclusive. It might (??) be possible for both of these parameters to be enabled and native-DSD still functions, but if so, the "dsd_native" setting must be overriding the "dsd_usb" setting.
 
If you save MPD config in Volumio GUI it will destroy Botic mpd.conf and you will loose "Botic experience".

You need to manually edit mpd.conf for now (until Volumio will be hacked to support Botic real-time and DSD features).

Here is the reference content of /etc/mpd.conf with edited music_directory for Volumio:

music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/tag_cache"
log_file "/var/log/mpd/mpd.log"
pid_file "/run/mpd/pid"
state_file "/var/lib/mpd/state"
sticker_file "/var/lib/mpd/sticker.sql"
user "mpd"
bind_to_address "localhost"
input {
plugin "curl"
}
audio_output {
type "alsa"
name "Botic"
device "hw:0,0"
dsd_usb "no"
dsd_native "yes"
dsd_native_type "3"
priority "FIFO:32"
period_time "1"
mixer_type "software"
}
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
realtime_option {
memlock "yes"
stack_reserve "1024"
heap_reserve "10240"
main_priority "OTHER:0"
player_priority "FIFO:32"
decoder_priority "FIFO:31"
update_priority "OTHER:0"
}
 
That won't work for DSD - there is currently no "native" DSD method available for USB interfaces - and the Linux USB driver (snd-usb-audio) certainly contains no such logic.
All current USB products achieve DSD support via DSD-over-PCM, and the corresponding mpd configuration will be -
Code:
dsd_usb "yes"
dsd_native "no"
No, that is not true! I have added support for native DSD playback for various USB DACs to the mainline kernel. If you have a supported USB DAC, you can use it!
 
Uhm..., you'll need some home work before this comment :). Amanero Combo384 is well known to support native DSD with the latest firmware.

Shown below is the result of /proc/asound/card1/pcm0p/sub0/hw_params in playing DSD128 source via Amanero in native DSD mode, though I must admit that the system used is miero's botic V4 with BBB.

access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 128
buffer_size: 131072



This might be also the case. Anyway your mileage may vary according to the USB device you are using.

Oh, BTW, playing DSD128 on boticized Volumio via Amanero is rather sluggish despite the same mpd as in Botic BBB, that may suggest the necessity of further refinement of Volumio on the side of Michelangelo.
You're not doing "real" native DSD here, but DSD over PCM (DoP), as the native DSD option of Amanero is not supported by Linux.
 
If you save MPD config in Volumio GUI it will destroy Botic mpd.conf and you will loose "Botic experience".

You need to manually edit mpd.conf for now (until Volumio will be hacked to support Botic real-time and DSD features).

Here is the reference content of /etc/mpd.conf with edited music_directory for Volumio:

Can some one post a detailed instruction on how to manually edit mpd.conf
or a link to how to do it?
 
Hi, thanks for your comment but it appears rather confusing. What did you mean this "real"? Is there any "false" native DSD? The docs from Amanero suggest clear distinction between native DSD and DoP.
Hi, yes, Amanero supports both DoP and native DSD. Native DSD support needs special driver support and is currently only available on Windows (ASIO drivers)

With "real" native DSD I mean just sending DSD sample data to the device instead of packing them in PCM frames (DoP).
 
Member
Joined 2004
Paid Member
Are you making this more complicated than it actually is? miero's instructions are simple and concise and don't require an explicit installation of debian, or anything else, as his distribution is self-contained.
  • Format a suitable SD card and put a copy of miero's distro on it.
  • Insert the SD card into the BBB slot and boot it up, it will boot from the SD card if there is a suitable image on it.
  • With the BBB running off the SD card image, log in as root and run the commands at the bottom of miero's instructions page to copy the image from the SD card to eMMC.
  • Shutdown.
  • Remove SD card.
  • Boot the BBB and it will run off the eMMC image.

So, to answer your specific question, the versions of the software I use are whatever miero has included in his distribution; I have never been inclined to inspect them.

Good luck.

Ray


Well, no it does not work for me. Now, question is do I have a suitable image on the SSD? I have attached a screen shot from 'Mini Tool Partition Wizard',
please view it and tell me if it's right or not.
On a different note, after chasing around trying to get a debian OS back on the eMMC with no success, I discovered that their are .img files that are specifically for flashing to eMMC.
 

Attachments

  • SSD_Contents.jpg
    SSD_Contents.jpg
    77.5 KB · Views: 280


Well, no it does not work for me. Now, question is do I have a suitable image on the SSD? I have attached a screen shot from 'Mini Tool Partition Wizard',
please view it and tell me if it's right or not.
On a different note, after chasing around trying to get a debian OS back on the eMMC with no success, I discovered that their are .img files that are specifically for flashing to eMMC.

Ichi I did it yesterday.
What revision Bbb you are using?
 
Member
Joined 2004
Paid Member
Ichi I did it yesterday.
What revision Bbb you are using?

I had tried latest versions of Debian console flasher
BBB-eMMC-flasher-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img
and others the ones that I was able to flash to eMMC have a password for
root, not the usual no password. So, could only logon as debian:temppwd .
Have been asking on various user boards about that and all I get is, 'that's unusual' comment.

Finally decided to try Angstrom, BBB-eMMC-Angstrom-flasher-2013.09.04.img and could logon as root:no password needed.
So, I put the SSD with Botic.img and tried mieros instruction
root@bbb:~# /opt/scripts/tools/eMMC/beaglebone-black-make-microSD-flasher-from-eMMC.sh and got a file/directory not found message.
Also, tried booting with Botic SSD holding the user-boot button, and
booting without holding the user-boot button.
Does the screen shot I posted of the SSD w/botic look ok? I do a complete erase/format of the SSD every time before loading any .img files on it just to be sure.
Thanks for any thoughts you might have on this.

ICHI®