[Wayland-bugs] [Bug 104041] Asus Wireless Radio Control no longer works after updating to 1.9.3

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Dec 2 22:46:21 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=104041

            Bug ID: 104041
           Summary: Asus Wireless Radio Control no longer works after
                    updating to 1.9.3
           Product: Wayland
           Version: unspecified
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: libinput
          Assignee: wayland-bugs at lists.freedesktop.org
          Reporter: maxtram95 at gmail.com

Created attachment 135882
  --> https://bugs.freedesktop.org/attachment.cgi?id=135882&action=edit
evemu-record /dev/input/event3

I'm on Arch Linux and ASUS E202SA laptop. This laptop (like many ASUSes) has a
dedicated button to turn the wireless devices on and off. This button is Fn+F2,
but it's actually a separate input device provided by asus_wireless kernel
module.

This button works fine in X11 with libinput 1.9.2 although some patching of
xkeyboard-config is required: https://patchwork.freedesktop.org/patch/155965/
(I have no clue why this change is still not upstreamed, but I have patched it
locally). This xkeyboard-config patch is required for X11 to recognize
KEY_RFKILL that is sent by asus_wireless driver.

However, libinput 1.9.3 introduced a regression: this button no longer works in
X11. Faulty is the combination of libinput 1.9.3 and asus_wireless's input
device. If I either use libinput 1.9.2 or press KEY_RFKILL on the atkbd (I
remapped a key with udev to test that), it gets delivered to X11 and shows up
as XF86WLAN. But for some reason, libinput 1.9.3 ignores asus_wireless's
"keyboard".


git bisect results:

git bisect start
# bad: [05a2da818b7ff6d629b90611e8b4a0e06eb5b0ba] libinput 1.9.3
git bisect bad 05a2da818b7ff6d629b90611e8b4a0e06eb5b0ba
# good: [56bcb2999e92b0814768cdcf075dd87a5b09e446] libinput 1.9.2
git bisect good 56bcb2999e92b0814768cdcf075dd87a5b09e446
# good: [fc78e88870ef06623454c723b4a535ad39b8b544] fallback: drop unused
ratelimit struct
git bisect good fc78e88870ef06623454c723b4a535ad39b8b544
# bad: [c77b6b4c96ccaf9a1f5e490c6ed6368eab2f9236] evdev: add new debouncing
code
git bisect bad c77b6b4c96ccaf9a1f5e490c6ed6368eab2f9236
# bad: [8c55bc060df837f986f57c8c26ae2f9c58963bcc] fallback: change to handle
the state at EV_SYN time
git bisect bad 8c55bc060df837f986f57c8c26ae2f9c58963bcc
# good: [52cdbc1299b63e5f03abdc9b4357de55f3919e1a] evdev: fix axis mixup for
the wheel click angles
git bisect good 52cdbc1299b63e5f03abdc9b4357de55f3919e1a
# first bad commit: [8c55bc060df837f986f57c8c26ae2f9c58963bcc] fallback: change
to handle the state at EV_SYN time


evtest output when I press Fn+F2 once:

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Lid Switch
/dev/input/event1:      Sleep Button
/dev/input/event2:      Power Button
/dev/input/event3:      Asus Wireless Radio Control
/dev/input/event4:      PC Speaker
/dev/input/event5:      USB2.0 VGA UVC WebCam: USB2.0 V
/dev/input/event6:      Video Bus
/dev/input/event7:      Elan Touchpad
/dev/input/event8:      AT Translated Set 2 keyboard
/dev/input/event9:      Asus WMI hotkeys
/dev/input/event10:     HDA Digital PCBeep
/dev/input/event11:     HDA Intel PCH Mic
/dev/input/event12:     HDA Intel PCH Headphone
/dev/input/event13:     HDA Intel PCH HDMI/DP,pcm=3
Select the device event number [0-13]: 3
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1043 product 0x0 version 0x0
Input device name: "Asus Wireless Radio Control"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 247 (KEY_RFKILL)
Properties:
Testing ... (interrupt to exit)
Event: time 1512253623.665926, type 1 (EV_KEY), code 247 (KEY_RFKILL), value 1
Event: time 1512253623.665926, type 1 (EV_KEY), code 247 (KEY_RFKILL), value 0
Event: time 1512253623.665926, -------------- SYN_REPORT ------------
^C


xinput output:

$ xinput list-props 'AT Translated Set 2 keyboard'
Device 'AT Translated Set 2 keyboard':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (264):     1, 0
        libinput Send Events Mode Enabled (265):        0, 0
        libinput Send Events Mode Enabled Default (266):        0, 0
        Device Node (267):      "/dev/input/event8"
        Device Product ID (268):        1, 1


udevadm output:

$ udevadm info /sys/class/input/event3/
P: /devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input3/event3
N: input/event3
E: DEVNAME=/dev/input/event3
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input3/event3
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_PATH=acpi-ATK4002:00
E: ID_PATH_TAG=acpi-ATK4002_00
E: LIBINPUT_DEVICE_GROUP=19/1043/0:asus-wireless
E: MAJOR=13
E: MINOR=67
E: SUBSYSTEM=input
E: TAGS=:power-switch:
E: USEC_INITIALIZED=5723795


evemu output is attached.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20171202/862d9927/attachment.html>


More information about the wayland-bugs mailing list