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 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:
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
Steps to Reproduce:
1.Run XDM (gnome/kde)
2.Press a volume up/down once
volume goes all the way up or down - keyboard unresponsive.
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:
... 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.
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 :(
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.
(Above patch was updated at the request of an owner of an R4000)
Information for such is available here:
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.
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.
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 :*( )
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)
(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.
Let us know when this gets submitted upstream
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! :)
Resolution: LATER ? Whoops... need to clean up here.