Bug 209413
Summary: | i2c_hid i2c-ELAN1201:00: HID over i2c has not been provided an Int IRQ | ||
---|---|---|---|
Product: | Drivers | Reporter: | Jeroen Jeurissen (jeroenjeurissen) |
Component: | I2C | Assignee: | Drivers/I2C virtual user (drivers-i2c) |
Status: | RESOLVED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | CC: | cheewai.lai+lkml, liudng |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.9.0-rc6-next-20200924-1.gedf2da2-vanilla | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | dmesg |
This kernel configuration should fix it. https://asus-linux.org/wiki/g14-and-g15/hardware/touchpad/ I don't know how it translates to modules though. I think it's the order in which all kernel modules are loaded. There where times that it just worked. /etc/modprobe.d/99-elan.conf softdep elan_i2c pre: pinctrl_amd softdep hid_elan pre: pinctrl_amd sudo mkinitrd fixed it bad news, it only works on some boots. I can't explain it. The same problem exists in XiaoXin pro 13 API. Kernel: Linux version 5.8.13-300.fc33.x86_64 (mockbuild@bkernel01.iad2.fedoraproject.org) (gcc (GCC) 10.2.1 20200826 (Red Hat 10.2.1-3), GNU ld version 2.35-10.fc33) #1 SMP Thu Oct 1 20:49:47 UTC 2020 $ dmesg -H [ +0.058027] i2c_hid i2c-MSFT0001:00: HID over i2c has not been provided an Int IRQ [ +0.000039] i2c_hid: probe of i2c-MSFT0001:00 failed with error -22 Description: 1, Power on, the touchpad cannot be recognized. 2, Restart, the touchpad can be recognized. Same issue with openSUSE Tumbleweed 20201009 Linux 5.8.14-1 on Tongfang PF4NU1F When it works, dmesg shows [ 3.144328] i2c_hid i2c-UNIW0001:00: supply vdd not found, using dummy regulator [ 3.144340] i2c_hid i2c-UNIW0001:00: supply vddl not found, using dummy regulator ... [ 3.305015] input: UNIW0001:00 093A:0255 Mouse as /devices/platform/AMDI0010:02/i2c-0/i2c- UNIW0001:00/0018:093A:0255.0001/input/input2 [ 3.305141] input: UNIW0001:00 093A:0255 Touchpad as /devices/platform/AMDI0010:02/i2c-0/i2c-UNIW0001:00/0018:093A:0255.0001/input/input3 [ 3.305262] hid-generic 0018:093A:0255.0001: input,hidraw0: I2C HID v1.00 Mouse [UNIW0001:00 093A:0255] on i2c-UNIW0001:00 When it doesn't, dmesg shows [ 2.984796] i2c_hid i2c-UNIW0001:00: HID over i2c has not been provided an Int IRQ [ 2.984864] i2c_hid: probe of i2c-UNIW0001:00 failed with error -22 I hear another workaround is by changing the pinctrl-amd to built-in instead of to load it as a module. For more info see: https://bugzilla.suse.com/show_bug.cgi?id=1177049#c4 (In reply to Jeroen Jeurissen from comment #8) > For more info see: https://bugzilla.suse.com/show_bug.cgi?id=1177049#c4 Thank you very much Jeroen. The solution works for me. With different hardware on my laptop based on dmesg output, I created /etc/modules-load.d/99_touchpad.conf softdep hid_i2c pre: pinctrl_amd softdep hid_generic pre: pinctrl_amd Fixed in more recent kernel version. |
Created attachment 292685 [details] dmesg My touchpad doesn't work on boot. dmesg errors: [ 2.760685] i2c_hid i2c-ELAN1201:00: HID over i2c has not been provided an Int IRQ [ 2.760822] i2c_hid: probe of i2c-ELAN1201:00 failed with error -22 workaround: when I run "sudo modprobe i2c-hid" my touchpad works again.