BB Black not displaying on reboot

Hi everyone. I have a beaglebone black which is giving me constant display issues. The problem is as follows:

I installed the latest Debian Buster IoT with no GUI (AM3358 Debian 10.3 2020-04-06 4GB SD IoT) from BeagleBoard.org - latest-images following the instructions (use balena etcher to create SD card image, etc). It worked perfectly. I ran sudo apt update and installed the latest update, sudo apt full-upgrade, etc. Everything was absolutely fine - until I reboot the device.

On reboot, there is no display. I have tried absolutely everything I can think of including changing HDMI cables, rebooting, power on/off, and even re-doing the whole process. Again, the same thing happens - works fine first time, but when I shut down the BBB, there is no display when I power up again.

I am certain it is not anything to do with the HDMI cables, as everything works fine on first boot, the problem only comes after I shut down (no matter if I use sudo shutdown, sudo reboot or just pull the power), always there is no display on the second and following boot-ups after a new install.

So I also tried starting again and installing a different image - this time the AM3358 Debian 10.3 2020-04-06 4GB eMMC IoT Flasher image to do a flashed eMMC install. Again, the same thing - it works absolutely perfectly and I have a fully functioning BBB - until I turn it off. Turn it back on - nothing.

It’s very frustrating and I have now tried both firmware images a number of times with the same result - works fine first time, then never again. I am using the proper 5V cable and good quality HDMI cables etc. I’ve tried image install with both the USB and the 5V power cable, always works on first boot, but second time I boot after the initial set up, no display.

I know the BBB is still operational as I can SSH into it with a USB connection to my laptop. But I want to use the device with a display,

Any help or tips gratefully accepted. I hope I have made my issue clear, if not please accept my apologies, I am very much a newbie with beaglebone.

Hi @daithi76 can you log in?

What does this report back?

sudo /opt/scripts/tools/version.sh

Regards,

1 Like

This may be a really dumb question but I thought the point of the versions without the GUI were so that the HDMI pins were freed to do other things. As in those versions don’t have a support for HDMI. Only the serial port or via network SSH, or USB.

This probably won’t help, but whenever I have display issues, it has always been because the disk is completely filled up. I just went ahead and deleted some log files, especial the ones in journal, not the folder itself. If you can get an uart serial connection established, you can see whats going on in more detail. sudo screen /dev/ttyUSB0 115200 is what i use but yours might be a little different like /dev/xxxxx

Hi, I’m not sure but I thought the purpose of the non-GUI versions was to allow booting straight into terminal without a GUI slowing everything down and consuming space?

Hi @RobertCNelson thanks for the reply - I will try that this evening when I get home and let you know.

Hi @jcdammeyer that is in-correct assumption… All versions boot the same way, the non-gui or console images would still show a tty terminal over hdmi by default…

Regards,

1 Like

Hi Robert, Thanks for the correction on that. But there is a way to disable the HDM so it wouldn’t work on boot right?

Hi @RobertCNelson it returns the following:

debian@beaglebone:~$ sudo /opt/scripts/tools/version.sh
[sudo] password for debian: 
git:/opt/scripts/:[b39ec679648a6be8f25f48bd1c9784c1fc5a0c46]
eeprom:[A335BNLT00C04819BBBK0481]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Buster IoT Image 2020-04-06]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0.bb.org-overlays]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0.bb.org-overlays]
UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0.bb.org-overlays]
kernel:[4.19.94-ti-r42]
nodejs:[v10.24.0]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>]
pkg:[bb-cape-overlays]:[4.14.20210821.0-0~buster+20210821]
pkg:[bb-wl18xx-firmware]:[1.20210922.1-0~buster+20210922]
pkg:[kmod]:[26-1]
pkg:[librobotcontrol]:[1.0.5-git20200715.0-0~buster+20200716]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep remoteproc admin spi iio docker tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[   63.747236] remoteproc remoteproc0: wkup_m3 is available
[   63.913061] remoteproc remoteproc0: powering up wkup_m3
[   63.913090] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217168
[   63.913625] remoteproc remoteproc0: remote processor wkup_m3 is now up
[   66.779556] remoteproc remoteproc1: 4a334000.pru is available
[   66.795648] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pru
[   66.779556] remoteproc remoteproc1: 4a334000.pru is available
[   66.779753] pru-rproc 4a334000.pru: PRU rproc node pru@4a334000 probed successfully
[   66.795648] remoteproc remoteproc2: 4a338000.pru is available
[   66.795851] pru-rproc 4a338000.pru: PRU rproc node pru@4a338000 probed successfully
dmesg | grep pinctrl-single
[    0.949607] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.471790] pinctrl-single 44e10800.pinmux: pin PIN108 already requested by ocp:A15_pinmux; cannot claim for 0-0070
[    1.482354] pinctrl-single 44e10800.pinmux: pin-108 (0-0070) status -22
[    1.489033] pinctrl-single 44e10800.pinmux: could not request pin 108 (PIN108) from group nxp_hdmi_bonelt_pins  on device pinctrl-single
dmesg | grep gpio-of-helper
[    0.962894] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END
sudo /opt/scripts/tools/update_kernel.sh

