FS#19062 - Resuming from suspend breaks function key on Asus laptop

Attached to Project: Arch Linux
Opened by Jonah Bernhard (noahsark1126) - Monday, 12 April 2010, 16:14 GMT
Last edited by Ionut Biru (wonder) - Monday, 10 May 2010, 21:13 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

My Asus K40IN laptop has several keys that work in combination with the function key. For example Fn+F5 lowers brightness, Fn+F6 increases brightness, Fn+F12 increases volume, etc. These buttons all worked flawlessly up to kernel 2.6.31. After upgrade to 2.6.32, the buttons work before the system is suspended, but do not after resume. Restarting restores functionality.

Before suspend, when I press one of the buttons I see messages similar to the following in the output of acpi_listen:

hotkey ATKD 0000001c 00000002
hotkey ATKD 0000002b 00000003

After suspend & resume, acpi_listen shows nothing. In addition, after suspend & resume, when I press a button I see messages similar to the following in dmesg:

Jan 17 10:45:53 firefly kernel: atkbd.c: Unknown key released (translated set 2, code 0xe1 on isa0060/serio0).
Jan 17 10:45:53 firefly kernel: atkbd.c: Use 'setkeycodes e061 <keycode>' to make it known.

Running the suggested command (setkeycodes e061 <keycode>) does not solve the problem, though it does suppress messages like this in dmesg, for that particular key only.

Also note that after suspend & resume, pressing any of these buttons causes the system to register infinite presses of the "d" key. Pressing the actual d key stops this. Further, it seems that some of the buttons are controlled directly through the BIOS, not through the OS. This is evident because they work before the OS has even loaded, and do not produce any keycodes. Others do work through the OS (for example the volume buttons). Regardless of which type they are, they stop working after suspend & resume.


Additional info:
* package version(s)
kernel26 >= 2.6.32


Steps to reproduce:
Start system, test buttons.
Suspend & resume.
Buttons no longer work.
This task depends upon

Closed by  Ionut Biru (wonder)
Monday, 10 May 2010, 21:13 GMT
Reason for closing:  Fixed
Additional comments about closing:  2.6.33.3 kernel
Comment by z (zoke) - Tuesday, 13 April 2010, 01:19 GMT
I am experiencing the same bug on my Lenovo G550 laptop.
Comment by Dries De Smet (Busata) - Thursday, 15 April 2010, 21:47 GMT
I have the same issue on asus k50IN,
suspend, resume, bye bye hotkeys, hello to it outputting HHHHHH's :)
Comment by Jonah Bernhard (noahsark1126) - Thursday, 15 April 2010, 21:50 GMT
So, I have my keyboard layout set to dvorak, which means my D key is the actual H key. So it appears to be that actual key is causing a problem. I don't know if that helps.
Comment by Jonah Bernhard (noahsark1126) - Friday, 30 April 2010, 16:05 GMT
This bug appears to be fixed in the latest kernel upgrade (2.6.33.3).
Comment by Bartek (bfo) - Saturday, 01 May 2010, 17:39 GMT
I confirm, 2.6.33.3 solves the problem.

Loading...