Comment 59 for bug 1900254

Revision history for this message
In , lovesh.bond (lovesh.bond-linux-kernel-bugs) wrote :

(In reply to Jan-Marek Glogowski from comment #14)
> Thanks for all the info. I saw these error messages and assumed some larger
> problem. And didn't register the messages were created by the touchpad
> actually, since this is the touchscreen driver.
>
> And since I managed to brick my HW, I had other things to do
> (https://forums.lenovo.com/t5/Lenovo-IdeaPad-1xx-3xx-5xx-7xx-Edge-LaVie-Z-
> Flex-Notebooks/Unbricking-Ideapad-5-15ARE05/m-p/5019541), so I could just
> test this now.
>
> Instead of a kernel rebuild, you can simply unbind the device for the
> built-in module. Just add some startup script doing:
>
> modprobe i2c_hid
> echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/elants_i2c/unbind
> echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/i2c_hid/bind
>
> Now I'm wondering, what people with a notebook with an Elan touchscreen
> would do...
>
> The elants_i2c wrongly claims the device. Either a driver bug or a wrong
> ACPI DSTD, which in the end the elants_i2c must work around :-(
>
> And I already had decompiled the ACPI DSTD to have a look...

I am on Kubuntu 21.04 and I think my touchpad is ELAN1203 (based on dmesg outputs) and I have the same issue, reported issue here https://bugzilla.kernel.org/show_bug.cgi?id=213857.

I tried to unbind with (using root)

echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/elants_i2c/unbind

But i get the error

-bash: echo: write error: No such device

Also, I see 2 i2c_hid like modules in lsmod

$ lsmod | grep i2c_hid
i2c_hid_acpi 16384 0
i2c_hid 28672 1 i2c_hid_acpi
hid 135168 3 i2c_hid,usbhid,hid_generic