(In reply to Takashi Iwai from comment #15) > How about rebinding? > > echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/unbind > echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/bind > > You can try the above while the touchpad is working, and verify that the > first call stops the touchpad and the second restores. If that works, try > the same after the resume. It might be a different file name than i2c_hid > on the recent system, so check the path beforehand. (e.g. on my 5.16-rc > kernel, it's i2c_hid_acpi). bash: /sys/bus/i2c/drivers/i2c_hid/unbind: No such file or directory localhost:/ # echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind localhost:/ # echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind (In reply to Takashi Iwai from comment #15) > How about rebinding? > > echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/unbind > echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/bind > > You can try the above while the touchpad is working, and verify that the > first call stops the touchpad and the second restores. If that works, try > the same after the resume. It might be a different file name than i2c_hid > on the recent system, so check the path beforehand. (e.g. on my 5.16-rc > kernel, it's i2c_hid_acpi). When touchpad is working (blacklisted elan) echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind Disables echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind Restores (on my 5.15.3 kernel, it's i2c_hid_acpi too) When touchpad is not working (delete blacklist) localhost:/ # echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind bash: echo: write error: No such device localhost:/ # echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind bash: echo: write error: Device or resource busy