Regards,

1 Like

Yeap : Beagleboard:BeagleBoneBlack Debian - eLinux.org

Brilliant - working a treat now! Thank you. I didn’t realise the kernel would require updated. Every day’s a school day!

Very grateful for your help with this.

Also I see that I would have solved the issue had I read the following properly:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Kernel_Upgrade

:man_facepalming:

Would recommend the above link to anyone experiencing issues, it covers everything in detail.

That brings up an interesting question. At the moment my Beagle doesn’t allow me to apt-get updates or upgrades because it claims the sites are no longer available. As shown below it’s the debian 2018 image.

Will the update_kernel.sh fix that?
John

debian@ebb:~/lazarus/lazcandump$ sudo /opt/scripts/tools/version.sh
[sudo] password for debian:
git:/opt/scripts/:[f495239e456d8ec99554a35ae04b33ddce5c26cc]
eeprom:[A335BNLT00C02716BBBK0E8D]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Image 2018-10-07]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-gbb4af0f50f]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-14-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0]
UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0]
UBOOT: Loaded Overlay:[cape-CBB-Serial-r01]
kernel:[4.14.108-ti-r136]
nodejs:[v6.17.0]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-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.14.20210416.0-0~stretch+20210416]
pkg:[bb-wl18xx-firmware]:[1.20200813.1-0~stretch+20200813]
pkg:[kmod]:[23-2rcnee1~stretch+20171005]
pkg:[librobotcontrol]:[1.0.5-git20200715.0-0~stretch+20200716]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~stretch+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy sudo audio dip video plugdev users systemd-journal i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait uboot_detected_capes=cape-CBB-Serial, coherent_pool=1M net.ifnames=0 quiet]
dmesg | grep remote
[ 1.131425] remoteproc remoteproc0: wkup_m3 is available
[ 1.477164] remoteproc remoteproc0: powering up wkup_m3
[ 1.477285] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217168
[ 1.481758] remoteproc remoteproc0: remote processor wkup_m3 is now up
[ 167.960332] remoteproc remoteproc1: 4a334000.pru is available
[ 167.962194] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pru
[ 166.480051] pruss 4a300000.pruss: creating PRU cores and other child platform devices
[ 167.960332] remoteproc remoteproc1: 4a334000.pru is available
[ 167.960490] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully
[ 167.962194] remoteproc remoteproc2: 4a338000.pru is available
[ 167.962316] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed successfully
dmesg | grep pinctrl-single
[ 0.828566] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg | grep gpio-of-helper
[ 0.841071] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0403:ffa8 Future Technology Devices International, Ltd
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END

@daithi76 Thanks for that link. I did exactly that. Then did a sudo apt-get update and upgrade which this time did not fail. My dogtag hasn’t changed but the kernel has upgraded to
kernel:[4.14.108-ti-r143]
So I guess at this point I’m as up to date as it’s possible to be without starting over with a new SD card?

Unless you enable the LTS repo, Debian Stretch is EOL…

https://wiki.debian.org/DebianStretch

https://wiki.debian.org/DebianReleases#Production_Releases

Regards,

@RobertCNelson I understand that Stretch is EOL. That’s not the question.

What do I enter on the command line to update to the newest release which replaces Stretch?

sudo sed -i -e 's:stretch:buster:g' /etc/apt/sources.list
sudo apt update
sudo apt install apt dpkg
sudo apt update
sudo apt upgrade

Regards,

I think so, I always update and reboot after updating kernel anyway just by habit. But I’m not an expert by any stretch. I just needed HDMI display to work so I can get on with learning how to use the BBB, and thanks to Robert I am now up and running.

@RobertCNelson
I followed your directions exactly. It says ‘buster’ but also ‘stretch’ for SMP PREEMPT.
Is there still something that needs to be done?

debian@ebb:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
debian@ebb:~$ uname -a
Linux ebb 4.14.108-ti-r143 #1stretch SMP PREEMPT Thu May 27 20:03:25 UTC 2021 armv7l GNU/Linux
debian@ebb:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2018-10-07
debian@ebb:~$