diyAudio (
-   Twisted Pear (
-   -   Support for Botic Linux driver (

miero 26th June 2014 09:55 AM

Support for Botic Linux driver
Here you can disscuss and report issues with Botic Linux driver available at

Check also following spreadsheet with previously reported issues:

Cronus/Hermes-BBB available here:

Hermes-BBB thread:

miero 26th June 2014 10:05 AM

Version 1.0

Currently supported features:
- I2S up to 192kHz/32bit
- DSD64 and DSD128
- 2 to 8 channels

- MPD playback quality ... better to use command line tool play

Not yet ready/working:
- higher bitrates 352.8 and 384kHz ... starts but halts after while
- I2C control for ES9018

miero 26th June 2014 12:10 PM

power down support
The distribution has integrated support for automatic shutdown of BBB after pressing POWER button.

Use it and wait while LEDs are on!

If that fails (more than 30 seconds), hold POWER button for 8 seconds.

I've already damaged one BBB while removing power cable from the connector while it was on.

palmito 26th June 2014 12:26 PM


Originally Posted by miero (
Version 1.0
- MPD playback quality ... better to use command line tool play

Even with just two channels at 192/24?

BTW, great idea to start a separate driver thread! Thanks.

miero 26th June 2014 12:37 PM

I've not tested that lately from MPD.

The 192/32 works also with to 8 channels from the command line.

But I've updated "period_size" for MPD just before creating the image. So it's possible that it will work now too.

pfdavid 26th June 2014 03:15 PM

Hi Miero,

Thanks again for all of this fine work for our community. I'd like to load your latest driver onto the BBB I purchased for this project, but I'm not sure that makes sense without a Botic. Is it possible to use the I2S channels directly into my BII without a Botic for checking the software operation?

- David

miero 26th June 2014 04:01 PM

Yes it is possible (I also don't have the cape), but:
- native playback only for 48k family frequencies
- the pins for I2S must be located in the P9 connector on BBB
- I2S output is not clean; the ES9018 must be set to maximum DPLL
- 44.1k frequencies must be resampled
-- at lower quality internaly on BBB via MPD
-- 44.1k->48k at max quality from command line on BBB via: play FILE rate -v 48k
-- or externaly using Linux machine ... the highest mastering quality is possible with just regular PC ... search doc for bbbplay command

I'd say it's worth a try if you have time. But if you want to be safe on the safe side, wait for cape... :-)

palmito 26th June 2014 04:18 PM

Miero, the one driver that assumes external clocking, it will toggle the pin on the BBB to indicate what clock to use? So that if we have a device that has two clocks and a select pin, this could drive the selection on the device? I think I understand that's what the external clock driver is doing, but just want to verify. Thanks.

miero 26th June 2014 05:24 PM

Firstly, you need to edit uEnv.txt on the first partition if you want to enable external clocks (it is editable from windows too, but you need better editor than notepad, e.g. PSPad) . Currently there is snd_soc_botic.ext_masterclk=0 ... which is good just for BBB without external clocks. In this case frequency 44.1kHz and its multiples are not supported by driver.

Having a cape with 2 clocks (22.5792MHz and 24.576MHz) this value must be set to 3 or another alternative is 7 (3+4) if you want different polarity of the clock switch. Using this you declare support for 44.1kHz and also 48kHz data rates.

Before start of playback the driver sets the external clock switch to position according the requested frequency. The switch is not changed after stream ends. Just at the start of next stream only if different clock is needed.

The external clock switch just changes voltage on the pin P9_24: 0V or 3.3V.

Notice: Similar situation is with the I2S/DSD format switch that is on the pin P9_26.

palmito 26th June 2014 06:16 PM

Thanks Miero. Another question that will show my ingorance...:o .

When the BBB is using external clocks (i.e., a cape) its output is i2s signals including the mck from the selected external clock? So as input the BBB will be getting the MCK from the cape and generating i2s signals with bck/fsck/mck/data as output? Or the BBB is only providing bck/fsck/data to the cape and the cape does the clocking (the clock selected by the BBB driver)?

All times are GMT. The time now is 05:13 PM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 18.75%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright ©1999-2017 diyAudio