Beaglebone Black Ubuntu playing Music

since the standard Audio cape is not available, I purchased the DVID-02 cape which has HDMI and also the Audio TVL3106 chip which is the same as on the normal Audio cape.

I was in anticipation of a nightmare configuring that all (since this cape is marked as incompatible with the BBB), I had low expectation of getting it working.
But fortunately this job was done in a few hours and the Audio is working great !

This is how to get it running under Ubuntu:

  1. install the BB-BONE-DVID-02 cape, switch on power and login via ssh (no HDMI !)

  2. install the ALSA file:

apt-get install alsa-base, alsa-utils

  1. check if the TVL3106 can be accessed via I2C interface:
    i2cdetect -y -r 1

should show the chip at address 1b

lets test if a write/read access is possible:

write some data: i2cset -y 1 0x1b 2 3
read it back: i2cget -y 1 0x1b 2

this should return: 3

  1. lets see if a sound chip is detected:
    aplay -l
    no sound is detected, thats ok and we will activate it in the next step.

  2. prepare the uEnv.txt file
    go to the uboot directory and open the file uEnv.txt
    (Attention: this file is on the eMMC and also on SD Card, so be sure to open the file used for booting !).
    add/modify this line:
    optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G,BB-BONE-DVID capemgr.enable_partno=BB-BONE-AUDI-01

this disables the HDMI (which is required, since the DVID cape is not compatoble with HDMI)
and also disables the eMMC (since I am only using the SD card for Ubuntu, you may do that different)
and (thats the trick): enables the BB-BONE-AUDI-01

Our board is not the BB-BONE-AUDI-01, but since both boards are using the same sound chip, we simple use the drivers for the BB-BONE-AUDI-01 board
which works fine with our DVID-02 board.

  1. reboot the BBB

  2. after rebooting lets check the system log:
    dmesg

this will show that Ubuntu found our DVID-02 board, but the installation failed. This is ok, since this board is not compatible with the BBB.

[ 2.881593] bone-capemgr bone_capemgr.9: failed to load firmware ‘BB-BONE-DVID-02-00A1.dtbo’
[ 2.890507] bone-capemgr bone_capemgr.9: loader: failed to load slot-0 BB-BONE-DVID-02:00A1 (prio 0)

But it also shows that the BB-BONE-AUDI-01 was installed successfully and the drivers are loaded:

[ 2.900093] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-AUDI-01-00A0.dtbo

[ 2.927274] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘BB-BONE-AUDI-01-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 2.976130] bone-capemgr bone_capemgr.9: slot #7: dtbo ‘BB-BONE-AUDI-01-00A0.dtbo’ loaded; converting to live tree
[ 3.013599] bone-capemgr bone_capemgr.9: slot #7: #5 overlays

  1. next lets check the slots file:

ubuntu@arm:~$ cat /sys/devices/bone_capemgr.*/slots
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-- Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BB-BONE-AUDI-01

as we can see, the HDMI and eMMC are not loaded, but the BONE-AUDI-01 is loaded,
so it should be working.

  1. lets test again if a sound chip is found:

ubuntu@arm:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: EVM [DA830 EVM], device 0: AIC3X tlv320aic3x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

yes, it is found.

  1. now let us test if its working
    connect a speaker/headphone to audio out (speaker only with an amplifier since the volume is very low)
    and enter:
    speaker-test -t sine

now we can hear a sine wave tone.

  1. lets play music
    take a WAV file and play it:
    aplay -t wav mymusic.wav

Thats it, it was much easier than expected

good luck
Harry

Harry,

Thank you a million times over for this tutorial!

I was sweating this part of my senior design project, and your instructions made it painless. I got this set up on my BBB Rev C in under 10 minutes (as I already had it set up for one of those little C=media soundcards previously).

Expect to be on the acknowledgements list when it’s all done.

Best regards,

JM

Thanks a lot for sharing. Pretty useful.

Audio cape ‘Rev B’ was not available and I had to buy the old ‘REV A’ and manged to work the ‘audio out working’ (have’t tested the mic yet).

Best Regards,
Ramakanth

Does anyone know the reason why the audio cape has gone unavailable? It looks like a good product - are the codec chips unavailable or something, or has the supplier got bored with making these boards…