LCD Fail during upgrade from Bullseye -> Bookworm

Hi,
I am a new student learning about embedded systems and have purchased a new Beaglebone Black and a 4D Systems GEN4-4DCAPE-70T LCD TFT resistive touchscreen. In my learning about using distros/snapshots I’ve run into a problem. When I install am335x-debian-11.8-iot-armhf-2023-10-07-4gb.img.xz my panel lights up and the console login appears. When I went to install the latest and greatest snapshot, am335x-debian-12.2-iot-armhf-2023-10-07-4gb.img.xz, my panel no longer lights up and displays the login screen. Everything via ssh is working fine.

As a side note the only reason I tried the upgrade is because my development desktop is Ubuntu 22.04 and when I went to cross-compile a test program, I ran into the libc mismatch problem between Ubuntu 22.04 and Bullseye image. I know I could always downgrade to Ubuntu 20.04 and run against the Bullseye image and all would be good with the world (libc and LCD panel working) but as part of my learning I would like to know and correct this problem with the latest snapshot.

My background is as a student so I would say my Linux background is intermediate and my programming (C/C++) is at an intermediate level as well. I’ve done some custom Linux kernel builds via menuconfig and have a basic understanding of kernel organization, drivers/modules, device tree, etc. so I’m not afraid to take this on.

I’ve scoured the forums on this issue as well as compared kernel configs, kernel modules, etc. between Bullseye and Bookworm snapshots on my system and haven’t been able to see any differences which would impact the LCD panel between the two snapshots.

Can someone please direct me on where I can go to correct this? Or how to approach getting to the solution…

Thanks in advance.
Chris

Well, both these use the same v5.10.x-ti kernel… so one shouldn’t fail where the other doesn’t…

Can you run:

sudo beagle-version

on the 12.2 image?

Regards,

Hi,
Thanks for quick response. Here’s my beagle-version output

