Bug 95221 - Audio keys captured twice on HP Compaq 6735s (laptop)
Summary: Audio keys captured twice on HP Compaq 6735s (laptop)
Status: ASSIGNED
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-22 15:53 UTC by Juraj Fiala
Modified: 2021-07-15 16:03 UTC (History)
9 users (show)

See Also:
Kernel Version: 3.19.2-1
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Uploaded output of `sudo acpidump` (418.75 KB, text/plain)
2015-04-21 15:10 UTC, Juraj Fiala
Details
Output of evtest (8.14 KB, application/octet-stream)
2015-04-23 15:03 UTC, Juraj Fiala
Details

Description Juraj Fiala 2015-03-22 15:53:36 UTC
This issue is specific to the HP Compaq 6735s, and maybe similar models.

Side note:
I really have no idea under what I should classify this bug - it may be a BIOS issue (I wouldn't be surprised, this machine has one of the worst BIOSes I have ever seen), may be an ACPI issue (but I didn't find a category there for audio keys) but it's also hardware specific. So please forgive me if it's in the wrong place. It's my first bug report btw.

Description:
The kernel seems to capture the audio lower and raise (XF86AudioLowerVolume & XF86AudioRaiseVolume) keys twice on the HP Compaq 6735s. This means that when changing volume results in the volume changing twice - up or down.

If the sound change event also produces a sound (as in GNOME or Unity), the sound is played twice.

I made two tests, one with `show_key --keycodes` and one with `acpi_listen`. Same procedure in both tests - type command, press enter and press Fn + F11 and Fn + F12 (volume down, volume down):

Test with showkey (from a TTY):
-------------------------------
# showkey --keycodes > /tmp/volume-keys-test
kb mode was UNICODE
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode  28 release
keycode 114 press
keycode 114 release
keycode 114 press
keycode 114 release
keycode 115 press
keycode 115 release
keycode 115 press
keycode 115 release


Test with acpi_listen:
----------------------
# acpi_listen > /tmp/volume-keys-test-2
button/volumedown VOLDN 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/volumeup VOLUP 00000080 00000000 K
button/volumeup VOLUP 00000080 00000000 K

If you need more info, just ask.

Before the report I made a thread on the Arch Linux Forums: <https://bbs.archlinux.org/viewtopic.php?id=193881>. This basically consists of what I found out there. I included the link in case it interests anyone.

Thanks.
Comment 1 Juraj Fiala 2015-04-20 16:29:00 UTC
Moved to ACPI/Power-Video. I looked at similar bugs and they were filed under this category, so I'll give it a go.
Comment 2 Juraj Fiala 2015-04-20 16:33:22 UTC
Ah, sorry for another email. I mistook audio for brightness. I'll leave it in ACPI/Other and see what happens.
Comment 3 Aaron Lu 2015-04-21 02:06:41 UTC
acpidump please:
# acpidump > acpidump.txt

And we also need to decide which kernel module is responsible for delivering this hotkey event, I doubt it is some HP platform driver, e.g. hp-wmi. You can unload this module and see how things change.
Comment 4 Juraj Fiala 2015-04-21 15:10:24 UTC
Created attachment 174681 [details]
Uploaded output of `sudo acpidump`
Comment 5 Juraj Fiala 2015-04-21 15:12:26 UTC
Tried unloading hp-wmi but it didn't help.
Comment 6 Aaron Lu 2015-04-22 03:02:12 UTC
Sounds like an input related problem, move there.
Comment 7 Dmitry Torokhov 2015-04-22 20:01:43 UTC
What event device(s) is generating the volume up/down events? Please use evtest utility to find them (there might be just one, or several).
Comment 8 Juraj Fiala 2015-04-23 15:03:10 UTC
Created attachment 174911 [details]
Output of evtest

It looks like the device is `/dev/input/event0:	AT Translated Set 2 keyboard`

This is the output of evtest where I select 0, and press volume down and up.
Comment 9 Juraj Fiala 2015-05-30 11:52:26 UTC
Is there anything else I can do to help?
Comment 10 Jan-Michael Brummer 2015-08-02 20:11:13 UTC
Although showkeys and acpi_listen only shows one keypress at a time on my tablet, AT Translated Set 2 keyboard reports the key twice. Therefore i'm also effected by this issue:

Event: time 1438546061.771962, type 4 (EV_MSC), code 4 (MSC_SCAN), value ae
Event: time 1438546061.771962, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1438546061.771962, -------------- SYN_REPORT ------------
Event: time 1438546062.275838, type 4 (EV_MSC), code 4 (MSC_SCAN), value ae
Event: time 1438546062.275838, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1438546062.275838, -------------- SYN_REPORT ------------
Event: time 1438546070.171954, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0
Event: time 1438546070.171954, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1438546070.171954, -------------- SYN_REPORT ------------
Event: time 1438546070.675928, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0
Event: time 1438546070.675928, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1438546070.675928, -------------- SYN_REPORT ------------
Comment 11 Jan-Michael Brummer 2016-12-10 13:24:16 UTC
Please ignore my above comment, as it clearly states press/release events just once. As Juraj i'm also affected by sending the information twice using atkbd and acpi resulting in key captured twice.
Comment 12 aniruddha 2016-12-18 14:05:20 UTC
I am facing a similar issue.
Instead of volume keys however, I see double key presses registered for brightness control.
This issue doesn't seem restricted to HP laptops, as I'm using a Dell.
Comment 13 RussianNeuroMancer 2018-04-24 14:58:33 UTC
Same issue on Dell 7140 and 7285.
Comment 14 Vitaly Bakulev 2020-01-21 14:51:12 UTC
Hello.

I have encountered a similar bug on Mouse MB1485UD11A-191 convertible laptop using only dedicated side volume buttons, Fn+F7/F8 worked fine.
Could not find this bug at first, so came with it to an OpenSUSE Bugzilla:
https://bugzilla.opensuse.org/show_bug.cgi?id=1161298

We were able to trace it back to the intel_hid driver, synopsis below.

Evtest showed volume up/down events registered by:
/dev/input/event0:	AT Translated Set 2 keyboard
/dev/input/event7:	Intel HID 5 button array
So it means that they both handle all of Volume Up/Down events, thus producing double input that is registered by showkey and everything else.
Takashi Iwai from OpenSUSE suggested to blacklist intel_hid driver by adding a file /etc/modprobe.d/50-intel-hid.conf containing the line
  blacklist intel-hid
You most likely need to rebuild initrd after this and then reboot.

After this my volume control works as expected and I didn't find anything else affected by loss of this driver.

Would ask OP and everybody affected to test this if still possible and see if we are actually having the same issue and if I need to create a separate bug report.
Comment 15 Jim 2021-07-15 16:03:29 UTC
Same issue on HP 550.

Note You need to log in before you can comment on or make changes to this bug.