How to fix No HDMI output with 4.19.94-ti-r42, crash on mouse move with 4.19.94-ti-r71

I am setting up a beaglebone black with HDMI output.

startx reports “(EE) no screens found(EE)”

I should have installed all required packages when comparing to a previous setup running with HDMI output on another system.

When running, /opt/scripts/tools/update_kernel.sh this was updated to 4.19.94-ti-r71 .

Then without any further change, the graphical application started on the screen, but as soon as the mouse was moved, the system crashed resulting in a reboot. Then again, when moving the mouse, the system crashed.

That’s not practicle and supposing that the -r71 is not actually stable, or needs other updates that are not proposed through “apt upgrade” so I decided to avoid it.

So I reverted to the original kernel version, to verify that it was indeed the kernel that was responsible for making the HDMI output work.

After:
apt purge '*-ti-71'
and
apt reinstall libpruio-modules-4.19.94-ti-r42 linux-image-4.19.94-ti-r42 rtl8723bu-modules-4.19.94-ti-r42 rtl8821cu-modules-4.19.94-ti-r42 ti-cmem-4.16.00.00-modules-4.19.94-ti-r42

I could reboot to a system with the initial kernel, and there was no HDMI output, startx reports it can not find the screen.

So these are the installed kernel modules:

i libpruio-modules-4.19.94-ti-r42 - libpruio modules
i linux-image-4.19.94-ti-r42 - Linux kernel, version 4.19.94-ti-r42
i rtl8723bu-modules-4.19.94-ti-r42 - rtl8723bu modules
i rtl8821cu-modules-4.19.94-ti-r42 - rtl8821cu modules
i ti-cmem-4.16.00.00-modules-4.19.94-ti-r42 - ti-cmem modules

After that I tried adding the following because that was recommended in some posts, but that did not help:

apt install xserver-xorg-video-fbdev x11-utils

The working system uses a version that the update_kernel.sh script does not even propose to update:

info: you are running: [4.1.12-ti-r29], latest is: [] updating…

Here are the outputs from /opt/scripts/tools/version.sh - I had to copy that script to the older system because it did not even exist there:
nonworkingVersion.txt (3,2 Ko)
workingVersion.txt (6,9 Ko)

Hi @yna, the issue is the shared overlay “bb-cape-overlays” package, while this worked for a long time, we now have kernel specific overlays…

dmesg | grep pinctrl-single
[    0.962285] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.487362] pinctrl-single 44e10800.pinmux: pin PIN108 already requested by ocp:A15_pinmux; cannot claim for 0-0070
[    1.498032] pinctrl-single 44e10800.pinmux: pin-108 (0-0070) status -22
[    1.504707] pinctrl-single 44e10800.pinmux: could not request pin 108 (PIN108) from group nxp_hdmi_bonelt_pins  on device pinctrl-single

Please upgrade your boot-loader:

dogtag:[BeagleBoard.org Debian Buster IoT Image 2020-04-06]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2015.10-00001-g143c9ee]:[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]

This will update both u-boot on the microSD and eMMC…

sudo apt update
sudo apt install bb-u-boot-am335x-evm
sudo /opt/u-boot/bb-u-boot-am335x-evm/install.sh
sudo reboot

You’ll see this on the next boot-up:

debian@bbb-pwr01-ser09:~$ uname -r
4.19.94-ti-r70
debian@bbb-pwr01-ser09:~$ sudo beagle-version | grep UBOOT
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0.kernel]
UBOOT: Loaded Overlay:[BB-ADC-00A0.kernel]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0.kernel]
UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0.kernel]

Edit: beagle-version, is packaged version of “version.sh” thru this package: “bb-beagle-version”

Regards,

Thank you for the fast answer.

I followed your instructions, installed bb-beagle-vesrion, and got:

$ beagle-version | grep UBOOT
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]

But still:

X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.19.0-18-armmp-lpae armv7l Debian
Current Operating System: Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l
Kernel command line: console=ttyS0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet
Build Date: 18 December 2021  09:05:36AM
xorg-server 2:1.20.4-1+deb10u4 (https://www.debian.org/support)
Current version of pixman: 0.36.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Feb 11 19:03:33 2022
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
$ beagle-version | grep UBOOT
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]

UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0.bb.org-overlays]

It’s still loading the bb.org-overlays’s did you update u-boot???

For xorg, Double check:

sudo apt update
sudo apt install xserver-xorg-video-fbdev x11-xserver-utils
#/etc/X11/xorg.conf
Section "Monitor"
        Identifier      "Builtin Default Monitor"
EndSection
Section "Device"
        Identifier      "Builtin Default fbdev Device 0"
        Driver          "fbdev"
EndSection
Section "Screen"
        Identifier      "Builtin Default fbdev Screen 0"
        Device          "Builtin Default fbdev Device 0"
        Monitor         "Builtin Default Monitor"
EndSection
Section "ServerLayout"
        Identifier      "Builtin Default Layout"
        Screen          "Builtin Default fbdev Screen 0"
EndSection

Regards,

Yes, I did update u-boot:

apt list --installed | grep u-boot

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

bb-u-boot-am335x-evm/unknown,now 2019.04.20211026.1-0~buster+20220102 armhf [installed]
u-boot-tools/oldstable,now 2019.01+dfsg-7 armhf [installed]

And I executed the script again:

 /opt/u-boot/bb-u-boot-am335x-evm/install.sh
