Audio Cape on BBB rev C

Hi! I’m new to the BBB but not to Linux as I’ve been using it for years. I just bought the Beaglebone Black Rev. C and updated it by flashing the newest Debian release from 2015-03-01. So now I have kernel 3.8.13-bone70 and just bought an audio cape for this off eBay. The seller said it worked with his rev B BBB.

I’m trying to follow this page:

http://elinux.org/BBB_Audio_Cape_RevB_Getting_Started

But I’m getting this error:

root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
-bash: echo: write error: File exists

Does anybody know what I’m doing wrong or doesn’t this cape work with the newest Beaglebone Black?

Marty

What does this command produce?

cat /sys/devices/bone_capemgr*/slots

Not what that tutorial listed. My audio cape was plugged in when I did cat /sys/devices/bone_capemgr*/slots:

0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI

Hi! I’m new to the BBB but not to Linux as I’ve been using it for years. I just bought the Beaglebone Black Rev. C and updated it by flashing the newest Debian release from 2015-03-01. So now I have kernel 3.8.13-bone70 and just bought an audio cape for this off eBay. The seller said it worked with his rev B BBB.

I’m trying to follow this page:

http://elinux.org/BBB_Audio_Cape_RevB_Getting_Started

But I’m getting this error:

root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
-bash: echo: write error: File exists

What does:

dmesg | grep cape

dmesg | grep cape showed a lot:

[ 0.560695] bone-capemgr bone_capemgr.9: Baseboard: ‘A335BNLT,00C0,3214BBBK8615’
[ 0.560722] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 0.584814] bone-capemgr bone_capemgr.9: slot #0: ‘BeagleBone AUDIO CAPE,00A1,Beagleboardtoys,BB-BONE-AUDI-01’
[ 0.614598] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.651706] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.688814] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.695030] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 0.695052] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 0.695067] bone-capemgr bone_capemgr.9: slot #4: ‘Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G’
[ 0.695147] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 0.695166] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 0.695180] bone-capemgr bone_capemgr.9: slot #5: ‘Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI’
[ 0.695251] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 0.695268] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 0.695282] bone-capemgr bone_capemgr.9: slot #6: ‘Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN’
[ 0.695602] bone-capemgr bone_capemgr.9: loader: before slot-0 BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.695619] bone-capemgr bone_capemgr.9: loader: check slot-0 BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.695694] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.695707] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.695777] bone-capemgr bone_capemgr.9: loader: before slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 0.695789] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 0.695822] bone-capemgr bone_capemgr.9: initialized OK.
[ 0.696283] bone-capemgr bone_capemgr.9: loader: after slot-0 BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.696302] bone-capemgr bone_capemgr.9: slot #0: Requesting part number/version based 'BB-BONE-AUDI-01-00A1.dtbo
[ 0.696318] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware ‘BB-BONE-AUDI-01-00A1.dtbo’ for board-name ‘BeagleBone AUDIO CAPE’, version ‘00A1’
[ 0.696708] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.698667] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 0.700292] bone-capemgr bone_capemgr.9: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.700307] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.700321] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.070829] bone-capemgr bone_capemgr.9: failed to load firmware ‘BB-BONE-AUDI-01-00A1.dtbo’
[ 1.079721] bone-capemgr bone_capemgr.9: loader: failed to load slot-0 BB-BONE-AUDI-01:00A1 (prio 0)
[ 1.089331] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.089357] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.089371] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.089395] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware ‘cape-boneblack-hdmi-00A0.dtbo’ for board-name ‘Bone-Black-HDMI’, version ‘00A0’
[ 1.089424] bone-capemgr bone_capemgr.9: slot #5: dtbo ‘cape-boneblack-hdmi-00A0.dtbo’ loaded; converting to live tree
[ 1.089771] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
[ 1.090823] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.090845] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.090864] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware ‘cape-bone-2g-emmc1.dtbo’ for board-name ‘Bone-LT-eMMC-2G’, version ‘00A0’
[ 1.090879] bone-capemgr bone_capemgr.9: slot #4: dtbo ‘cape-bone-2g-emmc1.dtbo’ loaded; converting to live tree
[ 1.091426] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 1.120725] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 1.120750] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.120959] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253451] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
[ 1.253473] bone-capemgr bone_capemgr.9: loader: done slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.253506] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253522] bone-capemgr bone_capemgr.9: loader: after slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253549] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware ‘cape-boneblack-hdmin-00A0.dtbo’ for board-name ‘Bone-Black-HDMIN’, version ‘00A0’
[ 1.253581] bone-capemgr bone_capemgr.9: slot #6: dtbo ‘cape-boneblack-hdmin-00A0.dtbo’ loaded; converting to live tree
[ 1.253813] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN conflict P8.45 (#5:BB-BONELT-HDMI)
[ 1.263412] bone-capemgr bone_capemgr.9: slot #6: Failed verification
[ 1.270153] bone-capemgr bone_capemgr.9: loader: failed to load slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 8.007065] bone-capemgr bone_capemgr.9: part_number ‘BB-BONE-AUDI-02’, version ‘N/A’
[ 8.007140] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 8.007297] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 8.007317] bone-capemgr bone_capemgr.9: slot #7: ‘Override Board Name,00A0,Override Manuf,BB-BONE-AUDI-02’
[ 8.019293] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-AUDI-02-00A0.dtbo
[ 8.019321] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘BB-BONE-AUDI-02-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 8.019339] bone-capemgr bone_capemgr.9: slot #7: dtbo ‘BB-BONE-AUDI-02-00A0.dtbo’ loaded; converting to live tree
[ 8.019615] bone-capemgr bone_capemgr.9: slot #7: BB-BONE-AUDI-02 conflict P9.31 (#5:BB-BONELT-HDMI)
[ 8.029302] bone-capemgr bone_capemgr.9: slot #7: Failed verification

