My laptop has a bug where when you try to suspend ubuntu will immediately start back up again and core 0 is locked at 100%.
If at this point you force shutdown by holding down the power button and boot afterwards, the touchpad works.
In the logs you can see this when it gets detected:
kernel: input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0002/input/input6
kernel: input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0002/input/input7
kernel: hid-generic 0018:04F3:3140.0002: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
kernel: input: MSFT0001:00 04F3:3140 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0002/input/input30
kernel: input: MSFT0001:00 04F3:3140 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0002/input/input31
kernel: hid-multitouch 0018:04F3:3140.0002: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
And it is bound to the i2c_hid_acpi driver.
I have also found this but only once:
kernel: ACPI: SSDT 0x00000000C968F000 007216 (v02 LENOVO AmdTable 00000002 MSFT 04000000)
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to change power setting.
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to change power setting.
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to reset device.
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to change power setting.
kernel: i2c_hid_acpi i2c-MSFT0001:00: failed to change power setting.
kernel: i2c_hid_acpi i2c-MSFT0001:00: can't add hid device: -121
kernel: i2c_hid_acpi: probe of i2c-MSFT0001:00 failed with error -121
This is the normal message in the logs that is always there when the touchpad is undetected:
kernel: ACPI: SSDT 0x00000000C968F000 007216 (v02 LENOVO AmdTable 00000002 MSFT 04000000)
Is there at least a workaround for this?
When the touchpad is not detected, it does not seem to be bound to any driver, yet I cannot bind it to a driver with the error message "no such device"
The touchpad does however show up in the i2c/devices directory:
i2c-MSFT0001:00 -> ../../../devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00
I am trying to bind the touchpad to the hid_generic driver via this command:
echo "i2c-MSFT0001:00" | sudo tee /sys/bus/hid/drivers/hid-generic/bind
However, this returns:
i2c-MSFT0001:00
tee: /sys/bus/hid/drivers/hid-generic/bind: No such device
The touchpad is not bound to another driver:
sudo find / -name i2c-MSFT0001:00
find: ‘/tmp/.mount_OpenRGYUjCNF’: Permission denied
/sys/devices/platform/AMDI0010:03/i2c-1/i2c-MSFT0001:00
/sys/bus/i2c/devices/i2c-MSFT0001:00
If you need more background:
MSFT/Mylar Touchpad on Lenovo Ideapad flex 5 14ARE05 Ubuntu 21.04
https://bugs.launchpad.net/ubuntu/+source/linux-signed-hwe-5.8/+bug/1912880
Now the suspend bug I mentioned rarely occurs and I can't get the touchpad to work anymore.