dd if=/opt/u-boot/bb-u-boot-am335x-evm/MLO of=/dev/mmcblk0 count=2 seek=1 bs=128k
0+1 records in
0+1 records out
92336 bytes (92 kB, 90 KiB) copied, 0.0156188 s, 5.9 MB/s
dd if=/opt/u-boot/bb-u-boot-am335x-evm/u-boot.img of=/dev/mmcblk0 count=4 seek=1 bs=384k
1+1 records in
1+1 records out
471808 bytes (472 kB, 461 KiB) copied, 0.0368867 s, 12.8 MB/s
dd if=/opt/u-boot/bb-u-boot-am335x-evm/MLO of=/dev/mmcblk1 count=2 seek=1 bs=128k
0+1 records in
0+1 records out
92336 bytes (92 kB, 90 KiB) copied, 0.0157575 s, 5.9 MB/s
dd if=/opt/u-boot/bb-u-boot-am335x-evm/u-boot.img of=/dev/mmcblk1 count=4 seek=1 bs=384k
1+1 records in
1+1 records out
471808 bytes (472 kB, 461 KiB) copied, 0.024268 s, 19.4 MB/s

And:

apt install xserver-xorg-video-fbdev x11-xserver-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
x11-xserver-utils is already the newest version (7.7+8).
xserver-xorg-video-fbdev is already the newest version (1:0.5.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

My xorg.conf file which worked using kernel …-r71 (with the mouse issue):

Section "Monitor"
        Identifier      "Builtin Default Monitor"
EndSection
Section "Device"
        #Identifier      "Builtin Default fbdev Device 0"
        #Driver          "fbdev"
        Identifier      "Configured Video Device"
        #Driver         "omap"
        Driver          "modesetting"
        #Option         "fb" "/dev/fb0"
EndSection
Section "Screen"
        Identifier      "Builtin Default fbdev Screen 0"
        Device          "Builtin Default fbdev Device 0"
        Monitor         "Builtin Default Monitor"
        DefaultDepth 16 # Required for HDMI
EndSection
Section "ServerLayout"
        Identifier      "Builtin Default Layout"
        Screen          "Builtin Default fbdev Screen 0"
EndSection

which I now moved out of the way and replaced with your suggested version.

Then, I rebooted.

The output of beagle-version.
updatedVersion.txt (3,4 Ko)

And no screen:

# startx


X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.19.0-18-armmp-lpae armv7l Debian
Current Operating System: Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l
Kernel command line: console=ttyS0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet
Build Date: 18 December 2021  09:05:36AM
xorg-server 2:1.20.4-1+deb10u4 (https://www.debian.org/support)
Current version of pixman: 0.36.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Feb 11 19:30:03 2022
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

Comparing U-boot:

Before:

bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2015.10-00001-g143c9ee]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]

After:

bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot SPL 2019.04-g923f8b8 (Jan 02 2022 - 19:05:15 +0000)
]:[location: dd MBR]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-g923f8b8]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot SPL 2019.04-g923f8b8 (Jan 02 2022 - 19:05:15 +0000)]:[loca
tion: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-g923f8b8]:[location: dd MBR]

The SD-Card is used to store data, it does not hold an OS or boot partition.

Sorry I missed this detail too…

4.19.94-ti-r42

That was pre kernel specific overlays…

install the latest v4.19.x-ti with:

sudo apt update
sudo apt install bbb.io-kernel-4.19-ti-am335x

This will pull in 4.19.94-ti-r71 and keep it up to date…

Regards,

Which is the version where moving the mouse made the system crash.
However, this does seem to do a bit more than /opt/scripts/tools/update_kernel.sh.

As I am doing this remotely I can’t quite move the mouse - but somebody can move it next monday.

The Xserver does start with that version (as before), I hope that the other packages help fixing the mouse crash.

The the modesettting driver has a long history of hard locking the am335x when used… The system would hardlock, nothing would work… Serial, etc ends up just dead…

Regards,

Ok, thanks. We’ll see. Those original settings were achieved after a long search for fixing flicker, and screen compatibility.

Eventually having an acceptable solution with:

MODE=540p70
cvt 960 540 70
xrandr --delmode HDMI-1 ${MODE} >&/dev/null
xrandr --newmode ${MODE} 48.50  960 1000 1096 1232  540 543 548 565 -hsync +vsync
xrandr --addmode HDMI-1 ${MODE}
xrandr --output HDMI-1 --mode ${MODE}

So, I just replaced that with:

fbset -fb /dev/fb0 -g 960 540 950 540 16

I do not have eyes remotely either, so I’ll find out about that later.

By default we set:

xset -dpms
xset s off
xsetroot -cursor_name left_ptr

Regards,

Following your support we have HDMI ouitput on 4.19.94-ti-r71 and no crash with mouse.

I haven’t been able to change the resolution, I’ll open another thread for that.

I sadly have to confirm that it is still the case that modesetting hangs the device.

On the other hand, it seems that the fbdev driver is making doing anything graphical very slow, as someone reported here for a BBBAI , and I’m experiencing it on a beaglebone enhanced as well.

Hi @rionda AM335x and AM57xx have vastly different 2D display engines…

on the AM335x use ‘fbdev’…

Regards,

@RobertCNelson I tried modesetting just to see if it was any faster than fbdev: on my BB Enhanced, anything graphical is painfully slow (e.g., browsing, launching a terminal window, clicking on a menu). I’m using the March shapshot image, with the 5.17 kernel.

That’s expected, the 2D display on the AM335x is a glorified DMA buffer…

Regards,

Oh interesting, and a bit disappointing, I had slightly higher expectations :confused: