Hello,
For almost two years now linux will only detect may touchpad with a janky workaround I will describe below.
When booting up the touchpad is never detected, only visible using the find command like this:
/sys/devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00
/sys/bus/i2c/devices/i2c-MSFT0001:00
In dmesg, after boot and when reloading the i2c_hid_acpi module, I can see the following messages:
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to fetch HID descriptor: -121
kernel: i2c_hid_acpi i2c-MSFT0001:00: Failed to fetch the HID Descriptor
As for the workaround, in order to get the touchpad to work I have to do this:
- Boot
- Suspend the os
- Close the lid to keep it suspended
- Force it to shut down via power button
- Boor up again
There is also a bug with the S3 sleep, although that seems a lot more common in linux.
Once the workaround is “applied” I can see the following.
[ 2.204702] input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input5
[ 2.204805] input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input6
[ 2.204866] hid-generic 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
[ 5.329926] input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input18
[ 5.330041] input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input19
[ 5.330106] hid-multitouch 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
/sys/devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00
/sys/bus/i2c/devices/i2c-MSFT0001:00
/sys/bus/i2c/drivers/i2c_hid_acpi/i2c-MSFT0001:00
The touchpad works as expected after this.
The issue has persisted since kernel 5.9 and I am now on 5.19.
The Laptop is an Ideapad flex 5 14are05
If you need more info please tell me.
Thank you