• 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

This is my experience as well, and I use Debian. My mpd.conf file includes:
Code:
audio_output {
        type            "alsa"
        name            "J20"
        device          "hw:0,0"        # optional
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "3"
        priority        "FIFO:32"
        mixer_type      "hardware"
        period_time     "1"
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

I have experience manipulating asound.conf in order to run various filters, mixers and channel alignments. *You are looking at 'arecord' sources.* These will have nothing to do with output from MPD or any other player software that the OS is running. You only need to address 'recording' ports if you want to *import* a PCM stream (for example, via external USB). Then ALSA will manage the synchronous PCM stream and make the stream available in the system. For player software (like MPD) running on the linux board, the only ALSA parameter that software needs are the available *play* ports and those you can list using 'aplay -L'. Each of the listed channels will be a working input channel into ALSA. One of the channels should be 'hw:xxxx,xxxx'. You can type out the words after the colon (the 'xxxx' in my example), or you can just use the numbers 0,0 if there is no need to further process the signal. The 'hw:0,0' sends the PCM out of the ALSA system.

If you have modified asound.conf and it is not working, try this for pcm.!default:
Code:
pcm.!default {
    type plug
    slave {
     pcm "hw:0,0"
     rate "unchanged"
    }
}

In general, manipulating ALSA takes patience and study of documentation that is not at all simple nor even complete. Good luck.

I am interested in adding / extending input for (BBB+Botic): spdif, usb
An TFT LCD for display input selected and keyboard for choices input would be fine.
 
Last edited:
Member
Joined 2007
Paid Member
I am interested in adding / extending input for (BBB+Botic): spdif, usb
An TFT LCD for display input selected and keyboard for choices input would be fine.
I did something similar a few years ago by adding Toslink SPDIF inputs to the system, which has increased my enjoyment in many ways.

The exact way I did it is probably not available now because the hardware I added is no longer made. Basically, it is a converter between a synchronous and asynchronous signal and it can convert either direction. I have Toslink converted to an asynchronous input to the BBB via its USB port. The BBB recognizes the asynchronous USB source and reconstructs the synchronous audio stream. In my system, it is important to run all streaming sources into ALSA because the BBB is acting as an active crossover (in addition to other tasks). Without that limitation, the Toslink signal streams could more easily bypass the BBB and connect directly to the DAC.

Your first consideration is: Why do you want/need the BBB to process the audio streams? If this really isn't necessary, you can still use BBB to manage stream routing via a digital switch (e.g. I use the TPA Otto driven from BBB GPIO output to select one of two Toslink sources). I posted information about my experiences here. If I can answer any additional questions, please ask them on that other DIY Audio thread.

In closing, I think the BBB is a great system controller because of the extensive I/O options. I started by writing bash scripts for a few tasks, but as the control options became more detailed I eventually converted to a Python command server that listens for TCP text commands from any network source. [more info here] For simple control, like DAC volume, I usually use a small command screen on my phone. For more detailed control I made a tablet version with detailed options like a) turning the DAC oversampling filters on/off and selecting the FIR filter curve, or b) selecting headphone output (no crossover) or speaker output, or c) choosing among several different crossover filter chains depending on the source of the stream (e.g. music or video?). [Please direct questions about these things to the DIYAudio thread linked above.]

The BBB can do a lot for those willing to write a bit of code! ;)

Best,

Frank
 
Member
Joined 2007
Paid Member
The exact way I did it is probably not available now because the hardware I added is no longer made.
Correction: miniDSP still sells a product that will convert SPDIF to USB. It now uses an XMOS processor and is priced around $100 US.
Why do you want/need the BBB to process the audio streams?
...still the main question...

Off Topic: Brian or Russ, any progress on a TPA successor to the Amanero USB receiver? :) (Clearly, there are more than enough "average" XMOS interfaces, but where to push the envelope?)

Frank
 
Last edited:
I'm of the opinion that the only version of Beaglebone that works out of the box with a Botic type image is the Beaglebone Black Rev C or its close relatives. I have a Beaglebone Enhanced and never got it to work with a few different images. I'm not saying it's not possible. However, I think it just requires a good working knowledge of Linux/Debian/Botic/DTBs, etc. to get it working. I think the issue is something to do with having the overlay (dtb) that specifies to use the botic driver. I could never figure out how to work with dtbs or edit them to work for me. Nor did I spend a long time with it. Maybe someone on here is more of an expert and can step in to help. Maybe it's a simple configuration switch.

Hope that offers a clue.
 
Thank francolargo.

I bought Beaglebone Green Wifi and I am having trouble because I have never used Linux. I have tried write all Images at this thread, but my BBGW don't support Wifi onboard.
Does anyone have a Botic image supported to BBGW?

Have you tried wired LAN ?

Then you will be sure that the configuration works before you spend all your energy in getting wireless enabled :rolleyes:
 
Based on beagleboard.org it says that there is Ethernet on the BBG. I guess there are multiple versions?

I think you might need to find a driver for your wireless device and install that. Then depending on linux version - use connman or wpa supplicant to setup/connect etc.

