2

I'm trying to completely powerdown the backlight of an LCD panel which is built into a device I'm using. Although the screen blanks, you can still see a glow from the backlight in a darkened room.

I think that (as root) I should be able to do this as follows:

setterm -powersave powerdown > /dev/tty1

which should force the DPMS state once the screen is blanked. However, although man setterm suggests that -powersave is a valid option, whichever of the suggested arguments I supply (on, off, powerdown, etc.), I receive an error:

setterm: cannot (un)set powersave mode: Invalid argument

I have tried this in two other Ubuntu installations with similar results.

Can anyone suggest:

  1. Why this command doesn't seem to work anywhere?
  2. Whether there is a better way to control backlight power?

Additional Info:

  • The device is an O2 Joggler, based on an OpenPeak OpenFrame 7 and is running a slightly modified Ubuntu 12.04.02 server image distributed by the community for this device. It's an i386 architecture (Intel Atom processor)
  • X (which I understand can interefere with setterm operation) is not installed anywhere I've tried this. This also means the xset command won't operate
  • A driver is provided which offers control over the display via sysfs, including a psuedo-file which purports to switch off the backlight, but it still glows dimly
  • The other two installs I tried (12.04 and 10.04) were different devices: a VMWare VM and a physical Dell server respectively

4 Answers4

4

I spent 5 hours for it trying setterm, fbset and other...

This powers monitor down on my board:

echo 1 > /sys/devices/pci0000\:00/0000\:00\:01.0/graphics/fb0/blank

Also try search LVDS backlight descriptor in /sys/

eri
  • 389
2

Actually I had the same problem and I managed to solve it.

With a little help from strace I found that setterm -powersave powerdown sends a ioctl() to the fd 0 (stdin).

So I tried with:

root@zanac:~# setterm -powersave powerdown < /dev/tty1

and that worked (the command returns 0). I cannot verify ATM if the command actually does what it's supposed to because I'm doing this via SSH. Besides it seems you have a peculiar configuration so YMMV.

0

The datasheet of the Sharp LQ070Y3LG4A used in the Joggler shows that the LED backlight is connected directly (Note 1 on page 11) to pins 24-30. So even if you blank the display with DPMS (using whatever method), the backlight stays on.

So the question is if there is any other piece of hardware on the mainboard that allows to cut the power supply to the LED backlight, and if yes, how to control it. I couldn't find anything about this on the Joggler Wiki, typical candidates are chips controlled by the I2C/SMBUS. But maybe there's just no way to turn it off the backlight by software (unless you add some hardware of your own).

dirkt
  • 17,461
0

I have discovered why setterm is giving an error... well up to a point. It seems that the method of controlling a physical console screen via SSH (i.e. redirecting the output of setterm to /dev/tty1 doesn't work in this case.

I was being thrown by the fact that the following variation does work exactly as expected (it clears the console's physical screen from an SSH session):

root@joggler:/home/bob# setterm -clear all > /dev/tty1

As to why some setterm commands work and others not, I don't have an answer for that.

For anyone finding this question in relation to a Joggler problem, I should clarify that it appears not to be possible to do what I want (completely disable the backlight) using setterm -powersave powerdown: the screen remains very dimly lit as before.