No LCD with Ubuntu

I have tried both bone-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img.xz and bone-ubuntu-14.04.2-console-armhf-2015-07-08-2gb.img.xz images on a beaglebone black with a 4D 4.3" LCD cape, and can’t get a display.

I know that the cape works because if I boot Angstrom I get a desktop. In this case xrandr reports the output as LVDS-0, which seems to be right.

Whatever I do on Ubuntu xrandr reports the output as HDMI-0, even when explicitly disabled. The video is coming out on the HDMI port.

During boot I see:

Starting kernel …

[ 0.000961] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 0.001021] This ensures that you still see kernel messages. Please
[ 0.001073] update your kernel commandline.
[ 3.702911] slave hdmi: could not get i2c
[ 3.999605] omap_voltage_late_init: Voltage driver support not added
[ 4.588016] bone_capemgr bone_capemgr: slot #0: No cape found
[ 4.648011] bone_capemgr bone_capemgr: slot #1: No cape found
[ 4.708074] bone_capemgr bone_capemgr: slot #2: No cape found
[ 5.748375] bone_capemgr bone_capemgr: loader: failed to load slot-3 BB-BONE-LCD4-01:00A1 (prio 0)

  • Starting Mount filesystems on boot[ OK ]

And I have edited uEnv.txt to what I think it should be.

root@arm:~# cat /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.1.1-ti-r2
#dtb=

##BeagleBone Black dtb’s for v4.1.x (BeagleBone White just works…)

##HDMI/eMMC disabled:
dtb=am335x-boneblack-overlay.dtb

##cape-universal
dtb=am335x-boneblack-universal.dtb

##wl1835
dtb=am335x-boneblack-wl1835mod.dtb

##replicape
dtb=am335x-boneblack-replicape.dtb

cmdline=coherent_pool=1M quiet video=HDMI-0:d video=LVDS-1:640x480@60

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M quiet video=HDMI-A-1:1024x768@60e

##Example v3.8.x
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Example v4.1.x
#cape_disable=bone_capemgr.disable_partno=
#cape_enable=bone_capemgr.enable_partno=

##enable BBB: eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Is it possible to get the LCD working on the current Ubuntu?

I have tried both bone-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img.xz and bone-ubuntu-14.04.2-console-armhf-2015-07-08-2gb.img.xz images on a beaglebone black with a 4D 4.3" LCD cape, and can’t get a display.

I know that the cape works because if I boot Angstrom I get a desktop. In this case xrandr reports the output as LVDS-0, which seems to be right.

Whatever I do on Ubuntu xrandr reports the output as HDMI-0, even when explicitly disabled. The video is coming out on the HDMI port.

During boot I see:

Starting kernel …

[ 0.000961] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 0.001021] This ensures that you still see kernel messages. Please
[ 0.001073] update your kernel commandline.
[ 3.702911] slave hdmi: could not get i2c
[ 3.999605] omap_voltage_late_init: Voltage driver support not added
[ 4.588016] bone_capemgr bone_capemgr: slot #0: No cape found
[ 4.648011] bone_capemgr bone_capemgr: slot #1: No cape found
[ 4.708074] bone_capemgr bone_capemgr: slot #2: No cape found
[ 5.748375] bone_capemgr bone_capemgr: loader: failed to load slot-3 BB-BONE-LCD4-01:00A1 (prio 0)

  • Starting Mount filesystems on boot[ OK ]

And I have edited uEnv.txt to what I think it should be.

root@arm:~# cat /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.1.1-ti-r2
#dtb=

##BeagleBone Black dtb’s for v4.1.x (BeagleBone White just works…)

##HDMI/eMMC disabled:
dtb=am335x-boneblack-overlay.dtb

##cape-universal
dtb=am335x-boneblack-universal.dtb

##wl1835
dtb=am335x-boneblack-wl1835mod.dtb

