I am having a similar problem as described above. I am trying to load a custom cape.
I am trying to load a copy of BB-BONE-LCD4.dts. Eventually I plan to modify this overlay to include an LCD panel, but for now i’ve cloned the dts file, changed the part number to DOPTOCAPE1, and renamed the file DOPTOCAPE1.dts
I placed the file in /src/arm directory, then ran install.sh
I cheked that DOPTOCAPE1.dtbo is now in /lib/firmware
Then I made the changes in my uEnv.txt file, and rebooted.
Here is debug from the boot process:
[ 0.000000] Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=dev_OPTOCAPE root=UUID=509a5094-05c2-4cf0-803d-945708cd72b5 ro rootfstype=ext4 rootwait coherent_pool=1M quiet net.ifnames=0
[ 0.610669] bone-capemgr bone_capemgr.9: Baseboard: ‘A335BNLT,000C,3914BBBK2717’
[ 0.610691] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 0.610729] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMI
[ 0.610773] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMIN
[ 0.641898] bone-capemgr bone_capemgr.9: slot #0: No cape found
[ 0.679000] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.716114] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.753223] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.759455] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 0.759476] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 0.759492] bone-capemgr bone_capemgr.9: slot #4: ‘Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G’
[ 0.759565] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 0.759582] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 0.759595] bone-capemgr bone_capemgr.9: slot #5: ‘Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI’
[ 0.759667] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 0.759683] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 0.759696] bone-capemgr bone_capemgr.9: slot #6: ‘Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN’
[ 0.759755] bone-capemgr bone_capemgr.9: enabled_partno part_number ‘dev_OPTOCAPE’, version ‘N/A’, prio ‘0’
[ 0.759768] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 0.759779] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 0.759792] bone-capemgr bone_capemgr.9: slot #7: ‘Override Board Name,00A0,Override Manuf,dev_OPTOCAPE’
[ 0.759896] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMI
[ 0.759908] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMIN
[ 0.760092] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.760107] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.760134] bone-capemgr bone_capemgr.9: initialized OK.
[ 0.762291] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.764081] bone-capemgr bone_capemgr.9: loader: before slot-7 dev_OPTOCAPE:00A0 (prio 0)
[ 0.764094] bone-capemgr bone_capemgr.9: loader: check slot-7 dev_OPTOCAPE:00A0 (prio 0)
[ 0.764109] bone-capemgr bone_capemgr.9: loader: after slot-7 dev_OPTOCAPE:00A0 (prio 0)
[ 0.764124] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'dev_OPTOCAPE-00A0.dtbo
[ 0.764139] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘dev_OPTOCAPE-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 1.239617] bone-capemgr bone_capemgr.9: failed to load firmware ‘dev_OPTOCAPE-00A0.dtbo’
[ 1.248179] bone-capemgr bone_capemgr.9: loader: failed to load slot-7 dev_OPTOCAPE:00A0 (prio 0)
[ 1.257645] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.257662] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.257685] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware ‘cape-bone-2g-emmc1.dtbo’ for board-name ‘Bone-LT-eMMC-2G’, version ‘00A0’
[ 1.257702] bone-capemgr bone_capemgr.9: slot #4: dtbo ‘cape-bone-2g-emmc1.dtbo’ loaded; converting to live tree
[ 1.257911] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 1.286653] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 1.286678] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
(initramfs) :
Then I repeated the process, loading “BB-BONE-LCD4-01” instead. I rebooted, and this overlay loaded with no problems.
Then I tried loading manually with:
echo BB-BONE-LCD4-01 >/sys/devices/bone_capemgr.9/slots
This worked also. When I tried the same with my custom file, the shell returned:
sh: I/O error
So it seems I am having a problem loading custom .dtbo files.
My kernel info is:
Linux beaglebone 3.8.13-xenomai-r81 #1 Fri Oct 14 16:24:43 UTC 2016 armv7l GNU/Linux
Do I need to upate my kernel?