Cannot find BBORG_COMMS-00A2.dtbo

In the webpage Using Device Tree Overlays, example on BeagleBone Cape add-on boards - BeagleBoard

it says:

This is exactly what Device Tree Overlays are about. For example, in /lib/firmware, the Debian image shipped by BeagleBoard.org contains compiled Device Tree Overlays (DTBO) for the extension boards (also known as capes in the BeagleBoard world) they support, such as:

BBORG_COMMS-00A2.dtbo BBORG_DISPLAY18-00A2.dtbo BBORG_DISPLAY70-00A2.dtbo BBORG_GAMEPUP-00A2.dtbo BBORG_MOTOR-00A2.dtbo BBORG_PROTO-00A2.dtbo BBORG_RELAY-00A2.dtbo BBORG_TECHLAB-00A2.dtbo

Then, at boot time, all you have to do is load the main DTB for your board, and then override it using the DTBOs corresponding to the capes which are currently mounted. Kernel contributors have also worked on solutions to load the DTBOs dynamically in the live system, but this solution is not mature yet. Therefore, the bootloader based solution at boot time remains so far the best one.

When I search /lib/firmware on my Beaglebone Black I get no file that starts with BBORG upper or lower case)

I had screwed up the fstab and had to reload the OS. I used the
AM335x 11.7 2023-09-02 4GB eMMC IoT Flasher

And it does not have the CAPE files in the /lib/firmware

I have the BeagleBone Comms Cape A2

And the BBORG_COMMS-00A2.dtbo file was not in the directory.

I reread the text and it said it was in the image sent with the board. They could not have included it in the factory load, but not in the download would they? That is exactly what they did. Fortunately, I had another BeagleBone Black that had not been reflashed. And sure enough it had the file. So I copied the file to the /lib/firmware directory and opened up the /boot/uEnv.txt file and changed it to:

debian@acu:/boot$ cat uEnv.txt
#Docs: Beagleboard:U-boot partitioning layout 2.0 - eLinux.org

uname_r=5.10.168-ti-r72
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: Beagleboard:BeagleBoneBlack Debian - eLinux.org
###Master Enable
enable_uboot_overlays=1

###Overide capes with eeprom
#uboot_overlay_addr0=.dtbo
#uboot_overlay_addr1=.dtbo
#uboot_overlay_addr2=.dtbo
#uboot_overlay_addr3=.dtbo

###Additional custom capes
uboot_overlay_addr4=/lib/firmware/BBORG_COMMS-00A2.dtbo
#uboot_overlay_addr5=.dtbo
#uboot_overlay_addr6=.dtbo
#uboot_overlay_addr7=.dtbo

###Custom Cape
#dtb_overlay=.dtbo

###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
#disable_uboot_overlay_video=1
#disable_uboot_overlay_audio=1
#disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1

##cape Universal Enable
enable_uboot_cape_universal=1

###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1

###U-Boot fdt tweaks… (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

console=ttyS0,115200n8
cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet video=HDMI-A-1:1024x768@60e

#Use an overlayfs on top of a read-only root filesystem:
#cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet overlayroot=tmpfs

##enable Generic eMMC Flasher:
#cmdline=init=/usr/sbin/init-beagle-flasher

I think when it installs correctly you should see it in the ifconfig command
However when I use ifconfig -a both can0: and can1: interfaces show up.

What am I doing wrong? I How do I know if it installed correctly?

1 Like

Have you seen kernel 4.19.x yet?

I think the COMMS Cape is in that repo and branch of that specific kernel!

Seth

P.S. Just for reference here, I do not own the COMMS Cape nor did I ever use one. So, I am out on tutorial business on this one but yeppers, 4.19.x.

Remove /lib/firmware/ from that variable and uboot will find the kernel specific version

1 Like

I guess I am confused I used this one on the Latest Software Images - BeagleBoard

And it says kernel 5.10.168 not close to kernel 4.19.x


AM335x 11.7 2023-09-02 4GB eMMC IoT Flasher

Debian image for BeagleBone Black on-board eMMC flash Kernel: 5.10.168-ti-r71 U-Boot: v2022.04 default username:password is [debian:temppwd] For flashing instructions or other images, see Debian 11.x (Bullseye) - Monthly Snapshot - 2023-10-07

I wondered if it may be somewhere else so I did a linux find and could not find it in the filesystem.

I think it loaded. instead of “ifconfig” i should have done a “ifconfig -a” and can0: and can1: show up there. Why can0: shows up I do not know. But for now I do not care.

I found the BBORG_COMMS-00A2.dtbo for the BeagleBone Black. But I did a file search of the BeagleBone AI-64 and could not find the file or any .dtbo with “can” or “COMMS” in the name. Any suggestions?