You are not logged in.

#1 2020-08-05 19:50:30

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

[WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Hi fellow archers! big_smile

So, I have some issues with the latest kernel available on [testing].
When booting, I can type my BIOS password with my built-in laptop keyboard. However, after that, sddm shows up but I can't login or even switch tty. Also, my mouse works but only if I plug it in after boot (perhaps my keyboard would work if I could do the same? Sadly, I don't have a USB keyboard to test hmm).
One thing I can do in that state is use the sysrq key to talk directly to the kernel and restart the system (https://en.wikipedia.org/wiki/Magic_SysRq_key#Uses)

If I downgrade the kernel to the previous version from recovery mode (the keyboard works there), everything comes back to normal.
Also, when updating the initcpios, i get a WARNING: Possibly missing firmware for module: xhci_pci that wasn't there with the previous kernel version; could that be it?

Relevant information from lsmod:

Module                  Size  Used by
xhci_pci               20480  0
xhci_hcd              286720  1 xhci_pci

Relevant information from lspci -k:

00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
        Subsystem: ASUSTeK Computer Inc. Device 201f
        Kernel driver in use: xhci_hcd

Any thoughts? Let me know if you need more information!

Last edited by IslandC0der (2020-08-26 21:37:37)

Offline

#2 2020-08-05 20:40:26

loqs
Member
Registered: 2014-03-06
Posts: 11,696

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Please post the kernel messages from a 5.8.Y boot and a 5.7.Y boot for comparison.
If SDDM uses X also  an Xorg.log from both under both kernels.

Offline

#3 2020-08-05 22:35:36

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

loqs wrote:

Please post the kernel messages from a 5.8.Y boot and a 5.7.Y boot for comparison.
If SDDM uses X also  an Xorg.log from both under both kernels.

Regarding the kernel messages, which should I post: journalctl or dmesg?

Last edited by IslandC0der (2020-08-05 22:36:37)

Offline

#4 2020-08-05 22:48:58

loqs
Member
Registered: 2014-03-06
Posts: 11,696

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

The full journal for the boot is probably better as it will contain more,  so `journalctl -b #` where # is the boot index.

Last edited by loqs (2020-08-05 22:49:19)

Offline

#5 2020-08-05 23:38:01

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

loqs wrote:

The full journal for the boot is probably better as it will contain more,  so `journalctl -b #` where # is the boot index.


Alright, here you go (I've removed everything after sddm starts):


5.7: https://gist.github.com/IslandC0der/31b … 6cae8431a6

5.8: https://gist.github.com/IslandC0der/19a … 6e6536844b

Offline

#6 2020-08-06 00:02:24

loqs
Member
Registered: 2014-03-06
Posts: 11,696

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Aug 05 18:36:26 Atoll kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
....
Aug 05 18:36:27 Atoll kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set
Aug 05 18:36:27 Atoll kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt

Looks to be the keyboard.
Edit:
Can you ssh into the system?
There was only one change to that module in 5.8 https://git.kernel.org/pub/scm/linux/ke … 9d255c681f

Last edited by loqs (2020-08-06 00:34:20)

Offline

#7 2020-08-06 20:44:19

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

loqs wrote:
Aug 05 18:36:26 Atoll kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
....
Aug 05 18:36:27 Atoll kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set
Aug 05 18:36:27 Atoll kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt

Looks to be the keyboard.
Edit:
Can you ssh into the system?
There was only one change to that module in 5.8 https://git.kernel.org/pub/scm/linux/ke … 9d255c681f

So it's not related to xhci_pci then?
Yup, I can indeed ssh.

Offline

#8 2020-08-06 22:07:18

loqs
Member
Registered: 2014-03-06
Posts: 11,696

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

I do not have a quick solution unfortunately.  You could try reverting 01590f361e94a01e9b9868fa81d4079d255c681f or bisecting between 5.7 and 5.8 to try and find the cause.

Offline

#9 2020-08-07 23:00:57

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

loqs wrote:

I do not have a quick solution unfortunately.  You could try reverting 01590f361e94a01e9b9868fa81d4079d255c681f or bisecting between 5.7 and 5.8 to try and find the cause.

Alright, I'll see what I can do.
Thanks a lot for your help! smile

Offline

#10 2020-08-11 00:17:01

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Okay, so I've tried reverting the commit, and I've also tried compiling the kernel with ABS using the arch 5.7.12 config file, just in case it was some configuration change downstream... But alas, nothing works sad
Compiling takes way too long, so I'm not that keen on bisecting it (is there a way for it to not compile from scratch every time, perhaps? Then it might be feasible). Also, I tried compiling the kernel when the repo was at that commit, but it failed (am I missing something?).

Any ideas?

Offline

#11 2020-08-13 17:59:36

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Alright, here's an update:
I disabled sddm.service, and the system boots and I can log in just fine from the tty. So I thought maybe it was actually an sddm issue, so I installed xorg-xinit so I could start plasma manually (startx plasmashell). However, still didn't work, which made me think it was an Xorg problem.

After that, I installed Wayland, but the problem persisted. At that point, I thought it was a plasma problem, so I installed i3. Still no luck. I even tried just running xterm and xclock with startx, but nothing works. The moment a display server is started (Wayland or X), the keyboard and touchpad freeze, and also my usb mouse if it was already plugged in (if it wasn't, I can then plug it in and it works).

There is, however, a caveat: some key combinations work. I already talked about the sysrq key, but also fn+f1 (suspend), fn+f2 (airplane mode), fn+f7 (lock screen), fn+f9 (toggle touchpad) and the brightness control keys (fn+f5/f6). The sound control keys (fn+f10/f11/f12) do not work.
My guess is that these are low-level controls so they somehow bypass the problem.

This was clearly caused by a change in the kernel (yes, I've also tried 5.8.1, same thing), but it only manifests itself when a display server is running.

I'm completely puzzled by this, and I have no idea what to do next hmm

Last edited by IslandC0der (2020-08-26 21:49:36)

Offline

#12 2020-08-14 15:57:41

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Okay, so I've just figured out what's causing the problem! big_smile
After diffing the Xorg logs from both boots, something immediately stands out:

 diff -u 5.8.1 5.7.12

@@ -416,14 +416,16 @@
 (**) Asus WMI hotkeys: always reports core events
 (**) Option "Device" "/dev/input/event9"
 (**) Option "_source" "server/udev"
-(II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard
+(II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard Switch
 (II) event9  - Asus WMI hotkeys: device is a keyboard
+(II) event9  - Asus WMI hotkeys: device is a switch device
 (II) event9  - Asus WMI hotkeys: device removed
 (**) Option "config_info" "udev:/sys/devices/platform/asus-nb-wmi/input/input9/event9"
 (II) XINPUT: Adding extended input device "Asus WMI hotkeys" (type: KEYBOARD, id 14)
 (**) Option "xkb_layout" "pt"
-(II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard
+(II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard Switch
 (II) event9  - Asus WMI hotkeys: device is a keyboard
+(II) event9  - Asus WMI hotkeys: device is a switch device
 (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event6)
 (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
 (**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard"

So, for some reason, X thinks the Asus hotkeys (i.e. the fn keys) are the keyboard itself, instead of a keyboard switch. This explains everything.
Now the question is: is it a kernel bug, or was it caused by an intended change in the kernel, and now Xorg needs to catch up with it? So who do I report this to?

Also, any ideas for temporary fixes/workarounds? I really don't know much about how the X server works hmm

Last edited by IslandC0der (2020-08-14 15:58:59)

Offline

#13 2020-08-17 19:11:13

chaitan94
Member
Registered: 2020-08-17
Posts: 2

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

I'm facing the same exact issue. Both touchpad and keyboard stopped working, however external USB mouse and keyboards work.
If it helps, I am using an Asus laptop too, and I can confirm that function key shortcuts work for me too.

For now, I've rolled back to 5.7.12 and everything's working perfectly.

I haven't had any issues from updates for a few years now, until today. Would be great if I am able to maintain my bleeding-edge somehow. smile

Offline

#14 2020-08-24 15:29:37

dantistnfs
Member
Registered: 2020-08-24
Posts: 2

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

So I faced the same issue, and found workaround for now.
Before updating kernel:
Edit file /etc/X11/xorg.conf.d/00-keyboard.conf
Add next lines:

Section "InputClass"
        Identifier "Asus WMI hotkeys"
        MatchProduct "Asus WMI hotkeys"
        Option "Ignore" "on"
EndSection

If you use nvidia-xrun, don't forget to add same lines to /etc/X11/nvidia-xorg.conf.d/00-keyboard.conf

Offline

#15 2020-08-25 21:45:28

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

dantistnfs wrote:

So I faced the same issue, and found workaround for now.
Before updating kernel:
Edit file /etc/X11/xorg.conf.d/00-keyboard.conf
Add next lines:

Section "InputClass"
        Identifier "Asus WMI hotkeys"
        MatchProduct "Asus WMI hotkeys"
        Option "Ignore" "on"
EndSection

If you use nvidia-xrun, don't forget to add same lines to /etc/X11/nvidia-xorg.conf.d/00-keyboard.conf

Thanks for your contribution! Is there a way to use your method (with xorg config files) to tell the the server that the Asus hotkeys are a "keyboard switch" instead of a keyboard?
Because according to #12, that was the previous (functional) behavior. Or maybe make it so that they're loaded after the keyboard, so that it doesn't override it?

Here I'm assuming that ignoring them means that they wouldn't work, right?

Offline

#16 2020-08-26 13:57:34

dantistnfs
Member
Registered: 2020-08-24
Posts: 2

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

IslandC0der wrote:

Here I'm assuming that ignoring them means that they wouldn't work, right?

I don't know how or why, but they still work.

Offline

#17 2020-08-26 21:32:19

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Okay so I've just tested it, and indeed everything works like a charm, even the touchpad and usb mouse, which I think is pretty remarkable. Once again, thank you so much!

By looking at the logs, I thought the hotkeys were being incorrectly identified as a keyboard, which was why the keyboard itself wasn't working (or maybe the other way around: the keyboard wasn't being recognized in the first place, which caused the system to fall back to the hotkeys as a keyboard), and that there was a common root cause that created this hotkeys conflict with the keyboard AND also made it so any device plugged in at boot wouldn't work (i.e. touchpad and usb mouse).

But no, apparently the hotkeys themselves are the ones wreaking all of this havoc?? How does that work? lol

Last edited by IslandC0der (2020-08-26 21:32:54)

Offline

#18 2020-08-26 21:54:05

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

Update: hmm, apparently fn+f7 (lock screen) and fn+f9 (toggle touchpad) don't work, but all of the other ones do. This isn't really a big deal to me, but it is nonetheless quite weird. Can anyone else confirm this oddity?

Offline

#19 2020-08-28 17:03:06

daxcpp
Member
Registered: 2019-09-11
Posts: 1

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

IslandC0der wrote:

Update: hmm, apparently fn+f7 (lock screen) and fn+f9 (toggle touchpad) don't work, but all of the other ones do. This isn't really a big deal to me, but it is nonetheless quite weird. Can anyone else confirm this oddity?

The same for me sad I don't know how to fix this problem

Offline

#20 2020-08-28 18:00:29

chaitan94
Member
Registered: 2020-08-17
Posts: 2

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

dantistnfs wrote:

So I faced the same issue, and found workaround for now.
Before updating kernel:
Edit file /etc/X11/xorg.conf.d/00-keyboard.conf
Add next lines:

Section "InputClass"
        Identifier "Asus WMI hotkeys"
        MatchProduct "Asus WMI hotkeys"
        Option "Ignore" "on"
EndSection

If you use nvidia-xrun, don't forget to add same lines to /etc/X11/nvidia-xorg.conf.d/00-keyboard.conf

Thanks, this worked! However, in my case I had to do one additional fix to make GDM run using Xorg instead of Wayland which seems to be the default. Because otherwise, it would not honor this change in xorg conf and my keyboard doesn't work as long as I'm on login screen.

Additionally, it seems fn+f7/f9 doesn't work for me either. But then again I never really use them.

Offline

#21 2020-09-06 21:10:44

lightdot
Member
Registered: 2014-04-22
Posts: 22

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

I'm pondering if this is a kernel, a Xorg or a systemd (udev) bug..!

Has a bug been filed anywhere?

The Xorg logs lead me to believe that udev is causing this since it is tagging the "Asus WMI hotkeys" as both "Keyboard" and "Switch" instead of just "Keyboard". Consequently, Xorg is misconfigured.

Am I thinking correctly? And if I am, where does udev get this additional "Switch" tag from? Does this brings us back to the kernel..?

Would a custom udev rule that removes the "Switch" tag work as a hotfix?


I'll post the relevant Xorg logs from my ASUS ZenBook UX310UAK below.

Basically, this is ok:

Asus WMI hotkeys: is tagged by udev as: Keyboard

and this isn't:

Asus WMI hotkeys: is tagged by udev as: Keyboard Switch


Logs:

1) xorg-server-1.20.9, linux-lts-5.4.62, no workarounds needed, keyboard and touchpad work

[  9847.139] (II) config/udev: Adding input device Asus WMI hotkeys (/dev/input/event5)
[  9847.139] (**) Asus WMI hotkeys: Applying InputClass "libinput keyboard catchall"
[  9847.139] (II) Using input driver 'libinput' for 'Asus WMI hotkeys'
[  9847.140] (II) systemd-logind: got fd for /dev/input/event5 13:69 fd 27 paused 0
[  9847.140] (**) Asus WMI hotkeys: always reports core events
[  9847.140] (**) Option "Device" "/dev/input/event5"
[  9847.140] (**) Option "_source" "server/udev"
[  9847.140] (II) event5  - Asus WMI hotkeys: is tagged by udev as: Keyboard
[  9847.140] (II) event5  - Asus WMI hotkeys: device is a keyboard
[  9847.140] (II) event5  - Asus WMI hotkeys: device removed
[  9847.140] (**) Option "config_info" "udev:/sys/devices/platform/asus-nb-wmi/input/input20/event5"
[  9847.140] (II) XINPUT: Adding extended input device "Asus WMI hotkeys" (type: KEYBOARD, id 15)
[  9847.141] (II) event5  - Asus WMI hotkeys: is tagged by udev as: Keyboard
[  9847.141] (II) event5  - Asus WMI hotkeys: device is a keyboard
[  9847.141] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
[  9847.141] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[  9847.141] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[  9847.142] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 28 paused 0
[  9847.142] (**) AT Translated Set 2 keyboard: always reports core events
[  9847.142] (**) Option "Device" "/dev/input/event4"
[  9847.142] (**) Option "_source" "server/udev"
[  9847.143] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[  9847.143] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[  9847.143] (II) event4  - AT Translated Set 2 keyboard: device removed
[  9847.143] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
[  9847.143] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 16)
[  9847.144] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[  9847.144] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard

2) xorg-server-1.20.9, linux-5.8.6, keyboard and touchpad not working

[ 13532.172] (II) config/udev: Adding input device Asus WMI hotkeys (/dev/input/event9)
[ 13532.172] (**) Asus WMI hotkeys: Applying InputClass "libinput keyboard catchall"
[ 13532.172] (II) Using input driver 'libinput' for 'Asus WMI hotkeys'
[ 13532.173] (II) systemd-logind: got fd for /dev/input/event9 13:73 fd 27 paused 0
[ 13532.173] (**) Asus WMI hotkeys: always reports core events
[ 13532.173] (**) Option "Device" "/dev/input/event9"
[ 13532.173] (**) Option "_source" "server/udev"
[ 13532.173] (II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard Switch
[ 13532.174] (II) event9  - Asus WMI hotkeys: device is a keyboard
[ 13532.174] (II) event9  - Asus WMI hotkeys: device is a switch device
[ 13532.174] (II) event9  - Asus WMI hotkeys: device removed
[ 13532.174] (**) Option "config_info" "udev:/sys/devices/platform/asus-nb-wmi/input/input8/event9"
[ 13532.174] (II) XINPUT: Adding extended input device "Asus WMI hotkeys" (type: KEYBOARD, id 15)
[ 13532.175] (II) event9  - Asus WMI hotkeys: is tagged by udev as: Keyboard Switch
[ 13532.175] (II) event9  - Asus WMI hotkeys: device is a keyboard
[ 13532.175] (II) event9  - Asus WMI hotkeys: device is a switch device
[ 13532.175] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
[ 13532.175] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[ 13532.175] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[ 13532.176] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 28 paused 0
[ 13532.176] (**) AT Translated Set 2 keyboard: always reports core events
[ 13532.176] (**) Option "Device" "/dev/input/event4"
[ 13532.176] (**) Option "_source" "server/udev"
[ 13532.176] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 13532.176] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[ 13532.177] (II) event4  - AT Translated Set 2 keyboard: device removed
[ 13532.177] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
[ 13532.177] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 16)
[ 13532.178] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 13532.178] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard

3) xorg-server-1.20.9, linux-5.8.6, Xorg workaround ignoring the "Asus WMI hotkeys", keyboard and touchpad work

[    36.661] (II) config/udev: Adding input device Asus WMI hotkeys (/dev/input/event9)
[    36.661] (**) Asus WMI hotkeys: Ignoring device from InputClass "Asus WMI hotkeys"
[    36.661] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
[    36.661] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[    36.661] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    36.662] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 27 paused 0
[    36.662] (**) AT Translated Set 2 keyboard: always reports core events
[    36.662] (**) Option "Device" "/dev/input/event4"
[    36.662] (**) Option "_source" "server/udev"
[    36.662] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[    36.663] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard
[    36.663] (II) event4  - AT Translated Set 2 keyboard: device removed
[    36.663] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
[    36.663] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 15)
[    36.664] (II) event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[    36.664] (II) event4  - AT Translated Set 2 keyboard: device is a keyboard

Offline

#22 2020-09-07 20:53:25

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

lightdot wrote:

Basically, this is ok:

Asus WMI hotkeys: is tagged by udev as: Keyboard

and this isn't:

Asus WMI hotkeys: is tagged by udev as: Keyboard Switch

Yeah, you're right; apparently I got my diff messed up. I thought the "switch tag" behavior was the normal one.

So actually it should be easier to create a full workaround: by using a udev rule that simply disables that tag, like you said.
It's still gonna be just a temporary hack, but at least that way we should get all the fn keys to work.

Appreciate your contribution! smile

Offline

#23 2020-09-09 21:17:26

stecky_ms
Member
Registered: 2020-05-15
Posts: 3

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

I experience the same issue on a Acer Aspire E5-511, internal keyboard and touch pad is working on console, but as soon as you start any graphical system (using libinput) neither of the two input devices are working. The problem is present on the 5.8.7 and the 5.7.12 kernel. In my case the problematic input device seems to be the "Intel Virtual Button driver" (at least on the 5.8.7 kernel), which is marked both as a keyboard and a switch:

# libinput list-devices
...
Device:           Intel Virtual Button driver
...
Capabilities:     keyboard switch
...

After creating a udev rule which adds a libinput device configuration to ignore this device both the keyboard and the touch pad are working perfectly fine in GDM, Gnome (Wayland based session) and also in a bare Xorg server. The FN hotkeys are working too. Here is the udev rule I use as a reference, maybe it can be adapted to other machines as well:

/etc/udev/rules.d/99-acer-libinput.rules

ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="Intel Virtual Button driver", ENV{LIBINPUT_IGNORE_DEVICE}="1"

Still a work around though, not addressing the underlying problem, but it does the trick for me...

Last edited by stecky_ms (2020-09-09 21:18:55)

Offline

#24 2020-09-11 13:00:55

IslandC0der
Member
From: Portugal
Registered: 2020-06-28
Posts: 28

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

stecky_ms wrote:
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="Intel Virtual Button driver", ENV{LIBINPUT_IGNORE_DEVICE}="1"

I've just tried that by replacing "Intel Virtual Button driver" with "Asus WMI hotkeys". It does work, though I still have the same problem as described in #18.
But thank you anyways, I think we're on the right track to pinpoint this issue. smile

Last edited by IslandC0der (2020-09-11 13:01:24)

Offline

#25 2020-09-13 23:58:06

lightdot
Member
Registered: 2014-04-22
Posts: 22

Re: [WORKED AROUND] Keyboard doesn't work in linux 5.8 due to Asus hotkeys

The above udev rule causes the device to be ignored by libinput, which basically accomplishes the same as the Xorg configuration workaround. The added benefit is that this should work under both Xorg and Wayland. BTW, it works for me.

In the mean time, I have unsuccessfully tried using:

ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="Asus WMI hotkeys", TAG-="Switch"

and also

ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="Asus WMI hotkeys", TAG-="Keyboard Switch"
ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="Asus WMI hotkeys", TAG+="Keyboard"

(in /etc/udev/rules.d/99-asus_wmi_hotkeys.rules)

But no luck, Xorg log still reports "Asus WMI hotkeys: is tagged by udev as: Keyboard Switch" as if these custom udev rule(s) had no effect. And the keyboard remains dead...

Perhaps the udev rule order trumps these? Or I made some rule error somewhere?

ATM I don't have time to hack into this more... mad

Offline

Board footer

Powered by FluxBB