Bug 12831

Summary: Hot/Fn Keys do not work EEEPC 1000HE (eeepc_laptop)
Product: Drivers Reporter: Matthew Gyurgyik (pyther)
Component: PlatformAssignee: Zhang Rui (rui.zhang)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, patrick.bregman, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.29-rc7 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 12398, 56331    
Attachments: patch: export proc events in eeepc-laptop driver
patch vs 2.6.29-rc

Description Matthew Gyurgyik 2009-03-07 10:05:55 UTC
Latest working kernel version: 2.6.28.7
Earliest failing kernel version: 2.6.29-rc7 (may have been eailier, I haven't tested older rcs)
Distribution: Archlinux
Hardware Environment: EEEPC 1000HE

Problem Description: 

The function keys on the Asus EEEPC 1000HE do not register any keycodes / acpi code. However, Fn+F1 (Sleep) and the Power Button register keycodes and work as expected. Another note is that the Fn+F5 and Fn+F6 keys work as expected (brighten and dims the display), but do not give any acpi codes.

Here is a copy of my kernel config: http://rafb.net/p/GTQiS467.html

If you need any extra information, I'll be more than happy to provide it. I do not have a good grasp on how acpi works, so please forgive me if I used the wrong terminology.


Steps to reproduce:
1. Compile 2.6.29-rc7
2. Run acpi_listen
3. Press Fn+F2-F10 or anyother special key

Expected results output of acpi keycode. Actual results no output.
Comment 1 Patrick Bregman 2009-03-08 13:49:53 UTC
Same problem here with an Eee PC 901. Altough the Fn-X5-F8 give back some keycodes, namely:
Fn-F5: ^@      - Switch display
Fn-F6: ^@      - Taskmanager key (on Windows)
Fn-F7: ^[[25   - Volume mute
Fn-F8: ^[[26   - Volume down
But they still don't preform an ACPI functio as specified in my ACPI action scripts.

Lid switch, Fn-F1 and brightness keys work fine. Loaded modules:
Module                  Size  Used by
pciehp                 30344  0 
pci_hotplug            11612  1 pciehp
bnep                   10496  2 
rfcomm                 28376  4 
l2cap                  16828  16 bnep,rfcomm
ath9k                 213592  0 
atl1e                  27776  0 
eeepc_laptop           10084  0 
rfkill                  8336  5 ath9k,eeepc_laptop

My kernel configuration is here:
http://www.patrickbregman.eu/config-2.6.29-rc7
Comment 2 Anonymous Emailer 2009-03-09 12:52:20 UTC
Reply-To: akpm@linux-foundation.org


(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).


On Sat,  7 Mar 2009 10:05:56 -0800 (PST)
bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=12831
> 
>            Summary: Hot/Fn Keys do not work EEEPC 1000HE (eeepc_laptop)
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.29-rc7
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Other
>         AssignedTo: drivers_other@kernel-bugs.osdl.org
>         ReportedBy: pyther@pyther.net
> 
> 
> Latest working kernel version: 2.6.28.7
> Earliest failing kernel version: 2.6.29-rc7 (may have been eailier, I haven't
> tested older rcs)
> Distribution: Archlinux
> Hardware Environment: EEEPC 1000HE
> 
> Problem Description: 
> 
> The function keys on the Asus EEEPC 1000HE do not register any keycodes /
> acpi
> code. However, Fn+F1 (Sleep) and the Power Button register keycodes and work
> as
> expected. Another note is that the Fn+F5 and Fn+F6 keys work as expected
> (brighten and dims the display), but do not give any acpi codes.
> 
> Here is a copy of my kernel config: http://rafb.net/p/GTQiS467.html
> 
> If you need any extra information, I'll be more than happy to provide it. I
> do
> not have a good grasp on how acpi works, so please forgive me if I used the
> wrong terminology.
> 
> 
> Steps to reproduce:
> 1. Compile 2.6.29-rc7
> 2. Run acpi_listen
> 3. Press Fn+F2-F10 or anyother special key
> 
> Expected results output of acpi keycode. Actual results no output.
> 

Two people (Patrick and Matthew) are reporting this post-2.6.28
regression.

Could someone please recategorise the report to something more
appropriate than drivers_other?

Thanks.
Comment 3 Anonymous Emailer 2009-03-09 13:04:59 UTC
Reply-To: mjg59@srcf.ucam.org

Can you try disabling pciehp? eeepc-laptop provides the same 
functionality. If that works, I have a patch here somewhere...
Comment 4 Anonymous Emailer 2009-03-09 13:37:52 UTC
Reply-To: mjg59@srcf.ucam.org

Ok. There haven't been any changes in eeepc-laptop that I can see 
causing this, and nothing springs to mind as an obvious cause. I know 
it's a pile of work (especially on an eee), but is there any chance to 
can bisect this to a smaller range of patches?
Comment 5 Matthew Gyurgyik 2009-03-09 13:39:23 UTC
On Mon, 9 Mar 2009 12:51:42 -0700, Andrew Morton
<akpm@linux-foundation.org>
wrote:
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 
> 
> On Sat,  7 Mar 2009 10:05:56 -0800 (PST)
> bugme-daemon@bugzilla.kernel.org wrote:
> 
>> http://bugzilla.kernel.org/show_bug.cgi?id=12831
>> 
>>            Summary: Hot/Fn Keys do not work EEEPC 1000HE (eeepc_laptop)
>>            Product: Drivers
>>            Version: 2.5
>>      KernelVersion: 2.6.29-rc7
>>           Platform: All
>>         OS/Version: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: normal
>>           Priority: P1
>>          Component: Other
>>         AssignedTo: drivers_other@kernel-bugs.osdl.org
>>         ReportedBy: pyther@pyther.net
>> 
>> 
>> Latest working kernel version: 2.6.28.7
>> Earliest failing kernel version: 2.6.29-rc7 (may have been eailier, I
>> haven't
>> tested older rcs)
>> Distribution: Archlinux
>> Hardware Environment: EEEPC 1000HE
>> 
>> Problem Description: 
>> 
>> The function keys on the Asus EEEPC 1000HE do not register any keycodes
/
>> acpi
>> code. However, Fn+F1 (Sleep) and the Power Button register keycodes and
>> work as
>> expected. Another note is that the Fn+F5 and Fn+F6 keys work as expected
>> (brighten and dims the display), but do not give any acpi codes.
>> 
>> Here is a copy of my kernel config: http://rafb.net/p/GTQiS467.html
>> 
>> If you need any extra information, I'll be more than happy to provide
it.
>> I do
>> not have a good grasp on how acpi works, so please forgive me if I used
>> the
>> wrong terminology.
>> 
>> 
>> Steps to reproduce:
>> 1. Compile 2.6.29-rc7
>> 2. Run acpi_listen
>> 3. Press Fn+F2-F10 or anyother special key
>> 
>> Expected results output of acpi keycode. Actual results no output.
>> 
> 
> Two people (Patrick and Matthew) are reporting this post-2.6.28
> regression.
> 
> Could someone please recategorise the report to something more
> appropriate than drivers_other?
> 
> Thanks.

I realized you were talking to Patrick, but I just wanted to say I do not
have pciehp compiled in. Here is my 2.6.29-rc7 kernel config:
http://world.pyther.net/kernel.2.6.29-rc7_config.txt (The rafb.net/paste
one got deleted)

Cheers!
Comment 6 Matthew Gyurgyik 2009-03-09 14:13:46 UTC
I can do that, however how would I go about narrowing it down to a smaller
range of patches? Would I simply apply patches from
(http://kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Ftesting%2Fpatch-2.6.29-rc7.bz2)
to the 2.6.28 source and compile until I find the one that breaks the hot
key functionality?
Comment 7 Anonymous Emailer 2009-03-09 14:15:28 UTC
Reply-To: mjg59@srcf.ucam.org

If you have a git checkout, 
http://www.kernel.org/doc/local/git-quick.html#bisect has good 
instructions on how to do a bisection.
Comment 8 Zhang Rui 2009-03-09 17:45:21 UTC
re-assign to ACPI platform driver category
Comment 9 Matthew Gyurgyik 2009-03-09 21:10:00 UTC
Thanks for the instructions, after spending nearly 6 hours compiling
kernels I think I've narrowed it down.

R2D2:linux-git $ git bisect good
2d29c6a075787f2c1bc49b86a084d2b878f72fc4 is first bad commit

commit 2d29c6a075787f2c1bc49b86a084d2b878f72fc4
Merge: 2b25c9f 0a3db1c 9fdd54f 5ec5d38 4312495 370154b 4d93915 62663ea
Author: Len Brown <len.brown@intel.com>
Date:   Sat Feb 7 01:34:56 2009 -0500

    Merge branches 'release', 'asus', 'bugzilla-12450', 'cpuidle', 'debug',
'ec', 'misc', 'printk' and 'processor' into release

So I guess the merge of the branches broke something.
Let me know what else I can do to help!

Cheers
Comment 10 Zhang Rui 2009-03-12 20:19:51 UTC
no, I think it's this commit 2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2 that introduces the regression.

Now the eeepci-laptop driver exports the netlink events INSTEAD OF procfs events.
Comment 11 Zhang Rui 2009-03-12 20:21:24 UTC
Created attachment 20512 [details]
patch: export proc events in eeepc-laptop driver

I think I saw a patch similar somewhere before, but failed to find it out.
Anyway, please try this patch and see if the problem still exist
Comment 12 Zhang Rui 2009-03-12 20:23:16 UTC
Rafael,
I think this is a known regression of 2.6.28, isn't it?
Comment 13 Patrick Bregman 2009-03-13 05:06:55 UTC
The patch that is proposed here has fixed my problems on the Eee 901. I got my volume keys working again. Thanks!
Comment 14 Matthew Gyurgyik 2009-03-13 05:28:58 UTC
I will give the patch a try some time today and will report back. However I probably won't get a chance to try it until late tonight.

Should the patch apply to 2.6.29-rc7?

Thanks
Comment 15 Patrick Bregman 2009-03-13 06:12:40 UTC
I first updated the GIT tree, and then applied it, but I don't see why it shouldn't work on a 2.6.29-rc7 kernel.
Comment 16 Matthew Gyurgyik 2009-03-13 08:04:41 UTC
I applied the patch to 2.6.29-rc7 and it worked! Thanks, hopefully this makes it before 2.6.29 finalizes!
Comment 17 Len Brown 2009-03-15 19:21:31 UTC
Created attachment 20535 [details]
patch vs 2.6.29-rc

this is the patch supplied by the driver maintainer to fix this regression,
it is currently in the acpi-test tree.
Comment 18 Matthew Gyurgyik 2009-03-16 04:36:22 UTC
I applied this patch against clean 2.6.29-rc8 sources and it works as it's suppose to!

Thanks!
Comment 19 Len Brown 2009-03-17 10:03:48 UTC
commit 7950b71c3bd7b27b2874088a6c4efe3e13579f8b
"eeepc-laptop: restore acpi_generate_proc_event()"

shipped upstream on top of 2.6.29-rc8.git2

closed.