• 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

After a few false starts (Squeezelite not connecting to NAS or showing on controller...................oops NAS firewall closed!)
I have followed Kinku's excellent how-to in post 923 to the letter, Squeezelite seems to runs fine (no sound yet as output not connected to dac as yet) but I still have one small problem, it won't start at boot.
I have made the startup.sh script and it is executable. if I input :-
root@botic:~# /etc/init.d/startup.sh
squeezelite starts ok, so the script works
however:- root@botic:~# insserv startup.sh
doesn't seem to make the script run at boot.
I am a compete novice with Linux and any help would be much appreciated.
Steve.

Try to make a /etc/init.d/squeezelite script
as describe here
Of course you have to adapt the script to your preferences (e.g. output device, squeezelite parameters etc.)
Mine for example is as follows:
Code:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          squeezelite
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Script to start squeezelite
# Description:       Service script for squeezelite, command line squeezebox player
### END INIT INFO
#Define some variables.  LMS is the IP of your Logitech Media Server.  Output device can be found by running squeezelite -l

USER=squeezelite

case "$1" in
  start)
    echo "Starting Squeezelite"
    start-stop-daemon --start --quiet -b -m -p /var/run/squeezelite.pid --chuid $USER --exec /usr/local/bin/squeezelite -- -o hw:CARD=Botic,DEV=0 -n BBB -r 192000 -D 80 -C 1
  ;;
  stop)
    echo "Stopping Squeezelite"
    start-stop-daemon --stop --quiet --pidfile /var/run/squeezelite.pid
    rm -f /var/run/squeezelite
  ;;
  *)
    echo "Usage: /etc/init.d/squeezelite {start|stop}"
    exit 1
  ;;
esac
exit 0
 
Last edited:
...and a couple more resources for you, Steve...

'insserv' is near the deep end of the pool... 10 insserv Command Examples for Linux System Init Scripts

The original 'startup.sh' script is somewhat lacking when it comes to a full function daemon.

Bern's suggested init.d script looks good. I will add this general script where you only edit a few lines (14-16) and it contains all the essential info needed to run as a service from boot. It is 'advertised' for python scripts (name.py) but is applicable to shell scripts (name.sh) as well. With this, you can locate the 'action' script elsewhere. That could be the 'startup.sh' script with just two lines - the first line and the squeezelite line. This could be used for bern's python script(s) as well.
Getting a Python script to run in the background (as a service) on boot

I'm sure you'll get it working...
 
Last edited:
I have happily been using a BBB running botic (with squeezelite client) directly into my B3. I have recently got a hermes+cronus. The cronus provides 24.xxx and 22.xxx clock. Can somebody please advise on what kernel options I should have in myuEnv.txt file if any?

Many thanks in advance and best wishes for the coming festivities,
Giulio

P.S. Miero: in reply to your suggestion in post 1391, squeezelite does not work for me without providing buffer options
 
Last edited:
If you want to try a pre-compiled binary, they are here: https://code.google.com/p/squeezelite/

Looking at the Slimdevices installation instructions, I see that they are comprehensive but would break Botic. 😱
Skip the lines from:

Code:
apt-cache search linux-image-3

TO

apt-get install alsa

The install procedure only takes several instructions. a) import the code, b) navigate to the directory that contains the code, and c) compile! Simply this, one line at a time:
Code:
cd /opts
git clone https://code.google.com/p/squeezelite/
cd /squeezelite
make OPTS="-DDSD -DFFMPEG"

The last bit of the slim devices instructions - creating a service that launches at boot - are optional.

There are many ways to enjoy the great capabilities of Botic. For those (like me) with large music libraries, the Squeezelite/Logitech Media Server option is very attractive because of a) its mature library features, b) continuing development to include streaming sources, and c) good choices among remote controller applications for mobile devices. Enjoy!
 
I've now adopted HQPlayer as my player software of choice; I'm really enjoying music played back via it's upsampling functions, particularly 44/16 PCM upsampled to DSD256.

I would like to be able to use BBB/Botic as an HQPlayer NAA (Network Audio Adaptor) so that I could us my BBB/Botic/Buffalo IIIse with HQPlayer. I have made several attempts at loading the NAA package onto Botic but, though success seems close, I have not succeeded, seemingly due to incompatibility; Botic is based on Debian Wheezy and the HQPlayer NAA package requires Debian Stretch.

I did successfully load an older version of the NAA package onto Botic but, unfortunately, that package had a bug so wouldn't function correctly. The bug has been fixed but only in the latest version of the NAA package. I don't believe the current NAA package will be back-ported to Wheezy.

I don't believe miero is planning to update Botic to Jessie, let alone Stretch, any time soon.

The Stretch kernel incorporates the DSD capability that Botic includes so would seem a sensible starting point; I am already successfully using an Intel Atom platform with Debian Stretch as an NAA passing 'native' DSD256 to a JLSounds USB board; but how to boticise Stretch in terms of exposing the relevant inputs/outputs on the BBB header pins?

Anyway, at this point my very limited Linux knowledge has petered out and, whilst I'm happy to try and learn I'm really not sure which way to turn. So, any pointers/collaborators would be appreciated. Or perhaps someone is already working on the problem independently?

Cheers

Ray

BTW, although so far I've been exploring HQPlayer's DSD upsampling, a BBB/Botic NAA would open the door to using its PCM capability too.
 
Last edited:
you can use any other distribution for BBB, just use Botic kernel ... it should be compatible:

$ wget http://repo.ieero.com/pool/main/l/linux-upstream/linux-image-4.0.0-botic5_1cross_armhf.deb
$ ar x linux-image-4.0.0-botic5_1cross_armhf.deb
$ tar xvzf data.tar.gz

this will extract:
- (kernel zImage) ./boot/vmlinuz-4.0.0-botic5 ... where to place this depends on distro
- (dtb file) ./boot/dtbs/4.0.0-botic5/am335x-boneblack-botic.dtb ... where to place this depends on distro
- (modules directory) ./lib/modules/4.0.0-botic5/ ... just copy to /lib/modules/4.0.0-botic5/ directory

Using these files you should be able to use botic driver on any other distribution.
 
Dear francolargo and miero

just an update on my squeezelite saga.

I have finally put together my hermes-cronus combination feedingBuffalo III.

Surprisingly, I can now run squeezelite (the binary, I have not compiled anything) without having to specify any buffer option. I guess all buffer option now work too. Plus DOP now works.

All's well....

Thanks for all your help (and to you miero for making all this possible) and best wishes of a Happy New Year!
 
Hi to everyone,
a few days ago i decided to try to connect my BBB to my miniDSP 2x4 Balanced; the DSP have i2s pin input so i tried to put it slave and connect i2s pins from BBB but the audio still came over the HDMI, i understood that i have to install some drivers (i found this guide but the link isn't available).
I have installed the botic_v4 OS but no sound came out from i2s... can someone help me?
Thanks and sorry for my english
 
I note that as of the 4th Jan, Signalyst now have a downloadable NAA image for BBB, which sounds like 1 step closer to me.
https://www.signalyst.eu/bins/naa/v3/images/
I'm going to see if I can work out adding the Botic driver to that,

James
lol, adding anything to the incredibly streamlined NAA image is not a job for me. It's completely stripped down, there's no ssh, no package manager, not even a login account configured. I need a much easier option if there's any hope of me working this out, so I'm going to install Debian Jessie and take it from there.