Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 273477 - (HAS_PATCH) Compaq/HP Presario R4000-Series volume keys stick - kernel quirk
Summary: (HAS_PATCH) Compaq/HP Presario R4000-Series volume keys stick - kernel quirk
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: https://bugs.launchpad.net/gentoo/+so...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-10 07:49 UTC by JetDog
Modified: 2009-09-14 20:02 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for Kernel Input Driver Quirk R4100 Presario (r4100.patch,1.15 KB, text/plain)
2009-06-10 07:55 UTC, JetDog
Details
R4000 and R4100 keyboard quirk patch for linux-2.6.29 (r4000.patch,1.38 KB, patch)
2009-06-11 13:44 UTC, JetDog
Details | Diff
Update for upcoming 2.6.31 (hp_r4000_r4100_r4200_2.6.31.patch,1.45 KB, text/plain)
2009-07-15 23:12 UTC, JetDog
Details

Note You need to log in before you can comment on or make changes to this bug.
Description JetDog 2009-06-10 07:49:46 UTC
Kernel Input Driver doesn't release volume up/down in main linux kernel, as well as ubuntu's kernel (stable or testing) - I have also reported it there.

Pressing a volume up causes volume to go all the way up. Pressing a volume down causes volume to go all the way down. (all within xdm) Keyboard is then unresponsive. (The usual!)

This issue also exists in ubuntu's kernel, and also likely fedora.

The following is the showkey log from outside of xdm:

keycode 114 press (Volume Down Press and Release)
keycode 115 press (Volume Up Press and Release)

Here is the same thing with showkey -s - this time with some pressing and releasing.
0xe0 0x2e
0xe0 0x2e
0xe0 0x2e
0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e 0xe0 0x2e
0xe0 0x2e 0xe0 0x2e 0xe0 0x2e
0xe0 0x30
0xe0 0x30
0xe0 0x30
0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30 0xe0 0x30
0xe0 0x30 0xe0 0x30 0xe0 0x30

Basically a release is never generated for the volume keys. Fortunately, half a fix was already generated, so, I copied some of it:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/291878

The zv6100 has 99% the same internals as the r4100 series - and I have serviced both series as evidence of this.

Also, the scancodes that get stuck are the same:
0xae , 0xb0

So, I wrote a kernel quirk to fix this for the kernel keyboard driver. Patch attached.

This patch is for gentoo's 2.6.29-gentoo-r5 kernel - but I have tested this with ubuntu's livecd, and have confirmed that this issue is present Ubuntu's tree as well - and probably all distributions. I have no idea who to contact from here - should I call Linus to get him to add this? xD

Reproducible: Always

Steps to Reproduce:
1.Run XDM (gnome/kde)
2.Press a volume up/down once
3.

Actual Results:  
volume goes all the way up or down - keyboard unresponsive.

Expected Results:  
Proper volume key release.

Issue is present in evdev and with kbd driver.  Outside of XDM, key release code is never generated, as per showkey log (up)

I have also submitted this bug to ubuntu's team:
https://bugs.launchpad.net/gentoo/+source/linux/+bug/385477

... I have no idea if I should submit this to mainline, (or risk getting eaten alive xD).  Perhaps we could get someone else who owns a R4100 to confirm this fix, and then mainline might appreciate it more.
Comment 1 JetDog 2009-06-10 07:55:55 UTC
Created attachment 194087 [details]
Patch for Kernel Input Driver Quirk R4100 Presario

Applies to drivers/input/keyboard/atkbd.c
(This is a patch -- i keep getting:
"undef error - Undefined subroutine Fh::slice at data/template/template/en/custom/global/hidden-fields.html.tmpl line 58 " when i try identifying it as that :(
Comment 2 JetDog 2009-06-11 13:44:17 UTC
Created attachment 194248 [details, diff]
R4000 and R4100 keyboard quirk patch for linux-2.6.29

R4000 suffers from the same quirk.  Quirk now includes R4000 Bios information too.
Comment 3 JetDog 2009-06-11 13:48:24 UTC
(Above patch was updated at the request of an owner of an R4000)

Information for such is available here:
https://bugs.launchpad.net/gentoo/+source/linux/+bug/385477
Comment 4 JetDog 2009-06-11 13:53:05 UTC
Can we have someone test the above patch, who owns an HP/Compaq R4000, on their kernel 2.6.29?  (It should work on stable 2.6.29-gentoo-r5)

We need to know that it works before suggesting it for mainline.
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2009-06-21 15:42:14 UTC
I don't think you'll find any extra testers here, instead just send on the patch upstream for any laptops that you have tested or received success reports for. You'll also need to update it based on code layout changes since you wrote your patch.

Please send it upstream (or ask for help doing so) then we'll wait for its acceptance.
Comment 6 JetDog 2009-07-15 23:12:09 UTC
Created attachment 198111 [details]
Update for upcoming 2.6.31

For 2.6.31 compatibility.

addresses changes in ps2 quirk definition standards

THIS IS A PATCH.  (gentoo bugzilla error doesn't let me indicate patch :*( )
Comment 7 Mike Pagano gentoo-dev 2009-07-15 23:56:40 UTC
What is the source of this patch?

(And, btw, there is a Type = patch ability in our Bugzilla. Notice the type of the r4000.patch attachment)

Comment 8 JetDog 2009-08-22 02:31:46 UTC
(In reply to comment #7)
> What is the source of this patch?
> 
> (And, btw, there is a Type = patch ability in our Bugzilla. Notice the type of
> the r4000.patch attachment)
> 

Yes, for some reason I keep getting random glitched out whenever trying to submit as a patch here...
"undef error - Undefined subroutine Fh::slice at
data/template/template/en/custom/global/hidden-fields.html.tmpl line 58 ".

Lovely stuff :(

But yeah, I wrote the patch.  We have confirmed success for various units in the R4000-series... including R4200, myself R4100, and another random on ubuntu testing with the R4000  - all of these confirmed for 2.6.31.

I do another pull, then I'll try to get this to mainline tonight.  It's stable with the Laptop DMI manufacturer/model detection; no reason it shouldn't go.
Comment 9 Mike Pagano gentoo-dev 2009-08-23 15:46:20 UTC
Great, thanks!
Comment 10 Mike Pagano gentoo-dev 2009-09-12 15:13:15 UTC
Let us know when this gets submitted upstream
Comment 11 JetDog 2009-09-14 19:53:59 UTC
Marking Bug as closed.

gentoo-sources-2.6.31 includes this fix.  I have submitted it upstream, and Linus included it in the 2.6.31-rc9 kernel release.

Should start appearing in distribution-specific stable trees within the next few months.

Thanks for your help everybody! :)
Comment 12 JetDog 2009-09-14 20:01:44 UTC
 Resolution:   	LATER  ?  Whoops... need to clean up here.