Talk:ASUS E403SA

From ArchWiki

ACPI parameters

Regarding ASUS_E403SA#ACPI, have a try with acpi_osi= (blank space after =). That seems to work on other Asus models. --Indigo (talk) 08:34, 5 July 2016 (UTC)

Setting acpi_osi= as a kernel parameter did not solve the problem, unfortunately. The touchpad works but none of the functions keys do nor does changing the backlight. I tried different variations of kernel parameters with no success, see table below for the effect of them. All function keys only seem to work when "Windows 2012" is not part of the strings. But whenever they do work, the touchpad gets disabled and doesn't even show up on xinput list. Maybe it is some sort of switch that is disabled. Pressing the touchpad toggle fn+f9 doesn't turn it on though. acpi_listen returns PNP0C14:00 000000ff 00000000 when it's pressed. --Hellux (talk) 16:06, 5 July 2016 (UTC)
Wow, great testing, too bad none works. It is a very new model. You might have to open a kernel bug for it, because kernel maintainers can't know what new quirks vendors like Asus come up with. Perhaps you can work-around meanwhile by re-mapping the touchpad-hotkey (maybe Extra_keyboard_keys helps). In case you are able to go further in troubleshooting, a simple patch like this may be all it needs; have a look at [1]. The author of that article is the maintainer of the asus-nb-wmi module, which should be the one responsible for assigning the mappings. That's all the pointers I can give you. --Indigo (talk) 18:25, 5 July 2016 (UTC)
What do you mean by re-mapping the touchpad-hotkey? With acpi_osi="!Windows 2012" the hotkey is actually recognized as XF86TouchpadToggle by Xorg but has no effect. Without kernel parameters none of the function keys (except for volume) produce any scancodes. # showkey --scancodes gives no output when pressing the fn+fX keys. evtest doesn't either for any of the input event devices. dmesg doesn't show any unknown key presses. It's like the keyboard doesn't send any value at all. I had a look at the article and managed to find two GUIDs for the WMI driver. I'll try to see if I'm able to produce any output to dmesg from key presses. It might not be a WMI driver problem though, since the same driver handles the lid switch and function keys perfectly when "Windows 2012" is removed. But then the touchpad stops working and disappears from /proc/bus/input/devices. - Thanks for the pointers, it's appreciated. --Hellux (talk) 12:55, 6 July 2016 (UTC)
I just wanted to make you aware of the tools in Extra_keyboard_keys, too bad they do not help either. Aside from kernel bug report (which you should open IMO), consider asking on the BBS for input. --Indigo (talk) 10:06, 7 July 2016 (UTC)

kernel parameter test table

Kernel parameters Touchpad Function keys Backlight
none yes volume yes
acpi_osi=!! yes volume yes
acpi_osi=Windows yes volume yes
acpi_osi=Linux yes volume yes
acpi_osi= yes none no
acpi_osi= (space) yes none no
acpi_osi=! no all no
acpi_osi=!* no all no
acpi_osi=!* acpi_osi=Linux no all yes
acpi_osi=!* acpi_osi=Linux acpi_osi=Windows" no all yes
acpi_osi="!Windows 2012" no all yes
acpi_osi=! acpi_osi=Linux no all yes
acpi_osi=! acpi_osi=Windows no all no
acpi_osi=! acpi_osi="Windows 2000" no all no
acpi_osi=! acpi_osi="Windows 2001" no all no
acpi_osi=! acpi_osi="Windows 2006" no all no
acpi_osi=! acpi_osi="Windows 2009" no all no
acpi_osi=! acpi_osi="Windows 2012" yes volume yes
acpi_osi=! acpi_osi="Windows 2013" no all yes
acpi_osi=! acpi_osi="Windows 2015" no all yes
acpi_osi="!Windows 2012" acpi_osi="Windows 2015" no all yes
acpi_osi=! acpi_osi=Linux acpi_osi="Windows 2015" no all yes
acpi_osi= acpi_osi=Linux yes none no
acpi_osi= acpi_osi=Windows yes none no
acpi_osi= acpi_osi="Windows 2012" yes none no
acpi_osi= acpi_osi="Windows 2015" yes none no