Is cape manager obsolete? What about device tree overlays?

Thanks for the explanation, but could you elaborate a bit more on it?

As far as I understand the world as it is now works this way:

0- If you are running anything beyond kernel 4.1 you should be using uboot
overlays. Be careful to load the latest bb-cape overlays and be sure that
uboot is the latest version, check via /opt/script/tools/version.sh,
look for
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2015.01-00001-gb2412df]
this is wrong:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Should be something like:
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot
2017.09-00002-g0f3f1c7907]

If not, do
/opt/scripts/tools/developers/update_bootloader.sh
This should put an updated bootloader in the boot block of your Beaglebone.
Careful: you should have booted from the internal flash, not from an
external flash-card.

1-Overlays are now loaded in /boot/uEnv.txt at boot time.
Cape-universal or the other universal capes make it possible to use
config-pin to configure the pins that you want to use,
example:
config-pin -l p9-21
gives all the possible settings
config-pin -q p9-21
gives the current setting
config-pin -a p9-21 i2c
makes the pin respond to i2c signals.

<SPECULATIVE STEPS: DO NOT USE IN THE REAL WORLD:>

2-if another overlay is loaded in /bootuEnv.txt which is not of the
universal type, config-pin does not work anymore???

Correct, someone needs to write a pin manager for U-Boot.. Currently
what we do, if a custom cape is defined, cape_universal is disabled..

However you can toggle oneboard devices:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Disable_on-board_devices

and the cape-universal knows what to do..

3-To find out which overlay is loaded if config-pin does not run, use
command ??? to find out which overlay(s) is/are currently running

sudo /opt/scripts/tools/version.sh

&

USB Serial Debug cable, to track what U-Boot did..

&

cat /proc/cmdline | sed 's/ /\n/g' | grep uboot_detected_capes= || true

(very new: uboot_detected_capes )

4-If you want to make a combination of some of the universal settings plus
an overlay, ???

Source is here:

here is cape universal with

https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/univ-bbb-EVA-00A0.dts

</SPECULATIVE STEPS: DO NOT USE IN THE REAL WORLD>

I am pretty sure it's all wrong, but I am struggling with the info too. I am
trying to modernize gobot to the latest uboot overlay stufff (it is still
looking for cape_mgr slots file), but it is not exactly clear how I can find
out if an overlay is set, or if I am able to set a specific pin after some
overlay has been loaded.

Regards,

Well, I though I had a solution. I switched from the 4.9 kernel to 4.4

bone$ uname -a
Linux bone-5eca 4.4.91-ti-r137 #1 SMP Tue Nov 7 01:13:03 UTC 2017 armv7l GNU/Linux

and I still can’t unexport the pins I want for the LCD.
bone$ sudo bash
bone# echo 116 > unexport
bash: echo: write error: Invalid argument

I’m not sure what to try next.

–Mark

I got the LCD working! But it with using Adafruit’s user space LCD interface[1].
I still need a framebuffer solution.

–Mark

[1] Overview | User-space SPI TFT Python Library - ILI9341 | Adafruit Learning System

Hi

I am having the same problem and can’t solve it. Here is the output of "sudo /opt/scripts/tools/version.sh "

git:/opt/scripts/:[0aa8fd09a1821f6f9197aada6ec69e9746e91f67]
eeprom:[A335BNLT00C05016BBBK1BDB]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[rcn-ee.net console Ubuntu Image 2018-09-11]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR]
kernel:[4.14.67-ti-r74]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.4.20180803.0-0rcnee0~bionic+20180804]
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~bionic+20180517]
pkg:[kmod]:[24-1ubuntu3rcnee0~bionic+20180515]
WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED]
groups:[ubuntu : ubuntu adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep admin spi tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet cape_universal=enable]
dmesg | grep pinctrl-single
[ 1.247646] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg | grep gpio-of-helper
[ 1.259666] gpio-of-helper ocp:cape-universal: ready
END

I followed the same tips mentioned here but didn’t work.

What's your problem and what are your trying to do?

Regards,

P9.28, P9.29, and P9.30 are tied to HDMI audio..

Add this option to /boot/uEnv.txt

disable_uboot_overlay_audio=1

Regards,