dmesg | grep cape showed a lot:

[ 0.560695] bone-capemgr bone_capemgr.9: Baseboard:
'A335BNLT,00C0,3214BBBK8615'
[ 0.560722] bone-capemgr bone_capemgr.9:
compatible-baseboard=ti,beaglebone-black
[ 0.584814] bone-capemgr bone_capemgr.9: slot #0: 'BeagleBone AUDIO
CAPE,00A1,Beagleboardtoys,BB-BONE-AUDI-01'
[ 0.614598] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.651706] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.688814] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.695030] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 0.695052] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 4
[ 0.695067] bone-capemgr bone_capemgr.9: slot #4:
'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 0.695147] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 0.695166] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 5
[ 0.695180] bone-capemgr bone_capemgr.9: slot #5:
'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 0.695251] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 0.695268] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 6
[ 0.695282] bone-capemgr bone_capemgr.9: slot #6:
'Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN'
[ 0.695602] bone-capemgr bone_capemgr.9: loader: before slot-0
BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.695619] bone-capemgr bone_capemgr.9: loader: check slot-0
BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.695694] bone-capemgr bone_capemgr.9: loader: before slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.695707] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.695777] bone-capemgr bone_capemgr.9: loader: before slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 0.695789] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 0.695822] bone-capemgr bone_capemgr.9: initialized OK.
[ 0.696283] bone-capemgr bone_capemgr.9: loader: after slot-0
BB-BONE-AUDI-01:00A1 (prio 0)
[ 0.696302] bone-capemgr bone_capemgr.9: slot #0: Requesting part
number/version based 'BB-BONE-AUDI-01-00A1.dtbo
[ 0.696318] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware
'BB-BONE-AUDI-01-00A1.dtbo' for board-name 'BeagleBone AUDIO CAPE', version
'00A1'
[ 0.696708] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.698667] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 0.700292] bone-capemgr bone_capemgr.9: loader: before slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.700307] bone-capemgr bone_capemgr.9: loader: check slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.700321] bone-capemgr bone_capemgr.9: loader: check slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.070829] bone-capemgr bone_capemgr.9: failed to load firmware
'BB-BONE-AUDI-01-00A1.dtbo'
[ 1.079721] bone-capemgr bone_capemgr.9: loader: failed to load slot-0
BB-BONE-AUDI-01:00A1 (prio 0)
[ 1.089331] bone-capemgr bone_capemgr.9: loader: check slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.089357] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.089371] bone-capemgr bone_capemgr.9: loader: after slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.089395] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware
'cape-boneblack-hdmi-00A0.dtbo' for board-name 'Bone-Black-HDMI', version
'00A0'
[ 1.089424] bone-capemgr bone_capemgr.9: slot #5: dtbo
'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree
[ 1.089771] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
[ 1.090823] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.090845] bone-capemgr bone_capemgr.9: loader: after slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.090864] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware
'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 1.090879] bone-capemgr bone_capemgr.9: slot #4: dtbo
'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
[ 1.091426] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 1.120725] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 1.120750] bone-capemgr bone_capemgr.9: loader: done slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.120959] bone-capemgr bone_capemgr.9: loader: check slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253451] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
[ 1.253473] bone-capemgr bone_capemgr.9: loader: done slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.253506] bone-capemgr bone_capemgr.9: loader: check slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253522] bone-capemgr bone_capemgr.9: loader: after slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.253549] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware
'cape-boneblack-hdmin-00A0.dtbo' for board-name 'Bone-Black-HDMIN', version
'00A0'
[ 1.253581] bone-capemgr bone_capemgr.9: slot #6: dtbo
'cape-boneblack-hdmin-00A0.dtbo' loaded; converting to live tree
[ 1.253813] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN
conflict P8.45 (#5:BB-BONELT-HDMI)
[ 1.263412] bone-capemgr bone_capemgr.9: slot #6: Failed verification
[ 1.270153] bone-capemgr bone_capemgr.9: loader: failed to load slot-6
BB-BONELT-HDMIN:00A0 (prio 2)
[ 8.007065] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-AUDI-02',
version 'N/A'
[ 8.007140] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 8.007297] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 7
[ 8.007317] bone-capemgr bone_capemgr.9: slot #7: 'Override Board
Name,00A0,Override Manuf,BB-BONE-AUDI-02'
[ 8.019293] bone-capemgr bone_capemgr.9: slot #7: Requesting part
number/version based 'BB-BONE-AUDI-02-00A0.dtbo
[ 8.019321] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware
'BB-BONE-AUDI-02-00A0.dtbo' for board-name 'Override Board Name', version
'00A0'
[ 8.019339] bone-capemgr bone_capemgr.9: slot #7: dtbo
'BB-BONE-AUDI-02-00A0.dtbo' loaded; converting to live tree
[ 8.019615] bone-capemgr bone_capemgr.9: slot #7: BB-BONE-AUDI-02
conflict P9.31 (#5:BB-BONELT-HDMI)
[ 8.029302] bone-capemgr bone_capemgr.9: slot #7: Failed verification

This looks like a conflict between HDMI and the audio cape. Are you
certain you disabled HDMI as instructed in that tutorial?

"Since this Audio Cape uses the same audio signal from the onboard
HDMI interface, you need to disable the audio portion of the HDMI by
edit the uEnv.txt at /boot/uboot. Add this line to the uEnv.txt file:

    optargs=capemgr.disable_partno=BB-BONELT-HDMI"

I'd double check you typed that correctly into uEnv.txt.

I copied and pasted that into /boot/uboot/uEnv.txt but created that file with nano since it didn’t exist. What should the permissions be on this file?

Actually, how would I know if this file is being read ok?

The march image its located at /boot/uEnv.txt

Oh, so the file should already exist? What do u mean by the march image…the image I flashed?

With the March "2015-03-01" image, the file you need to modify to stop
loading the pins is located at "/boot/uEnv.txt"

Regards,

I don’t have that file. Do I need to reflash?

That file was in /boot. I’ll move it to /boot/uboot and then add that line. Hopefully it works then.

Stop! Don't do that... It's suppost to be in "/boot/uEnv.txt"...

Regards,

Yeah… That didn’t work. No harm done since I just copied the file. So how do I get the file that should be in /boot/uboot?

Yeah… That didn’t work. No harm done since I just copied the file. So how do I get the file that should be in /boot/uboot?

You don’t… Everything is in /boot/uEnv.txt now, just open it and uncomment the line to disable HDMI audio.

That file isn’t on my install in that location. I’ll redownload the flash file tonight and flash again. Where should I download from? This is where I got it before:

https://rcn-ee.com/rootfs/bb.org/release/2015-03-01/lxde-4gb/BBB-eMMC-flasher-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz

I checked the md5sum code and it checked out.

The flashing did only take 8 minutes on my rev C and I read it should take 25045 minutes. Maybe that’s a bad image?

that should be 25-45 minutes.

Things average 5-6 minutes a GB...

Regards,