[ltp] X200 brightness keys behavior weirdness - down is up, up is down (sometimes)

John Li linux-thinkpad@linux-thinkpad.org
Mon, 27 Oct 2008 22:29:30 -0400


The brightness keys on my X200 are kind of wonky. This is what
happens:

1. While in the middle of the brightness range, do Fn+End to lower it
   a notch. Brightness lowers correctly.
2. Now do Fn+Home to raise it a notch. This will actually *lower* it
   again.
3. Doing further Fn+Home's will correctly raise it.

The general pattern of behavior seems to be: if the action (raise or
lower) is the same action as the last one done, it works. If the
action is the opposite as the last one done, it does the opposite
(i.e., it will do the same action as the last one).

Using xev, I see that the events sent by Fn+Home and Fn+End are
correct (the keycodes are consistent). /proc/acpi/event also has
consistent output.


System Info:

Lenovo Thinkpad X200
Debian Testing
Kernel: Debian testing's linux-image-2.6.26-1-amd64

$ cat /proc/acpi/info
version:                 20080321

$ cat /proc/acpi/ibm/driver
driver:                         ThinkPad ACPI Extras
version:                        0.20

$ cat /proc/acpi/ibm/hotkey
status:                         enabled
mask:                           0x038c7fff
commands:                       enable, disable, reset, <mask>

$ sudo /etc/init.d/acpi stop; sudo cat /proc/acpi/event
video LCD0 00000087 00000000 <-- Fn+End
video LCD0 00000086 00000000 <-- Fn+Home


from dmesg:
[    6.917123] thinkpad_acpi: ThinkPad ACPI Extras v0.20
[    6.917123] thinkpad_acpi: http://ibm-acpi.sf.net/
[    6.917123] thinkpad_acpi: ThinkPad BIOS 6DET30WW (1.07 ), EC 7XHT21WW-1.03
[    6.917123] thinkpad_acpi: Lenovo ThinkPad X200, model 7454CTO
[    6.917221] thinkpad_acpi: radio switch found; radios are enabled
[    6.917378] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[    6.917449] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
[    6.925124] Registered led device: tpacpi::thinklight
[    6.925124] Registered led device: tpacpi::power
... more led devices snipped ...
[    6.925124] Registered led device: tpacpi::standby
[    6.925138] thinkpad_acpi: Lenovo BIOS switched to ACPI backlight control mode
[    6.925138] thinkpad_acpi: standard ACPI backlight interface available, not loading native one...

Probably unrelated, but I also see this in dmesg when I resume after
hibernating:
...
[ 2646.277103] Switched to high resolution mode on CPU 1
--> [ 2647.084977] thinkpad_acpi: unhandled HKEY event 0x6030 <--
[ 2647.606569] ACPI: EC: non-query interrupt received, switching to interrupt mode
[ 2647.708216] ACPI: PCI Interrupt 0000:00:02.0[A] -> GSI 16 (level, low) -> IRQ 16
...



I don't use tpb or xbacklight or anything else - Fn+Home and Fn+End
just work. Based on the dmesg output above, I assume they're handled
by the standard ACPI backlight interface, and not thinkpad_acpi.
Should I be emailing the kernel ACPI people, then? Is there any other
info that would be useful?



Thanks a lot,
jli