wahcha
May 25, 2023, 11:05pm
10
So, I tried on Qubes 4.2 and actually got rog-control-center to launch and control the keyboard backlight but not the fans. Most of the solutions I’ve found rely on the asus_nb_wmi and/or asus-wmi kernel module(s) which have apparently been deliberately omitted for security reasons.
See marmarek’s comment here about PCI hotplug and DMA attacks:
opened 09:39AM - 08 Nov 19 UTC
T: bug
C: other
P: default
hardware support
**Qubes OS version**
R4.0 (4.0.2-rc2)
**Affected component(s) or functionali… ty**
Laptop keyboard
**Brief summary**
Some Fn+X keyboard buttons are not working
**To Reproduce**
1. Use an Asus Zenbook UX410UA (probably affects other Zenbooks too)
2. Perform default Qubes installation on it (UEFI, need to disable secure boot)
3. Boot the system (optional: update dom0, reboot)
4. Press the Fn+X buttons (X = F3, F4, F9, maybe some others)
5. Nothing happens
**Expected behavior**
All Fn+X keys should work.
**Actual behavior**
Some Fn+X keys like keyboard backlight brightness (Fn+F3, Fn+F4) and touchpad toggle (Fn+F9) are not working. Others like Fn+F5/F6/F7 (display brightness) and Fn+F10/F11/F12 (sound volume) work fine. Arch linux wiki has a page for Zenbook UX31A that has a list of function keys that are similar to UX410UA (see links below).
**Screenshots**
https://www.asus.com/Laptops/ASUS-ZenBook-UX410UA/
**Additional context**
The relevant WMI kernel modules for asus zenbook laptops appear to be missing in dom0 (they are present in Fedora 30 AppVM though).
_In dom0: (kernel 5.3.7.1)_
```
[user@dom0 ~]$ find /lib/modules -name *asus*
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/input/tablet/pegasus_notetaker.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/hwmon/asus_atk0110.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/hid/hid-asus.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/net/usb/pegasus.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/platform/x86/asus-laptop.ko
/lib/modules/5.3.7-1.pvops.qubes.x86_64/kernel/drivers/platform/x86/asus-wireless.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/input/tablet/pegasus_notetaker.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/hwmon/asus_atk0110.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/hid/hid-asus.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/net/usb/pegasus.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/platform/x86/asus-laptop.ko
/lib/modules/4.19.80-1.pvops.qubes.x86_64/kernel/drivers/platform/x86/asus-wireless.ko
[user@dom0 ~]$ lsmod | grep asus
asus_wireless 20480 0
```
_In Ubuntu Mate 19.10 Live: (kernel 5.3.0-18)_
```
ubuntu-mate@ubuntu-mate:~$ find /lib/modules/ -name *asus*
/lib/modules/5.3.0-18-generic/kernel/drivers/hid/hid-asus.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/hwmon/asus_atk0110.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/input/tablet/pegasus_notetaker.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/net/usb/pegasus.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/platform/x86/asus-laptop.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/platform/x86/asus-nb-wmi.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/platform/x86/asus-wireless.ko
/lib/modules/5.3.0-18-generic/kernel/drivers/platform/x86/asus-wmi.ko
ubuntu-mate@ubuntu-mate:~$ lsmod | grep asus
asus_nb_wmi 28672 0
asus_wmi 32768 1 asus_nb_wmi
sparse_keymap 16384 1 asus_wmi
asus_wireless 20480 0
wmi 32768 2 asus_wmi,wmi_bmof
video 49152 2 asus_wmi,i915
```
Full list of running kernel modules for Ubuntu Mate 19.10 on UX410UA:
https://pastebin.com/9i9JpPrA
I've done some tests using ubuntu live 19.10 and the Fn+X keys appear to be working just fine. Removing the "asus-nb-wmi" kernel module by using the rmmod command caused the mentioned Fn+X (X = F3, F4, F9) keys to stop working while the others (X = F5, F6, F7, F10, F11, F12) worked fine. When adding the module back using modprobe, the keys started working again.
The Qubes dom0 kernel should include the missing WMI kernel modules for asus laptops.
Looks like the missing modules are: **asus-wmi**, **asus-nb-wmi**
**Solutions you've tried**
Upgraded kernel from LTS (4.19.80-1) to latest (5.3.7.1) - not working
**Relevant [documentation](https://www.qubes-os.org/doc/) you've consulted**
https://www.qubes-os.org/doc/reporting-bugs/
https://www.qubes-os.org/doc/software-update-dom0/
https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A#Function_keys
https://www.qubes-os.org/hcl/#asus_zenbook-ux31a_i7-3517u_ivy-bridge_hd4000 (similar device)
**Related, [non-duplicate](https://www.qubes-os.org/doc/reporting-bugs/#new-issues-should-not-be-duplicates-of-existing-issues) issues**
none
Is there any practical way to add the asus_nb_wmi driver to dom0?