Bug 216118 - Laptop's built-in keyboard doesn't work on Asus Zenbook S 13 OLED 2022
Summary: Laptop's built-in keyboard doesn't work on Asus Zenbook S 13 OLED 2022
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: AMD Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-12 13:53 UTC by XiaoYan Li
Modified: 2022-10-21 14:00 UTC (History)
4 users (show)

See Also:
Kernel Version: 5.18.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
output of libinput list-devices (3.44 KB, text/plain)
2022-06-12 13:53 UTC, XiaoYan Li
Details
content of /proc/bus/input/devices (3.66 KB, text/plain)
2022-06-12 14:09 UTC, XiaoYan Li
Details
output of lsmod (6.47 KB, text/plain)
2022-06-12 14:11 UTC, XiaoYan Li
Details
OUTPUT OF : libinput list-devices (4.29 KB, text/plain)
2022-06-21 04:47 UTC, Prabhakar Kumar
Details

Description XiaoYan Li 2022-06-12 13:53:43 UTC
Created attachment 301158 [details]
output of libinput list-devices
Comment 1 XiaoYan Li 2022-06-12 14:03:17 UTC
`dmesg` with `i8042.debug`:

```
[    3.326806] i8042: PNP: PS/2 Controller [PNP0303:KBC0] at 0x60,0x64 irq 1
[    3.326808] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    3.326905] i8042: [0] 20 -> i8042 (command)
[    3.327578] i8042: [0] 65 <- i8042 (return)
[    3.327639] i8042: [0] 20 -> i8042 (command)
[    3.328012] i8042: [0] 65 <- i8042 (return)
[    3.328025] i8042: [0] 60 -> i8042 (command)
[    3.328692] i8042: [0] 74 -> i8042 (parameter)
[    3.328910] i8042: [0] 60 -> i8042 (command)
[    3.329039] i8042: [0] 65 -> i8042 (parameter)
[    3.329043] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.336512] i8042: [3] f2 -> i8042 (kbd-data)
[    3.539618] i8042: [64] ed -> i8042 (kbd-data)
[    3.746195] i8042: [126] 60 -> i8042 (command)
[    3.746506] i8042: [126] 64 -> i8042 (parameter)
[    3.746739] i8042: [126] 60 -> i8042 (command)
[    3.746860] i8042: [126] 65 -> i8042 (parameter)
[    3.746875] i8042: [126] fa <- i8042 (interrupt, 0, 0)
[    3.746889] i8042: [126] Interrupt 1, without any data
```

`dmesg` with `i8042.debug`, `i8042.nopnp` and `i8042.dumbkbd`:

```
[    3.334797] i8042: [0] 20 -> i8042 (command)
[    3.335528] i8042: [0] 65 <- i8042 (return)
[    3.335588] i8042: [0] 20 -> i8042 (command)
[    3.336310] i8042: [1] 65 <- i8042 (return)
[    3.336322] i8042: [1] 60 -> i8042 (command)
[    3.336631] i8042: [1] 74 -> i8042 (parameter)
[    3.336768] i8042: [1] d3 -> i8042 (command)
[    3.336896] i8042: [1] 5a -> i8042 (parameter)
[    3.337033] i8042: [1] 5a <- i8042 (return)
[    3.337038] i8042: [1] a7 -> i8042 (command)
[    3.337162] i8042: [1] 20 -> i8042 (command)
[    3.337474] i8042: [1] 74 <- i8042 (return)
[    3.337479] i8042: [1] a8 -> i8042 (command)
[    3.338021] i8042: [1] 20 -> i8042 (command)
[    3.338333] i8042: [1] 54 <- i8042 (return)
[    3.338365] i8042: [1] 60 -> i8042 (command)
[    3.338911] i8042: [1] 56 -> i8042 (parameter)
[    3.339095] i8042: [1] d3 -> i8042 (command)
[    3.339225] i8042: [2] a5 -> i8042 (parameter)
[    3.612694] i8042: [84]      -- i8042 (aux irq test timeout)
[    3.612774] i8042: [84] a5 <- i8042 (flush, aux)
[    3.612788] i8042: [84] 60 -> i8042 (command)
[    3.613283] i8042: [84] 74 -> i8042 (parameter)
[    3.613483] i8042: [84] 60 -> i8042 (command)
[    3.613610] i8042: [84] 65 -> i8042 (parameter)
[    3.613616] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.621824] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
```

Both of them don't work properly.
Comment 2 XiaoYan Li 2022-06-12 14:09:45 UTC
Created attachment 301159 [details]
content of /proc/bus/input/devices
Comment 3 XiaoYan Li 2022-06-12 14:11:06 UTC
Created attachment 301160 [details]
output of lsmod
Comment 4 XiaoYan Li 2022-06-12 14:22:08 UTC
With `i8042.dumbkbd`, there seem to have some interrupts but with no data. After typing the keyboard, there are lots of `interrupt 1, without any data` logs in the output of `dmesg`.
Comment 5 Prabhakar Kumar 2022-06-21 04:47:37 UTC
Created attachment 301235 [details]
OUTPUT OF : libinput list-devices

