All of lore.kernel.org
 help / color / mirror / Atom feed
* platform/x86: asus-wmi: SW_TABLET_MODE is always 1 on some devices
@ 2020-09-01 21:55 Samuel Čavoj
  2020-09-02 11:52 ` Hans de Goede
  0 siblings, 1 reply; 6+ messages in thread
From: Samuel Čavoj @ 2020-09-01 21:55 UTC (permalink / raw)
  To: Hans de Goede, Andy Shevchenko, Corentin Chary
  Cc: acpi4asus-user, platform-driver-x86, linux-kernel

Hello!

A bug was introduced with the following commit[1]:

    b0dbd97de: platform/x86: asus-wmi: Add support for SW_TABLET_MODE

The SW_TABLET_MODE switch seems to be always 1 on some devices,
including my UX360CA and a UX390UAK[2].

This can be seen in the output of evtest:

    # evtest /dev/input/by-path/platform-asus-nb-wmi-event
    Input driver version is 1.0.1
    Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
    Input device name: "Asus WMI hotkeys"
    Supported events:
      (...)
      Event type 5 (EV_SW)
        Event code 1 (SW_TABLET_MODE) state 1

And directly results in libinput disabling the trackpad and keyboard via
its tablet-mode mechanism, rendering X.org and Wayland unusable (not even
switching to VT works without sysrq+r):

    # libinput debug-events
    (...)
    -event8   DEVICE_ADDED     Asus WMI hotkeys     seat0 default group10 cap:kS
     event8   SWITCH_TOGGLE    +0.000s	switch tablet-mode state 1
    (...)

I have been using the following workaround to get my input working
again:

    # cat /usr/share/libinput/50-system-asus.quirks
    (...)
    [Asus WMI hotkeys]
    MatchName=*Asus WMI hotkeys*
    ModelTabletModeSwitchUnreliable=1

Another option would be to rmmod asus_nb_wmi and blacklist it for now.

I am not sure what the solution would be as I am not acquainted with the
WMI module. However, I can provide some information about my hardware:

The UX360CA fully disables the keyboard in hardware(firmware?) when the
lid is flipped beyond 180 degrees (tablet mode). The trackpad is not
disabled. A KEY_PROG2 event is generated by the same "Asus WMI hotkeys"
input device at this moment, it however does not carry the actual state
-- a 1 is sent and a 0 follows immediately[3]. The same KEY_PROG2
sequence is generated when the lid is returned back to laptop position.
The SW_TABLET_MODE switch does not change state at all during this.
Thank you.

Have a nice day,
Samuel

[1]: https://patchwork.kernel.org/patch/11539215/
[2]: https://bugzilla.kernel.org/show_bug.cgi?id=209011
[3]: https://lore.kernel.org/patchwork/patch/973647/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-11 15:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-01 21:55 platform/x86: asus-wmi: SW_TABLET_MODE is always 1 on some devices Samuel Čavoj
2020-09-02 11:52 ` Hans de Goede
     [not found]   ` <20200902125220.25x52dl2vupejg5f@fastboi.localdomain>
     [not found]     ` <20200904094546.jes44d2kn5mtn2zu@fastboi.localdomain>
     [not found]       ` <320c0b71-af94-c673-21c8-c32a0fdb4d4e@redhat.com>
2020-09-04 17:17         ` Samuel Čavoj
2020-09-10 17:44           ` Hans de Goede
2020-09-10 22:31             ` Samuel Čavoj
2020-09-11 13:24               ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.