Bug 217493
Summary: | Touchpad not working on Asus TUF617XS / FA617XS | ||
---|---|---|---|
Product: | Drivers | Reporter: | drich (dridri85) |
Component: | Input Devices | Assignee: | drivers_input-devices |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | mario.limonciello |
Priority: | P3 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | No | Bisected commit-id: | |
Attachments: |
dmesg
inxi -SMa acpidump summary acpidump binaries |
Description
drich
2023-05-27 12:35:03 UTC
Created attachment 304334 [details]
inxi -SMa
Does your kernel config have CONFIG_I2C_HID_ACPI and CONFIG_PINCTRL_AMD set? Well I was so dumb not to look for this kind of config. CONFIG_I2C_HID_ACPI was indeed missing (why is it disabled by default on Debian's kernel config ?) and makes the touchpad correctly detected by the kernel... but breaks the keyboard : pressing any key takes several seconds to show the character on screen and sometimes repeat it dozens of time. Seems like the press/release events are sent with lag / not sent at all. This also affects hotkeys (which happen to use a different bus, as they were working since the very beginning with default config and no kernel patches applied). Seems like i8042.nomux=1 solves this, don't know why. Another problem : after enabling CONFIG_I2C_HID and CONFIG_I2C_HID_ACPI the touchpad did work only once, after reboot it doesn't work anymore and dmesg shows the following : [ 11.766106] i2c_hid_acpi i2c-ITE5570:00: failed to reset device: -61 [ 11.766146] i2c_hid_acpi i2c-ASUF1204:00: failed to reset device: -61 [ 17.908913] i2c_hid_acpi i2c-ITE5570:00: failed to reset device: -61 [ 17.908913] i2c_hid_acpi i2c-ASUF1204:00: failed to reset device: -61 [ 24.052910] i2c_hid_acpi i2c-ASUF1204:00: failed to reset device: -61 [ 24.052910] i2c_hid_acpi i2c-ITE5570:00: failed to reset device: -61 [ 30.196913] i2c_hid_acpi i2c-ITE5570:00: failed to reset device: -61 [ 30.196922] i2c_hid_acpi i2c-ASUF1204:00: failed to reset device: -61 [ 31.220910] i2c_hid_acpi i2c-ITE5570:00: can't add hid device: -61 [ 31.220909] i2c_hid_acpi i2c-ASUF1204:00: can't add hid device: -61 Nevermind, I was messing around with the ACPI patch mentioned in the first post. Enabling CONFIG_I2C_HID_ACPI does fix the problem. So, I'm wondering why defaults debian kconfig disables it by default. Thank you for your help ! Great. File a bug against the debian kernel please. Well, said nothing. i8042.nomux=1 does not solve the new keyboard issue. At the exact moment i2c_hid_acpi starts, keyboard events become totally erratic. But i found a workaround : echo "AMDI0010:00" > /sys/bus/platform/drivers/i2c_designware/unbind The only device attached to AMDI0010:00 is ITE5570:00, it's recognized as a generic HID device : [ 157.385890] input: ITE5570:00 048D:8051 as /devices/platform/AMDI0010:01/i2c-1/i2c-ITE5570:00/0018:048D:8051.0006/input/input27 [ 157.385955] hid-generic 0018:048D:8051.0006: input,hidraw0: I2C HID v1.00 Device [ITE5570:00 048D:8051] on i2c-ITE5570:00 libinput sees it as a keyboard : Device: ITE5570:00 048D:8051 Kernel: /dev/input/event18 Group: 8 Seat: seat0, default Capabilities: keyboard In the patch referenced in my first post I can see a "AMDI0007" override, could this AMDI0010 also needs an IRQ override ? I need to see an acpidump to understand what's happening with the keyboard. Created attachment 304335 [details]
acpidump summary
Created attachment 304336 [details]
acpidump binaries
Binaries are fine or would the raw acpidump output be more useful ? Don't know if it was a typo or if the device enumeration is dynamic, but I actually have to unbind AMDI0010:01, not AMDI0010:00 Do you have Windows on this machine by chance (as a dual boot)? Can you please cross reference whether the keyboard shows up as an I2C device on Windows in device manager? > In the patch referenced in my first post I can see a "AMDI0007" override, > could this AMDI0010 also needs an IRQ override ? No; AMDI0007 is used as a heuristic in this case, not an actual device. > dmesg Can I please see a full dmesg with the correct kernel configuration? > acpidump binaries I do see _HID of ITE5570 connected to I2CB (the second I2C endpoint). This device is called SMKB ("Smart" keyboard?). I do see it configured for GPIO 0. What happens if you take out the linked patch (https://lore.kernel.org/linux-acpi/20230518183920.93472-1-mario.limonciello@amd.com/) but let the i2c-hid-acpi driver handle things. Does it work properly? Sorry GPIO "7" The touchpad problem is sorted by kernel config. The i2c-hid storm has a potential fix in https://bugzilla.kernel.org/show_bug.cgi?id=217336. I think we should close this one and let that be tracked there. *** This bug has been marked as a duplicate of bug 217336 *** |