[Bug 1161298] New: Hardware volume buttons give double/random input
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298 Bug ID: 1161298 Summary: Hardware volume buttons give double/random input Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: x86-64 OS: SUSE Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: real86bitals@gmail.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0 Build Identifier: I am using an OpenSUSE Tumbleweed with Gnome DE on a laptop probably no one of you know (a “JDM” Mouse convertible without proper name, partnumber BC-MB1485UD11A-191). First volume level was changing itself up and down all the time. It is not pulse flat-volumes, it’s like reacting to me pressing a volume up/down hotkey, except that I am not. Showkey showed a corresponding hotkey being pressed and lifted by itself, when I just leaved my laptop lying to see what happens. I've disabled peaq-wmi and input_polldev modules, but it changed nothing. After some updates it changed behavior, now it does not happen by itself, and I can freely use Fn+F7/F8 hotkeys to change the volume level (showkey tells that keycodes are the same). But if I use dedicated side buttons, they trigger volume change at least twice. For example, I lower volume, and after couple of seconds it lowers itself again. It definitely looks like hardware issue, but I tried to reproduce this in Windows 10, and no matter how hard/light/at weird angles I pushed side buttons, it worked without any problems. Only wmi modules I have active: [CODE] ➜ ~ lsmod | grep wmi intel_wmi_thunderbolt 20480 0 wmi_bmof 16384 0 wmi 32768 2 intel_wmi_thunderbolt,wmi_bmof [/CODE] Tried logging out, removing ~/.config/pulse and logging back in, the issue persists. Tried creating new user, the issue persists. It was present since the moment I installed OS. Reproducible: Always Steps to Reproduce: 1. Push dedicated side volume up/down button 2. Lift dedicated side volume up/down button Actual Results: 1. Volume level changes 2. Volume level changes again after couple of seconds Expected Results: Volume level changes once -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
Malcolm Lewis
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c2
--- Comment #2 from Vitaly Bakulev
Could you check with evtest on Linux console (out of X) to see whether the spurious events appear? It's for confirming whether such a bogus event really comes from the kernel input layer or not.
Interestingly, evtest shows only actual press/lift events, does not show any duplicates: Event code 184 (KEY_F14) Event code 185 (KEY_F15) Event code 217 (KEY_SEARCH) Event code 226 (KEY_MEDIA) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Event type 17 (EV_LED) Event code 0 (LED_NUML) state 0 Event code 1 (LED_CAPSL) state 0 Event code 2 (LED_SCROLLL) state 0 Key repeat handling: Repeat type 20 (EV_REP) Repeat code 0 (REP_DELAY) Value 250 Repeat code 1 (REP_PERIOD) Value 33 Properties: Testing ... (interrupt to exit) Event: time 1579535114.291769, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c Event: time 1579535114.291769, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0 Event: time 1579535114.291769, -------------- SYN_REPORT ------------ Event: time 1579535115.956250, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0 Event: time 1579535115.956250, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1 Event: time 1579535115.956250, -------------- SYN_REPORT ------------ Event: time 1579535116.060589, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0 Event: time 1579535116.060589, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0 Event: time 1579535116.060589, -------------- SYN_REPORT ------------ However, I ran showkey directly after, and it registered duplicate events: 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 115 press keycode 115 release keycode 115 press keycode 115 release Does this mean that it is not actually a kernel, and I need to inspect anything else? I have no idea at this point. Is hwinfo output still needed with everything mentioned above? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c3
--- Comment #3 from Takashi Iwai
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c4
Vitaly Bakulev
Maybe another input device gives the key event for the corresponding keys? That would explain why multiple events are seen by showkey. So, please examine all input devices.
The hwinfo is needed in anyway for identifying the systems and for more comprehensive checks.
Evtest shows volume up/down events registered by: /dev/input/event0: AT Translated Set 2 keyboard /dev/input/event7: Intel HID 5 button array Does it mean that they both handle them each time and thus produce double input? This input device claims to be able to handle them, but does not give actual output like the two above do: /dev/input/event6: Intel HID events I am attaching hwinfo to the bug. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c5
--- Comment #5 from Vitaly Bakulev
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c6
Takashi Iwai
(In reply to Takashi Iwai from comment #3)
Maybe another input device gives the key event for the corresponding keys? That would explain why multiple events are seen by showkey. So, please examine all input devices.
The hwinfo is needed in anyway for identifying the systems and for more comprehensive checks.
Evtest shows volume up/down events registered by: /dev/input/event0: AT Translated Set 2 keyboard /dev/input/event7: Intel HID 5 button array Does it mean that they both handle them each time and thus produce double input?
Right. The terminal and X take all inputs gathered, hence they appear as if triggered twice.
This input device claims to be able to handle them, but does not give actual output like the two above do: /dev/input/event6: Intel HID events
I am attaching hwinfo to the bug.
The driver provides multiple input event devices, and event7 is one of them. You may try blacklisting intel-hid driver, e.g. add a file /etc/modprobe.d/50-intel-hid.conf containing the line blacklist intel-hid This should prevent loading intel-hid driver. If it's loaded already in initrd, you'd need to rebuild initrd, too. Please let me know whether blacklisting improves. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c7
Vitaly Bakulev
You may try blacklisting intel-hid driver, e.g. add a file /etc/modprobe.d/50-intel-hid.conf containing the line blacklist intel-hid
This should prevent loading intel-hid driver. If it's loaded already in initrd, you'd need to rebuild initrd, too.
Please let me know whether blacklisting improves.
Yes, blacklisting intel-hid seems to solve it, and I do not yet see any other functionality affected by losing it (I was afraid about screen autorotation for example, but it works fine). Is there anything else I should check? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c8
--- Comment #8 from Takashi Iwai
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298#c9
Vitaly Bakulev
If all known keys work, then it's fine, just keep the blacklist in your side.
The remaining question is how to handle this further. I believe the best would be to report this to upstream, while closing this bug entry with the workaround. The upstream devs might have a better idea to check something automatically.
Okay, thank you very much for your help. I've gone to kernel bugzilla and this time was able to find a somewhat similar bug that is pretty old: https://bugzilla.kernel.org/show_bug.cgi?id=95221 Will have to wait for reply and see if it is actually the same case, if not - create a new report. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1161298
Takashi Iwai
participants (1)
-
bugzilla_noreply@novell.com