eeprom:[A335BNLT00C02225SBB12103]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Bookworm IoT Image 2023-10-07]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot SPL 2022.04-ge0d31da5 (Aug 04 2023 - 18:48:26 +0000)]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
kernel:[5.10.168-ti-r72]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>]
WARNING:pkg:[bb-cape-overlays]:[NOT_INSTALLED]
pkg:[bb-customizations]:[1.20231007.0-0~bookworm+20231007]
pkg:[bb-usb-gadgets]:[1.20231003.1-0~bookworm+20231003]
pkg:[bb-wl18xx-firmware]:[1.20230414.0-0~bookworm+20230414]
pkg:[kmod]:[30+20221128-1]
WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED]
pkg:[firmware-ti-connectivity]:[20230210-5]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal input render netdev i2c bluetooth gpio admin tisdk weston-launch cloud9ide]
cmdline:[console=ttyS0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait uboot_detected_capes=BB-BONE-4D7R-01, coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[   11.074696] remoteproc remoteproc0: wkup_m3 is available
[   22.223014] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[   48.507807] remoteproc remoteproc0: powering up wkup_m3
[   48.507846] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
[   48.508133] remoteproc remoteproc0: remote processor wkup_m3 is now up
[   71.661633] remoteproc remoteproc1: 4a334000.pru is available
[   71.725006] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pru
[   71.661633] remoteproc remoteproc1: 4a334000.pru is available
[   71.725006] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pinctrl-single
[   10.558312] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[   10.560077] gpio-of-helper ocp:cape-universal: Failed to get gpio property of 'P8_03'
[   10.560105] gpio-of-helper ocp:cape-universal: Failed to create gpio entry
[   11.269699] gpio-of-helper ocp:cape-universal: Allocated GPIO id=0 name='P8_03'
[   11.269913] gpio-of-helper ocp:cape-universal: Allocated GPIO id=1 name='P8_04'
[   11.270087] gpio-of-helper ocp:cape-universal: Allocated GPIO id=2 name='P8_05'
[   11.270256] gpio-of-helper ocp:cape-universal: Allocated GPIO id=3 name='P8_06'
[   11.270730] gpio-of-helper ocp:cape-universal: Allocated GPIO id=4 name='P8_07'
[   11.270906] gpio-of-helper ocp:cape-universal: Allocated GPIO id=5 name='P8_08'
[   11.271209] gpio-of-helper ocp:cape-universal: Allocated GPIO id=6 name='P8_09'
[   11.271411] gpio-of-helper ocp:cape-universal: Allocated GPIO id=7 name='P8_10'
[   11.271598] gpio-of-helper ocp:cape-universal: Allocated GPIO id=8 name='P8_11'
[   11.271771] gpio-of-helper ocp:cape-universal: Allocated GPIO id=9 name='P8_12'
[   11.272027] gpio-of-helper ocp:cape-universal: Allocated GPIO id=10 name='P8_13'
[   11.272200] gpio-of-helper ocp:cape-universal: Allocated GPIO id=11 name='P8_14'
[   11.272380] gpio-of-helper ocp:cape-universal: Allocated GPIO id=12 name='P8_15'
[   11.272552] gpio-of-helper ocp:cape-universal: Allocated GPIO id=13 name='P8_16'
[   11.272721] gpio-of-helper ocp:cape-universal: Allocated GPIO id=14 name='P8_17'
[   11.272887] gpio-of-helper ocp:cape-universal: Allocated GPIO id=15 name='P8_18'
[   11.273042] gpio-of-helper ocp:cape-universal: Allocated GPIO id=16 name='P8_19'
[   11.273209] gpio-of-helper ocp:cape-universal: Allocated GPIO id=17 name='P8_20'
[   11.273365] gpio-of-helper ocp:cape-universal: Allocated GPIO id=18 name='P8_21'
[   11.273541] gpio-of-helper ocp:cape-universal: Allocated GPIO id=19 name='P8_22'
[   11.273735] gpio-of-helper ocp:cape-universal: Allocated GPIO id=20 name='P8_23'
[   11.273898] gpio-of-helper ocp:cape-universal: Allocated GPIO id=21 name='P8_24'
[   11.274079] gpio-of-helper ocp:cape-universal: Allocated GPIO id=22 name='P8_25'
[   11.274232] gpio-of-helper ocp:cape-universal: Allocated GPIO id=23 name='P8_26'
[   11.274402] gpio-of-helper ocp:cape-universal: Allocated GPIO id=24 name='P8_27'
[   11.274569] gpio-of-helper ocp:cape-universal: Allocated GPIO id=25 name='P8_28'
[   11.274732] gpio-of-helper ocp:cape-universal: Allocated GPIO id=26 name='P8_29'
[   11.274901] gpio-of-helper ocp:cape-universal: Allocated GPIO id=27 name='P8_30'
[   11.275165] gpio-of-helper ocp:cape-universal: Allocated GPIO id=28 name='P8_31'
[   11.275351] gpio-of-helper ocp:cape-universal: Allocated GPIO id=29 name='P8_32'
[   11.275524] gpio-of-helper ocp:cape-universal: Allocated GPIO id=30 name='P8_33'
[   11.275722] gpio-of-helper ocp:cape-universal: Allocated GPIO id=31 name='P8_34'
[   11.275906] gpio-of-helper ocp:cape-universal: Allocated GPIO id=32 name='P8_35'
[   11.276070] gpio-of-helper ocp:cape-universal: Allocated GPIO id=33 name='P8_36'
[   11.276229] gpio-of-helper ocp:cape-universal: Allocated GPIO id=34 name='P8_37'
[   11.276406] gpio-of-helper ocp:cape-universal: Allocated GPIO id=35 name='P8_38'
[   11.276572] gpio-of-helper ocp:cape-universal: Allocated GPIO id=36 name='P8_39'
[   11.276739] gpio-of-helper ocp:cape-universal: Allocated GPIO id=37 name='P8_40'
[   11.276935] gpio-of-helper ocp:cape-universal: Allocated GPIO id=38 name='P8_41'
[   11.277096] gpio-of-helper ocp:cape-universal: Allocated GPIO id=39 name='P8_42'
[   11.277276] gpio-of-helper ocp:cape-universal: Allocated GPIO id=40 name='P8_43'
[   11.277431] gpio-of-helper ocp:cape-universal: Allocated GPIO id=41 name='P8_44'
[   11.277598] gpio-of-helper ocp:cape-universal: Allocated GPIO id=42 name='P8_45'
[   11.277772] gpio-of-helper ocp:cape-universal: Allocated GPIO id=43 name='P8_46'
[   11.277944] gpio-of-helper ocp:cape-universal: Allocated GPIO id=44 name='P9_11'
[   11.278123] gpio-of-helper ocp:cape-universal: Allocated GPIO id=45 name='P9_12'
[   11.278282] gpio-of-helper ocp:cape-universal: Allocated GPIO id=46 name='P9_13'
[   11.278456] gpio-of-helper ocp:cape-universal: Allocated GPIO id=47 name='P9_14'
[   11.278625] gpio-of-helper ocp:cape-universal: Allocated GPIO id=48 name='P9_15'
[   11.278796] gpio-of-helper ocp:cape-universal: Allocated GPIO id=49 name='P9_16'
[   11.278965] gpio-of-helper ocp:cape-universal: Allocated GPIO id=50 name='P9_17'
[   11.279252] gpio-of-helper ocp:cape-universal: Allocated GPIO id=51 name='P9_18'
[   11.279446] gpio-of-helper ocp:cape-universal: Allocated GPIO id=52 name='P9_19'
[   11.279633] gpio-of-helper ocp:cape-universal: Allocated GPIO id=53 name='P9_20'
[   11.279796] gpio-of-helper ocp:cape-universal: Allocated GPIO id=54 name='P9_21'
[   11.279966] gpio-of-helper ocp:cape-universal: Allocated GPIO id=55 name='P9_22'
[   11.280139] gpio-of-helper ocp:cape-universal: Allocated GPIO id=56 name='P9_23'
[   11.280297] gpio-of-helper ocp:cape-universal: Allocated GPIO id=57 name='P9_24'
[   11.280781] gpio-of-helper ocp:cape-universal: Allocated GPIO id=58 name='P9_25'
[   11.280960] gpio-of-helper ocp:cape-universal: Allocated GPIO id=59 name='P9_26'
[   11.281145] gpio-of-helper ocp:cape-universal: Allocated GPIO id=60 name='P9_27'
[   11.281313] gpio-of-helper ocp:cape-universal: Allocated GPIO id=61 name='P9_28'
[   11.281476] gpio-of-helper ocp:cape-universal: Allocated GPIO id=62 name='P9_29'
[   11.281652] gpio-of-helper ocp:cape-universal: Allocated GPIO id=63 name='P9_30'
[   11.281838] gpio-of-helper ocp:cape-universal: Allocated GPIO id=64 name='P9_31'
[   11.282017] gpio-of-helper ocp:cape-universal: Allocated GPIO id=65 name='P9_41'
[   11.282182] gpio-of-helper ocp:cape-universal: Allocated GPIO id=66 name='P9_91'
[   11.282349] gpio-of-helper ocp:cape-universal: Allocated GPIO id=67 name='P9_42'
[   11.282537] gpio-of-helper ocp:cape-universal: Allocated GPIO id=68 name='P9_92'
[   11.282548] gpio-of-helper ocp:cape-universal: ready
dmesg | grep wlcore
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END

Looking at the output, does it have something to do with…
WARNING:pkg:[bb-cape-overlays]:[NOT_INSTALLED]

okay, so that cape, needs to be ported to: BB-BONE-4D7R-01, src/arm/overlays · v5.10.x-ti-unified · BeagleBoard.org / BeagleBoard-DeviceTrees · GitLab

So grab the old one and build it as shown:

git clone https://github.com/beagleboard/bb.org-overlays
cd ./bb.org-overlays/
make src/arm/BB-BONE-4D7R-01-00A1.dtbo
sudo cp -v src/arm/BB-BONE-4D7R-01-00A1.dtbo /lib/firmware/

and reboot

Regards,

Perfect, thank you!!!