Device:           Video Bus
Kernel:           /dev/input/event6
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event0
Group:            2
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Lid Switch
Kernel:           /dev/input/event1
Group:            3
Seat:             seat0, default
Capabilities:     switch
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           USB2.0 HD UVC WebCam: USB2.0 HD
Kernel:           /dev/input/event4
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           SZH usb keyboard
Kernel:           /dev/input/event11
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           SZH usb keyboard Consumer Control
Kernel:           /dev/input/event12
Group:            5
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           SZH usb keyboard System Control
Kernel:           /dev/input/event13
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           ASUE120B:00 04F3:31C0 Mouse
Kernel:           /dev/input/event3
Group:            6
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           ASUE120B:00 04F3:31C0 Touchpad
Kernel:           /dev/input/event5
Group:            6
Seat:             seat0, default
Size:             125x72mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           Asus WMI hotkeys
Kernel:           /dev/input/event2
Group:            7
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a
Comment 6 Mario Limonciello (AMD) 2022-07-11 23:36:02 UTC
Is this a Rembrandt system?  If so I would expect the general solution Chuanhong 
 is making for https://lore.kernel.org/linux-acpi/20220630022317.15734-1-gch981213@gmail.com/ to fix this too.
Comment 7 Mario Limonciello (AMD) 2022-07-12 02:22:13 UTC
Here is the v6 of that patch: https://lore.kernel.org/linux-acpi/20220712020058.90374-1-gch981213@gmail.com/T/#u

Please have a try and report back.
Comment 8 XiaoYan Li 2022-07-18 03:43:10 UTC
Yes, this patch does fix it.
Comment 9 Alvin Zhu 2022-10-03 04:58:05 UTC
(In reply to Mario Limonciello (AMD) from comment #7)
> Here is the v6 of that patch:
> https://lore.kernel.org/linux-acpi/20220712020058.90374-1-gch981213@gmail.
> com/T/#u
> 
> Please have a try and report back.

This patch broke my laptop's built-in keyboard. My laptop is a GPD Win Max2 with AMD 6800U.

After upgrading kernel 5.19.10 from 5.19.9, the built-in keyboard of GPD Win Max2 does not work.
 
I revert the commit(37c81d9f1d1b1458894454efcb857f6a769b6bc4) and rebuilt the kernel. The built-in keyboard of my laptop works again.
Comment 10 Mario Limonciello (AMD) 2022-10-03 13:52:08 UTC
Alvin -

That's really unfortunate to hear.  We may need to revisit the heuristic.  Can you please do me a favor and open a new bug report, attach the following, and CC me:
1) dmesg log from 5.19.9
2) dmesg log from 5.19.10
3) acpidump
Comment 11 alexwriter 2022-10-21 14:00:22 UTC
Re: 
`dmesg` with `i8042.debug`, `i8042.nopnp` https://writingservice.essayhave.com/ and `i8042.dumbkbd`:

```
[    3.334797] i8042: [0] 20 -> i8042 (command)
[    3.335528] i8042: [0] 65 <- i8042 (return)
[    3.335588] i8042: [0] 20 -> i8042 (command)
[    3.336310] i8042: [1] 65 <- i8042 (return)
[    3.336322] i8042: [1] 60 -> i8042 (command)
[    3.336631] i8042: [1] 74 -> i8042 (parameter)
[    3.336768] i8042: [1] d3 -> i8042 (command)
[    3.336896] i8042: [1] 5a -> i8042 (parameter)
[    3.337033] i8042: [1] 5a <- i8042 (return)
[    3.337038] i8042: [1] a7 -> i8042 (command)
[    3.337162] i8042: [1] 20 -> i8042 (command)
[    3.337474] i8042: [1] 74 <- i8042 (return)
[    3.337479] i8042: [1] a8 -> i8042 (command)
[    3.338021] i8042: [1] 20 -> i8042 (command)
[    3.338333] i8042: [1] 54 <- i8042 (return)
[    3.338365] i8042: [1] 60 -> i8042 (command)
[    3.338911] i8042: [1] 56 -> i8042 (parameter)
[    3.339095] i8042: [1] d3 -> i8042 (command)
[    3.339225] i8042: [2] a5 -> i8042 (parameter)
[    3.612694] i8042: [84]      -- i8042 (aux irq test timeout)
[    3.612774] i8042: [84] a5 <- i8042 (flush, aux)
[    3.612788] i8042: [84] 60 -> i8042 (command)
[    3.613283] i8042: [84] 74 -> i8042 (parameter)
[    3.613483] i8042: [84] 60 -> i8042 (command)
[    3.613610] i8042: [84] 65 -> i8042 (parameter)
[    3.613616] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.621824] input: AT Translated Set 2 keyboard as


1) dmesg log from 5.19.9 
2) dmesg log from 5.19.10
3) acpidump

Thanks all works

Note You need to log in before you can comment on or make changes to this bug.