ThinkPad's keyboard backlight control

How to turn on keyboard backlight programmatically?
Echoing 0 to /dev/led/thinklight turns it off, as well as sysctl dev.acpi_ibm.0.thinklight=0, but I couldn't find a way to turn it on.
Thanks for ideas!
 
The sysctl(8) is more of a indicator to query, is it on or off? I actually expected this to be read-only from the man page's description.

Code:
     dev.acpi_ibm.0.thinklight
             Indicates, whether the ThinkLight keyboard light is activated or
             not.
acpi_ibm(4)

The led(4) device however:
Code:
     State can be set directly, and since the change happens immediately, it
     is possible to flash the annunciator with very short periods and
     synchronize it with program events.  It should be noted that there is a
     non-trivial overhead, so this may not be usable for benchmarking or
     measuring short intervals.

           0       Turn the annunciator off immediately.
           1       Turn the annunciator on immediately.
So echo 1 > /dev/led/thinklight?
 
So echo 1 > /dev/led/thinklight?
Has no effect.
Interesting observation: echoing any number which starts with 1 is silently accepted with no effect. Any other number causes "Invalid argument" error.

Can you try sysctl dev.acpi_ibm.0.thinklight=255? More information at this link.
"Invalid argument"

The Thinklight was an actual LED at the top of the display on older Thinkpads.
That's indeed confusing. I have had such ThinkPads with an LED. In those laptops I was able to control various LEDs, like Ethernet's, power etc.
Now if I can turn the backlight off by echoing 0, there must be a way to turn it on!
 
/usr/bin/backlight works for me. You can say 'backlight incr 5' to raise the level 5%, or 'backlight decr 5' to lower the level 5%.

You have to 'kldload acpi_ibm' first (add 'acpi_ibm_load="YES"' to /boot/loader.conf).
 
Back
Top