Bug ID | 1093389 |
---|---|
Summary | Bug in Lenovo wireless keyboards detection (HID) based on Primax Electronics |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 42.3 |
Hardware | Other |
OS | OES - Linux |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Kernel |
Assignee | kernel-maintainers@forge.provo.novell.com |
Reporter | 4sg@gmx.de |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Created attachment 770312 [details] Patch that fixes the problem on kernel-4.4.126_48_default (openSUSE 42.3) OS/kernel is unable to operate Lenovo wireless keyboards based on Primax Electronics chips. The reason is likely that HID information communicated by the chip is misinterpreted by the kernel (hid-core module). The issue is extensively discussed at: https://forums.lenovo.com/t5/Linux-Discussion/Professional-Wireless-Keyboard-not-working-on-Linux/td-p/3726486 https://askubuntu.com/questions/897729/lenovo-professional-wireless-keyboard-and-mouse-combo-not-working-in-ubuntu and diagnosed/patched at: https://unix.stackexchange.com/a/377873/239474 Reproducible: Always Steps to Reproduce: 1. Install openSUSE 42.3 2. Plug in Lenovo Wireless Professional keyboard (e.g. https://lnv.gy/2ImwNuh , with optional Mouse) Actual Results: Typing does not have any effect except for Win and volume control buttons. Optional mouse works, that is, the USB dongle/receiver work, however the regular keys are not processed by the system/kernel. A VM running, e.g., Windows on the same machine works with this keyboard as expected. Expected Results: User was told what this hardware works with any AT-compatible PC with USB. In linux, the hardware does not function properly. Solutions found: There is a patch available at https://unix.stackexchange.com/a/377873/239474 which fixes the issue on openSUSE 42.3 (tested on kernels 4.4.126-48-default and 4.4.120-45-default, openSUSE 42.3). Patching every kernel update works, but as such is a great nuisance. Applying this patch upstream would be nice.