• 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

Micelangeloz, thank you for your answer. I use I2S bus on BBB, I will try to follow your advice. Till this moment I have to use MPD to play DSD. Would you be so kind to fix this issue in Volumio that it can play DSD without limits ))) Volumio looks like very pretty and functionality.
Also I woul like to thank you Miero for the great botic.
 
I've just tested the volumio-2.194-2017-06-11-bbb.img. It works :)

hi miero,
many thanks for your confirmation.
i have tested almost all the previous volumio versions but only the boticized (botic 5) volumio 1.55 worked fine for botic-split (see post: http://www.diyaudio.com/forums/twisted-pear/258254-support-botic-linux-driver-218.html#post4971881 ).

all volumio2 versions revealed errors by opening the botic-split output! has the volumio 2.194 still this issue or botic-split can now be used with this version of volumio2 too?

best regards
 
mr_whocares:

I'm not using botic-split, but I've checked what needs to be done...

Volumio does not implement support for generating MPD configuration with botic-split output (only for hw devices).

So if you want to use the botic-split, you need to edit /etc/mpd.conf manually and do not edit configuration in Volumio (otherwise it gets rewritten).

Also put your asoundrc configuration into /etc/asound.conf, otherwise MPD will not see it.

So I think it should be possible to use botic-split configuration with MPD in Volumio, but it must be done manually.
 
mr_whocares:

I'm not using botic-split, but I've checked what needs to be done...

Volumio does not implement support for generating MPD configuration with botic-split output (only for hw devices).

So if you want to use the botic-split, you need to edit /etc/mpd.conf manually and do not edit configuration in Volumio (otherwise it gets rewritten).

Also put your asoundrc configuration into /etc/asound.conf, otherwise MPD will not see it.

So I think it should be possible to use botic-split configuration with MPD in Volumio, but it must be done manually.

many thanks, miero!
indeed, i done all the required configuration manually being aware of not let to re-change the configuration by volumio itselfs. however, only with volumio 1.55 i was able to manage the botic-split. all tests with volumio2 failed.
as long as the alsa was selected as output, the volumio2/mdp could open the correct output. but as soon as the botic-split was selected as output, the volumio2 revealed " can not open the output".

i will give the new update a try to see if the issue still exists.

thanks and regards
 
Installed OK and looks great. It doesn't like my external HD though:

Code:
volumio login: [  125.531986] usb 1-1: device descriptor read/64, error -110
[  130.971968] usb 1-1: device descriptor read/64, error -110
[  146.331857] usb 1-1: device descriptor read/64, error -110
[  157.131984] usb 1-1: device not accepting address 5, error -110
[  167.851841] usb 1-1: device not accepting address 6, error -110
[  167.857913] usb usb1-port1: unable to enumerate USB device
 
I abandoned the direct USB approach and plugged in a wifi dongle. My USB hard drive is now connected to my Asus router.

It connects! It scans! Hooray!

It stops scanning at 2458 tracks Boo! (there's quite a few more than that on the drive).

Maybe this is a clue:

Code:
volumio login: [ 1230.616983] CIFS VFS: Autodisabling the use of server inode numbers on \\RT-N56U\Samsung_M3. This server doesn't seem to support them properly. Hardlinks will not be recognized on this mount. Consider mounting with the "noserverino" option to silence this message.

It seems to play, but mute LEDs remain resolutely illuminated (maybe a separate issue).
 
Last edited:
you can force MPD to update DB ... from command line using "mpc update"

you can also uncomment line starting with "log_file ..." in the mpd.conf and restart it, to check why it is stopping

what does mean that Mute LED is still lit? does it play sound or it does not?

if not, then test it using "speaker-test -c 2"
 
Thanks miero.

The speaker test worked. I got white noise in both channels. The right channel had an additional bass pulse every few seconds though.

Now when I go into Volumio settings and click on "My Music", it displays the rotating blob for a while, then just goes back to the playback screen.

Curiouser and curiouser...

I have reset Volumio to factory settings. Giving it another go. So close, yet so far.
 
Last edited:
Member
Joined 2007
Paid Member
Any chance you may include squeezelite and brutefir?
It always takes me some time to get squeezelite running and I really would like to give brutefir a try.

I have experimented with BruteFIR on the BBB running the botic kernel. In important respects, it is less than ideal for the botic/BBB platform. This very clever platform avoids unnecessary resampling, allowing sources of different frequencies as well as DSD to play seamlessly. If you add a layer of FiR filtering, you impose the following limitations:
a) At present, you impose the frequency of the filter set on the source. It is probably possible to script a kill/restart using filter coefficients generated for the desired frequency. I started looking for different means of executing different frequency-specific FIR configurations when I hit this roadblock. It so happens that when BruteFIR is running, the parameters in /proc/asound/Botic/pcm0p/sub0/hw_params are fixed, even when no file is being played.
b) The BBB has limited processing power, such that your number of filter taps for stereo will be limited to about 2048 with 44.1/48 kHz music. For 96kHz, I recall that about 1024 taps was max. What can be accomplished with this kind of filter? You can't have much fun with bass, that's for sure. You are limited to manipulations in the mid- and high signal frequency range. 1024 might be enough to run phase equalization filters. That would perhaps be interesting but unless you know you need it, it would be a big job to undertake with no guarantee of success.
c) BruteFIR is PCM only - no DSD
d) Running BruteFIR with ALSA requires the signal to be routed through loopback channels. Getting those debugged is not trivial, and will test your patience or your familiarity with ALSA.

In summary, my opinion is that BruteFIR is a great tool, but perhaps better implemented on something more powerful than a BBB. Typical high quality filter sets for stereo audio have 16384 taps. Thus, I believe that including Brute FIR in the next distribution would add only marginally useful functionality. Especially considering the potentially daunting process of generating filter sets.

If you want to mess with FIR on the BBB, there is a simpler alternative for stereo sources. SoX has a FIR convolver and it is easier to get that running than BruteFIR. For example, I use the SoX convolver for SPDIF inputs in which the source frequency is 100% constant. Let me know if you would like some example script code in python.

Regards,

Frank
 
Hi Frank,

thanks for this explanation.
There are distributions for the Raspi using BruteFir, so I thought the BBB should work as well. Especially as the BBB can handle multichannel I2S.
I planned to use two of them to handle crossover and room correction for subwoofers. But according to your explanation, that might not be a good idea.

Not sure what I am going to try next...

Thanks
and best regards

Torsten