WiFi/HowToUse - Debian Wiki

If you're using the Botic driver you would have to figure out how to get that to work for synchronized i2s. That is where the dtb comes in. It might already work by default without changing settings.

Otherwise, I think you're better off getting a Rev C BBB. It works without a headache.

I know you might not want to hear this and I got the same answers from others earlier on when trying to get the Beaglebone Enhanced working... but when others don't have the version that you have they have no way of working on it to get things working for you. You must do all the learning and experimenting. This is the linux world my friend. Others might have answers along the way as you try things and they work or don't work.

Good luck!
 
I am sure it is burried somewhere here but if somebody is using the Hermes-BBB-Botic cape etcetera (the full TP kit including the Cronos 45/49 MHz reclocker) all Botic parameters "snd_soc_botic/parameters/???" are already set correct by default ?

So no editing needed of /boot/uEnv.txt at "cmdline=coherent….. " ??

Will be using Debian 9.9 Iot and installing linux-image-4.8.13-botic7-rc3_1_armhf.deb
It is not my system but helping out a friend writing a "Botic for dummies" manual :D

Thank you.
 
Hello Luca72c,

did using the gentoo Player software solve your problems with "loud plop sound" when changing files with different sampling rate? Or was this a hardware problem. Have the same problem. but can not find the reason?

Branko

Hello Branko, no, unfortunately it didn't solve that problem. But reverting to normal sync mode using normal firmware did, completely and without changing anything else. So, at least for me, that was a problem concerning just true-sync mode
 
Hello Luca72c,

thank you for quick answer.
I have these problem with "normal" firmware. But not always?

At the moment I am using debian botic image I made over the last few month. It is working with room and sometimes as endpoint for my iPad with apple music over airtunes (shairsync).
But in normal mode if i play dsd files I get (mostly at the beginning of the file) a loud "hissing" sound for a few seconds before things get normal and sound great. After some time this hissing appears again? High res pcm has no problems. Tried different settings but did not succeed. would like to test this gentoo image.

I use BBB to Hermes/Cronus --> Teleporter --> Teleporter --> BIIIpro SE.

As to the Gentoo image: does it preserve the battery power down sequence?
As I have a mains switch to switch all audio gear at once. You mentioned something about RT kernel?

thank you

Branko
 
Last edited:
Hello Luca72c,
But in normal mode if i play dsd files I get (mostly at the beginning of the file) a loud "hissing" sound for a few seconds before things get normal and sound great. After some time this hissing appears again? High res pcm has no problems. Tried different settings but did not succeed. would like to test this gentoo image.
I use BBB to Hermes/Cronus --> Teleporter --> Teleporter --> BIIIpro SE.


I had similar problems once using BBB->Hermes/Cronus->BIIIpro SE, a sort of hiss at songs startup (sometimes even for the entire duration of the songs), but not for every file. All i did was making all I2S connections and expecially MCK one shorter ad firmer, each with its ground/return path (you can use u.fl or ribbon cables with good results), without having to change firmware or player. That's because in my setup hermes is not directly plugged into cronus using the strip line connectors, as i use an OTTO board to connect and switch an hermes amanero to cronus, too. If that's your case, just consider that I2S and MCK signals are very lenght-dependant, more of that if you use sync mode, so even a pair of cms in excess can be a problem: try to stay well below 10 cms in all connections, including cronus->BIIIpro SE.
I don't know if teleporter can be stable enough for MCK in sync mode, but i'd be suspicious about that. At least try to make all connections from cronus to emitter teleporter and from receiving teleporter to BIII really very very short, no more than a few cms. Or you can use BNC connectors, that are very good for MCK signals as far as i know.


As to the Gentoo image: does it preserve the battery power down sequence?
As I have a mains switch to switch all audio gear at once. You mentioned something about RT kernel?


Some kernel does, some kernel doesn't. Usually non-RT kernels incorporating botic do, but some sparce RT botic kernel does as well. You just have to test the kernels of your choice, eventually using the hardware shutdown button on BBB to switch it off when the battery power down sequence doesn't start.
 
Last edited:
Hi again Luca,

Will try your recommendation for b better I2S connection. As I'm using some cheap 5 cm µFl cable between the teleporter and the Dac (also on Cronus side) with async mode for now but no case or shielding now. Will also try without teleporters.

Could you provide me with some settings for the Gentooplayer to start with (uEnv.txt ?)

thx again

Branko
 
Could you provide me with some settings for the Gentooplayer to start with (uEnv.txt ?)


I'm not a Linux expert, i don't even know what i should write in uEnv.txt...
But in gentooplayer everything is so simple and powerful, you don't even need to use Linux commands for basic (and not so basic) operations like switch kernels, update (or downgrade) ALSA and/or software, enable players for operation/startup, load system to RAM, etc...
Just open your browser and type (IP address of your BBB):5000
You'll find most of the settings you need. For any advanced setting, please ask the developer in this forum: GentooPlayer - Page 43 - Software - Audiophile Style