##replicape
dtb=am335x-boneblack-replicape.dtb

By doing this you are forcing the replicape, uncomment only one… ‘am335x-bone black cover lay.dtb’

I have tried both bone-ubuntu-14.04.2-console-armhf-2015-06-11-2gb.img.xz and bone-ubuntu-14.04.2-console-armhf-2015-07-08-2gb.img.xz images on a beaglebone black with a 4D 4.3" LCD cape, and can’t get a display.

I know that the cape works because if I boot Angstrom I get a desktop. In this case xrandr reports the output as LVDS-0, which seems to be right.

Whatever I do on Ubuntu xrandr reports the output as HDMI-0, even when explicitly disabled. The video is coming out on the HDMI port.

During boot I see:

Starting kernel …

[ 0.000961] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 0.001021] This ensures that you still see kernel messages. Please
[ 0.001073] update your kernel commandline.
[ 3.702911] slave hdmi: could not get i2c
[ 3.999605] omap_voltage_late_init: Voltage driver support not added
[ 4.588016] bone_capemgr bone_capemgr: slot #0: No cape found
[ 4.648011] bone_capemgr bone_capemgr: slot #1: No cape found
[ 4.708074] bone_capemgr bone_capemgr: slot #2: No cape found
[ 5.748375] bone_capemgr bone_capemgr: loader: failed to load slot-3 BB-BONE-LCD4-01:00A1 (prio 0)

  • Starting Mount filesystems on boot[ OK ]

And I have edited uEnv.txt to what I think it should be.

root@arm:~# cat /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.1.1-ti-r2
#dtb=

##BeagleBone Black dtb’s for v4.1.x (BeagleBone White just works…)

##HDMI/eMMC disabled:
dtb=am335x-boneblack-overlay.dtb

##cape-universal
dtb=am335x-boneblack-universal.dtb

##wl1835
dtb=am335x-boneblack-wl1835mod.dtb

##replicape
dtb=am335x-boneblack-replicape.dtb

By doing this you are forcing the replicape, uncomment only one… ‘am335x-bone black cover lay.dtb’

Evil auto correct. ‘Overlay’…

cmdline=coherent_pool=1M quiet video=HDMI-0:d video=LVDS-1:640x480@60

No need for these video parameters…

Thanks for the reply. When I tried it I got this:

Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
(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.
root@arm:~#

This seems to be because the device is not being recognised, therefore there is no /dev/fb0. Is there a way of forcing the LVDS driver to start up?

From /var/log/Xorg.0.log:

[ 107.263] Module class: X.Org Video Driver
[ 107.263] ABI class: X.Org Video Driver, version 15.0
[ 107.263] (II) UnloadModule: “modesetting”
[ 107.263] (II) Unloading modesetting
[ 107.264] (II) Failed to load module “modesetting” (already loaded, 0)
[ 107.264] (II) LoadModule: “fbdev”
[ 107.265] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 107.266] (II) Module fbdev: vendor=“X.Org Foundation”
[ 107.266] compiled for 1.15.0, module version = 0.4.4
[ 107.266] Module class: X.Org Video Driver
[ 107.266] ABI class: X.Org Video Driver, version 15.0
[ 107.266] (II) UnloadModule: “fbdev”
[ 107.266] (II) Unloading fbdev
[ 107.266] (II) Failed to load module “fbdev” (already loaded, 0)
[ 107.266] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 107.267] (II) FBDEV: driver for framebuffer: fbdev
[ 107.267] (–) using VT number 7

[ 107.268] (WW) Falling back to old probe method for modesetting
[ 107.268] (EE) open /dev/dri/card0: No such file or directory
[ 107.269] (EE) open /dev/dri/card0: No such file or directory
[ 107.269] (WW) Falling back to old probe method for fbdev
[ 107.269] (II) Loading sub module “fbdevhw”
[ 107.269] (II) LoadModule: “fbdevhw”
[ 107.271] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 107.274] (II) Module fbdevhw: vendor=“X.Org Foundation”
[ 107.274] compiled for 1.15.1, module version = 0.0.2
[ 107.274] ABI class: X.Org Video Driver, version 15.0
[ 107.274] (EE) open /dev/fb0: No such file or directory
[ 107.275] (EE) No devices detected.
[ 107.276] (EE)

