• 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

kinku, yes it should be possible via custom configuration for ALSA.

I've just tried this http://bbb.ieero.com/botic5/asound.conf and no errors were reported in my case.
you can check Duplicating audio with ALSA - Stüvel.eu for more details.

chaining two independent audio devices will not be perfect, because they do not share master clock. so there will be playback issues (small or larger).

Notice: this is not related to the Botic, and it does not belong here :)
 
Arch seems very light and certainly be beneficial to embedded PC like BBB! :)

Though this is not the right place for talking about Arch, last night I set up Arch on BBB with the latest kernel and MPD binary (0.19.9 from archlinuxarm.org/packages). Hermes-Amanero/Cronus boards were used for MPD output via USB.

Code:
[root@alarm ~]# uname -a
Linux alarm 4.0.4-1-ARCH #1 Mon May 18 19:48:47 MDT 2015 armv7l GNU/Linux
[root@alarm ~]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Amanero [Combo384 Amanero], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
[root@alarm ~]# mpd --version
Music Player Daemon 0.19.9
Compared with my previous experience of MPD/Arch on BBB before Botic, the sound quality via the Hermes-Amanero/Cronus boards was thought to be quite satisfactory but there was temporary distortion of music sound when the CPU usage of Amanero became high, particularly when dealing with DSD128, as shown below:

Code:
[root@alarm ~]# top H

  PID USER      PR  NI    VIRT    RES %CPU %MEM     TIME+ S COMMAND
  652 mpd       20   0  131.2m  28.4m  0.0  5.7   0:04.17 S  `- mpd            
  653 mpd       20   0  131.2m  28.4m  0.0  5.7   0:00.00 S      `- io         
  654 mpd       20   0  131.2m  28.4m  0.0  5.7   0:02.59 S      `- player     
  655 mpd       20   0  131.2m  28.4m  2.6  5.7   1:12.05 S      `- decoder:ds+
  656 mpd       20   0  131.2m  28.4m  6.5  5.7   1:43.99 S      `- output:Ama+
This was also the case even with lintweaker's 0.18.23-dsd with rt patch which I compiled from the source.

Code:
[root@alarm ~]# mpd --version
Music Player Daemon 0.18.23-dsd
So my current impression on Arch/BBB is that we should still wait until I2S driver like Botic for Arch becomes available.

Btw, I am a happy user of Botic 3.2. Not sure if there are sq benefits in upgrading to Botic 4/5? Any feedbacks from those experienced are much appreciated!
Cheers.
Botic5 is quite excellent in power supply management of BBB and you can get quicker and safer shutdown of BBB than on V3.
 
When properly patched it should normally say:
Code:
[orwell ~]$ mpd -V
Music Player Daemon 0.18.23-dsd-rt

Yes, I was well aware of this suffix but rt patching and MPD build with configure option of --enable-rtopt went without problems.

I wondered why there was no rt suffix on checking the version but addition of real_time option to mpd.conf caused no error on playing music. So the binary I built has a feature of rt, though I have to recheck my build. Thanks for this comment.
 
Member
Joined 2004
Paid Member
I posted this over on the 'Hermes-BBB-Botic cape...' thread ......and need a solution.
======================================================
http://www.diyaudio.com/forums/twis...otic-cape-beaglebone-black-7.html#post4335434


I've got a battery installed on the Hermes.
When the unit is powered off (DAC/BBB/Hermes/Cronus),
two of the four BBB LEDS stay on! Is this normal?

Russ Replied ...
No - that is not normal - that likely means it is not really fully shutdown.
It sounds like the shutdown is not being initiated when you remove AC power - make sure there is no power being applied to the BBB - at all. You must remove power at the barrel connector if that is what you are using.

If you are removing the 5V from the BBB then this sounds like this needs to be a botic distro support post.
 
Member
Joined 2010
Paid Member
Hi Miero, I don't know if you remember... some weeks ago I face a problem with the BBB with the botic V3 and the upmpdcli. The BBB was connected to the S03 reclock from Acko and the problem was that at the beginning of each song I have for few seconds (10 +/-) some glitches and trace jumping. At that time we try many thinks with your help and the support of Jean Francois from lesbonscomptes but after many trial I abandoned the BBB.
Today I get the time to build the new Hermes-Cronus and try again the BBB. Everything is working straigth away with no problem but the original problem was still there. I buy a new SD card, I installed the botic V4 and the upmpdcli again but nothing change, actually go even worse... sometime after the usual glitches and jumps, the BBB jump to the next song that never happen before :(
The last think that I do before to write here is to update the botic to V5 but with no improvement.
What I am thinking is that the only part that I don't change is the BBB itself, all the rest is new.

I hope that you have some suggestions before I change the BBB...

Thanks and Regards,
Enrico
 
basic button handling with python

Yes please :)
Here is a basic python script to get you going:
Code:
#!/usr/bin/env python

# buttons.py
# Basic example for using buttons on the Hermes-BBB
# v03 JK
import Adafruit_BBIO.GPIO as GPIO
import time

# Use pins from P9 reserved for buttons on Hermes-BBB
button_vol_min = "P9_15" # GPIO 48
button_vol_plus = "P9_23" # GPIO 49
button_select = "P9_16" # GPIO 51

# Callback for handling button presses
def button_callback(channel):
    #print("Button press detected, channel: %s" % channel)
    if channel == button_vol_min:
        print "Vol-"
    if channel == button_vol_plus:
        print "Vol+"
    if channel == button_select:
        print "Select"


# Setup needed GPIOs for input
GPIO.setup(button_vol_min, GPIO.IN)
GPIO.setup(button_vol_plus, GPIO.IN)
GPIO.setup(button_select, GPIO.IN)

# Add event callback, bounce time = 200ms
btime=200
GPIO.add_event_detect(button_vol_min, GPIO.FALLING, callback=button_callback, bouncetime=btime)
GPIO.add_event_detect(button_vol_plus, GPIO.FALLING, callback=button_callback, bouncetime=btime)
GPIO.add_event_detect(button_select, GPIO.FALLING, callback=button_callback, bouncetime=btime)

print("Waiting for button press")

while True:
    # Add your code here
    time.sleep(1.0)
If you need more help, let me know.
 
emyeuoi: Are you using Botic v4 distro (upgraded to v5) and BBB is connected via Ethernet, right?

I'm not using upmpdcli, so this is new for me. Can you check if playback from network drive or SD card works fine?

What uPnP source do you using? Can you try another one?

There might be problem with network cache size in MPD.
 
Member
Joined 2010
Paid Member
emyeuoi: Are you using Botic v4 distro (upgraded to v5) and BBB is connected via Ethernet, right?

Thanks for the reply. Yes, it is connected via Ethernet and the same lan is the NAS with the flac files.

I'm not using upmpdcli, so this is new for me. Can you check if playback from network drive or SD card works fine?

I will check tonight when I am back and let you know. We make the same trial last time and was playing correctly

What uPnP source do you using? Can you try another one?

I installed the NAS server And with the EDEL_NMR I don't have any problem with this configuration. I will try to use another one but with my low level of knowledge I need some time :eek: I read somewhere that the last version of Volumio is supporting your botic. I will try to reinstall volumio that was my first player with the RPI

There might be problem with network cache size in MPD.

I don't know where I can modify (if is possible) the cache size.
You don't beleive that the problem can be the BBB itself?


Thanks again for your support.

Regards,
Enrico
 
Member
Joined 2010
Paid Member
Hi Enrico,
Strange to read you still having issue with it. May be worth having a second look into the DAC itself? Seems like your single out from the camp? Is the issue with Doede Stock design or your very own re-layout mod version?

Ciao Chan,
look like I am the only one with this kind of problem.
After many trial I reinstalled the EDEL in my DAC that is working perfectly but as soon I get the Cronus in the hands I want to re-try the BBB also curious to compare it with EDEL.
I hope one day I can listen it...
 
Member
Joined 2004
Paid Member
Cannot get squeezelite to run

Cannot get squeezelite to run, I've tried various hw: formats in
startup.sh .
Any suggestions.

=========================================================
root@botic:/squeezelite# /etc/init.d/startup.sh

Error: command line argument error

==========================================================
root@botic:/squeezelite# cat /etc/init.d/startup.sh
#!/bin/bash
### BEGIN INIT INFO
# Provides: Startup
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Startup
# Description: Startup daemon to start Squeezelite
### END INIT INFO
##squeezelite -o hw:CARD=0:Botic,DEV=0:external dac-hifi-0
##squeezelite -o hw:CARD=Botic,DEV=0
##squeezelite -o hw:CARD=0,DEV=0:external dac-hifi-0
squeezelite -o hw:CARD=Botic,DEV=0:external dac-hifi-0
root@botic:/squeezelite#


====LIST OF DEVICES REPORTED BY SQUEEZELITE -L ================================

root@botic:/#
root@botic:/# squeezelite -l
Output devices:
null - Discard all samples (playback) or generate zero samples (capture)
default:CARD=Botic - Botic, - Default Audio Device
sysdefault:CARD=Botic - Botic, - Default Audio Device
dmix:CARD=Botic,DEV=0 - Botic, - Direct sample mixing device
dsnoop:CARD=Botic,DEV=0 - Botic, - Direct sample snooping device
hw:CARD=Botic,DEV=0 - Botic, - Direct hardware device without any conversions
plughw:CARD=Botic,DEV=0 - Botic, - Hardware device with all software conversions
=========================================================
 
Still not clear to me how to boot with Botic from eMCC. Instructions say:
(( boot from SD card ))

root@bbb:~# umount /boot/uboot/
root@bbb:~# /opt/scripts/tools/eMMC/generic-eMMC-flasher-12mb.sh
... (after 5 minutes of copying data)
root@bbb:~# poweroff

I just don't understand how to root@bbb:~# I know it is simple but not for me now. Can someone explain, please? In WinSCP I open a new session with root and botic - that means root@botic, I guess. When I put bbb for password instead of botic the system says wrong password.
 
Member
Joined 2010
Paid Member
emyeuoi: Are you using Botic v4 distro (upgraded to v5) and BBB is connected via Ethernet, right?

I'm not using upmpdcli, so this is new for me. Can you check if playback from network drive or SD card works fine?

What uPnP source do you using? Can you try another one?

There might be problem with network cache size in MPD.

Hi miero,
I play few song directly from the web MPC interface and is playing fine.

As suggested by zz1969 (Thanks!!) I try the Kinsky upnp. Very easy to make it work but I get the same results...