Created attachment 304333 [details] dmesg Hello, Both keyboard and touchpad did not work when I first booted Linux on this new laptop, keyboard was fixed using this patch https://lore.kernel.org/linux-acpi/20230518183920.93472-1-mario.limonciello@amd.com/ (see also https://bugzilla.kernel.org/show_bug.cgi?id=217336). But this patch left touchpad undetected, I actually don't know if it's connected to a PCI, internal USB, I2C or other bus. dmesg does not help much as it says nothing about any input device expect keyboard / audio / hardware switches. Seeing other people dmesgs the touchpad should be reported by `/sys/devices/platform/AMDI0010:**/i2c-*/i2c-ASUP1205:00`, but I don't have any "ASUP" in devices tree, I would suspect a bad reporting from ACPI.
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 ***