Thanks in anticipation.

It helps to setup your xorg.conf...

https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-HDMI

Regards,

I’ve done that now, and the server is finding it:

[ 1376.280] (==) Log file: “/var/log/Xorg.0.log”, Time: Thu Jul 9 02:59:14 2015
[ 1376.284] (==) Using config file: “/etc/X11/xorg.conf”
[ 1376.285] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
[ 1376.292] (==) ServerLayout “Builtin Default Layout”
[ 1376.292] () |–>Screen “Builtin Default fbdev Screen 0” (0)
[ 1376.292] (
) | |–>Monitor “Builtin Default Monitor”
[ 1376.295] (**) | |–>Device “Builtin Default fbdev Device 0”
[ 1376.296] (==) Automatically adding devices
[ 1376.296] (==) Automatically enabling devices
[ 1376.296] (==) Automatically adding GPU devices

But it’s still sticking on /dev/fb0

[ 1376.446] (WW) xf86OpenConsole: setpgid failed: Operation not permitted
[ 1376.446] (WW) xf86OpenConsole: setsid failed: Operation not permitted
[ 1376.447] (WW) Falling back to old probe method for fbdev
[ 1376.447] (II) Loading sub module “fbdevhw”
[ 1376.448] (II) LoadModule: “fbdevhw”
[ 1376.451] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 1376.451] (II) Module fbdevhw: vendor=“X.Org Foundation”
[ 1376.452] compiled for 1.15.1, module version = 0.0.2
[ 1376.452] ABI class: X.Org Video Driver, version 15.0
[ 1376.452] (EE) open /dev/fb0: No such file or directory
[ 1376.453] (WW) Falling back to old probe method for modesetting
[ 1376.453] (EE) open /dev/dri/card0: No such file or directory
[ 1376.453] (EE) No devices detected.
[ 1376.455] (EE)
Fatal server error:
[ 1376.458] (EE) no screens found(EE)
[ 1376.463] (EE)

sudo apt-get update
sudo apt-get install read-edid xserver-xorg-video-fbdev
xserver-xorg-video-modesetting x11-xserver-utils

?

Otherwise, not sure what else you tweaked as those are the standard
settings we use for the default images..

Regards,

All of those were already installed.

I have installed X without the desktop, just “apt-get install xinit x11-xserver-utils emacs” and changed nothing else.

Can you tell me at what point the kernel decides to have a /dev/fb0? It seems to me that if I could find that I’d be half way.

Thanks.

All of those were already installed.

I have installed X without the desktop, just "apt-get install xinit
x11-xserver-utils emacs" and changed nothing else.

Oh, missed that... I usually just install lightdm which takes care of
that.. Haven't done it manually thru xinit in a long time...

Can you tell me at what point the kernel decides to have a /dev/fb0? It
seems to me that if I could find that I'd be half way.

Regards,

After a bit more experimentation I’ve reduced it down to this:

If the line dtb=am335x-boneblack-overlay.dtb is present in uEnv.txt there is a /dev/fb0, which outputs to the HDMI port. If this line is commented out there is no /dev/fb0 and the server crashes.

This /dev/fb0 does not out output to the LVDS connection, nor does the backlight turn on.

I’m seeing the same sort of thing on Debian, but Angstrom works perfectly.

Thanks.

Overnight I discovered that the v3.8.13 kernel which is common to the Farnell version, Angstrom and the bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb versions drives the hardware correctly. For the moment I’m happy to run with an old version of the kernel, so that closes this issue.

Thanks for your help.