Bug 205793

Summary: No touchpad after upgrade to kernel 5.4.1
Product: Drivers Reporter: memantere
Component: I2CAssignee: Drivers/I2C virtual user (drivers-i2c)
Status: RESOLVED DUPLICATE    
Severity: normal CC: david, i.reg, juliocampagnolo, lorelei.lvnh, memantere, raymond.zhao, tannmatter, wsa
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.4.1 Subsystem:
Regression: No Bisected commit-id:

Description memantere 2019-12-08 03:54:26 UTC
After upgrade the kernel to 5.4.1, I cannot move or click the pointer with touchpad. 

Dec 07 19:24:47 lumihiutale kernel: irq 14: nobody cared (try booting with the "irqpoll" option)
Dec 07 19:24:47 lumihiutale kernel: CPU: 2 PID: 0 Comm: swapper/2 Tainted: G           OE     5.4.2-arch1-1 #1
Dec 07 19:24:47 lumihiutale kernel: Hardware name: Dell Inc. Inspiron 7559/0H0CC0, BIOS 1.3.1 12/02/2018
Dec 07 19:24:47 lumihiutale kernel: Call Trace:
Dec 07 19:24:47 lumihiutale kernel:  <IRQ>
Dec 07 19:24:47 lumihiutale kernel:  dump_stack+0x66/0x90
Dec 07 19:24:47 lumihiutale kernel:  __report_bad_irq+0x35/0xaa
Dec 07 19:24:47 lumihiutale kernel:  note_interrupt.cold+0xb/0x69
Dec 07 19:24:47 lumihiutale kernel:  handle_irq_event_percpu+0x6f/0x80
Dec 07 19:24:47 lumihiutale kernel:  handle_irq_event+0x37/0x54
Dec 07 19:24:47 lumihiutale kernel:  handle_fasteoi_irq+0xb5/0x160
Dec 07 19:24:47 lumihiutale kernel:  do_IRQ+0x84/0x140
Dec 07 19:24:47 lumihiutale kernel:  common_interrupt+0xf/0xf
Dec 07 19:24:47 lumihiutale kernel:  </IRQ>
Dec 07 19:24:47 lumihiutale kernel: RIP: 0010:cpuidle_enter_state+0xc4/0x480
Dec 07 19:24:47 lumihiutale kernel: Code: e8 e1 0f 9a ff 80 7c 24 0f 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 93 03 00 00 31 ff e8 03 66 >
Dec 07 19:24:47 lumihiutale kernel: RSP: 0000:ffffafc4c00cfe68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffde
Dec 07 19:24:47 lumihiutale kernel: RAX: ffff973ab9a80000 RBX: ffffffff9c6bc200 RCX: 000000000000001f
Dec 07 19:24:47 lumihiutale kernel: RDX: 0000000000000000 RSI: 000000003161faed RDI: 0000000000000000
Dec 07 19:24:47 lumihiutale kernel: RBP: ffff973ab9ab4600 R08: 0000000998ecb364 R09: 00000009e4f937af
Dec 07 19:24:47 lumihiutale kernel: R10: ffff973ab9aa97e0 R11: ffff973ab9aa97c0 R12: 0000000000000008
Dec 07 19:24:47 lumihiutale kernel: R13: 0000000998ecb364 R14: 0000000000000008 R15: ffff973ab826dc40
Dec 07 19:24:47 lumihiutale kernel:  ? cpuidle_enter_state+0x9f/0x480
Dec 07 19:24:47 lumihiutale kernel:  cpuidle_enter+0x29/0x40
Dec 07 19:24:47 lumihiutale kernel:  do_idle+0x1de/0x260
Dec 07 19:24:47 lumihiutale kernel:  cpu_startup_entry+0x19/0x20
Dec 07 19:24:47 lumihiutale kernel:  start_secondary+0x186/0x1d0
Dec 07 19:24:47 lumihiutale kernel:  secondary_startup_64+0xb6/0xc0
Dec 07 19:24:47 lumihiutale kernel: handlers:
Dec 07 19:24:47 lumihiutale kernel: [<0000000035525c91>] intel_gpio_irq
Dec 07 19:24:47 lumihiutale kernel: Disabling IRQ #14
Dec 07 19:24:48 lumihiutale kernel: i2c_hid i2c-ELAN1010:00: failed to reset device.
Comment 1 Julio Cesar Neves Campagnolo 2019-12-08 22:13:19 UTC
Same problem here. Tested 2 laptops from different brands.

The touchpad appears in 'xinput list', but present errors in 'dmseg'.

'dmseg | grep i2c' output:

[    3.022387] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vdd not found, using dummy regulator
[    3.022433] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vddl not found, using dummy regulator
[    8.136661] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   14.323462] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   20.510108] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   26.696594] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   27.710002] i2c_hid i2c-ELAN1010:00: can't add hid device: -61
[   27.710402] i2c_hid: probe of i2c-ELAN1010:00 failed with error -61
Comment 2 Lorelei Penn 2019-12-11 17:44:52 UTC
Greetings everyone.

Same problem for me too. I am using a Dell Inspiron 15 7559 as well. In my case, the command `xinput list` does not list the touchpad device.

Here is a quick overview of `dmesg |grep -i elan`:
[    6.086931] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vdd not found, using dummy regulator
[    6.086942] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vddl not found, using dummy regulator
[   11.493260] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   17.637269] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   23.781291] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   29.925249] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   30.949314] i2c_hid i2c-ELAN1010:00: can't add hid device: -61
[   30.949679] i2c_hid: probe of i2c-ELAN1010:00 failed with error -61

And here is more detail from `dmesg`:
[    8.463652] hidraw: raw HID events driver (C) Jiri Kosina
[    8.475587] dell-smbios A80593CE-A997-11DA-B012-B622A1EF5492: WMI SMBIOS userspace interface not supported(0), try upgrading to a newer BIOS
[    8.477934] input: Dell WMI hotkeys as /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input11
[    8.507819] tpm_tis MSFT0101:00: IRQ index 0 not found
[    8.513510] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vdd not found, using dummy regulator
[    8.513522] i2c_hid i2c-ELAN1010:00: i2c-ELAN1010:00 supply vddl not found, using dummy regulator
[    8.564706] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
[    8.564724] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
...
[   12.570632] NET: Registered protocol family 38
[   13.500984] iwlwifi 0000:05:00.0: Applying debug destination EXTERNAL_DRAM
[   13.541325] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   13.584326] iwlwifi 0000:05:00.0: Applying debug destination EXTERNAL_DRAM
[   13.586312] iwlwifi 0000:05:00.0: FW already configured (0) - re-configuring
...
[   19.231291] irq 14: nobody cared (try booting with the "irqpoll" option)
[   19.231293] CPU: 2 PID: 0 Comm: swapper/2 Tainted: P           OE     5.4.2-zen1-1-zen #1
[   19.231294] Hardware name: Dell Inc. Inspiron 7559/0H87XC, BIOS 1.3.0 12/01/2018
[   19.231294] Call Trace:
[   19.231296]  <IRQ>
[   19.231300]  dump_stack+0x66/0x90
[   19.231302]  __report_bad_irq+0x35/0xaa
[   19.231303]  note_interrupt.cold+0xb/0x69
[   19.231306]  handle_irq_event+0xa9/0xb0
[   19.231307]  handle_fasteoi_irq+0xcc/0x1e0
[   19.231309]  do_IRQ+0x84/0x140
[   19.231310]  common_interrupt+0xf/0xf
[   19.231311]  </IRQ>
[   19.231312] RIP: 0010:cpuidle_enter_state+0xc4/0xa20
[   19.231314] Code: e8 31 d8 87 ff 80 7c 24 0f 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 06 09 00 00 31 ff e8 73 1c 8f ff fb 66 0f 1f 44 00 00 <45> 85 e4 0f 88 86 02 00 00 49 63 cc 4c 2b 6c 24 10 48 8d 04 49 48
[   19.231314] RSP: 0018:ffffbaf5000cfe50 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffde
[   19.231316] RAX: ffff9a61f6100000 RBX: ffffffffb0cbc7a0 RCX: 000000000000001f
[   19.231316] RDX: 0000000000000000 RSI: 00000000378e3a78 RDI: 0000000000000000
[   19.231317] RBP: ffff9a61f6134600 R08: 000000047a4492d2 R09: 00000004a832e71f
[   19.231317] R10: 0000000000000008 R11: 0000000000000008 R12: 0000000000000008
[   19.231318] R13: 000000047a4492d2 R14: 0000000000000008 R15: ffff9a61f3e51ec0
[   19.231321]  cpuidle_enter+0x29/0x40
[   19.231322]  do_idle+0x202/0x2b0
[   19.231324]  cpu_startup_entry+0x19/0x20
[   19.231326]  start_secondary+0x1c6/0x220
[   19.231327]  secondary_startup_64+0xb6/0xc0
[   19.231329] handlers:
[   19.231330] [<00000000111d9f14>] intel_gpio_irq
[   19.231331] Disabling IRQ #14
...
[   25.829334] i2c_hid i2c-ELAN1010:00: failed to reset device.
...
[   31.973303] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   32.997331] i2c_hid i2c-ELAN1010:00: can't add hid device: -61
[   32.997500] i2c_hid: probe of i2c-ELAN1010:00 failed with error -61
Comment 3 Matt Tanner 2019-12-12 19:05:42 UTC
Same here, and using the exact same laptop as OP - Inspiron 7559/0H0CC0, only I have not updated the bios to 1.3.1.  Am running 1.2.0 dated 9/22/2016.

[   13.986607] irq 14: nobody cared (try booting with the "irqpoll" option) 
[   13.986620] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G         C OE     5.4.2-arch1-1 #1
[   13.986621] Hardware name: Dell Inc. Inspiron 7559/0H0CC0, BIOS 1.2.0 09/22/2016
[   13.986624] Call Trace:
[   13.986632]  <IRQ>
[   13.986654]  dump_stack+0x66/0x90
[   13.986665]  __report_bad_irq+0x35/0xaa
[   13.986668]  note_interrupt.cold+0xb/0x69
[   13.986676]  handle_irq_event_percpu+0x6f/0x80
[   13.986679]  handle_irq_event+0x37/0x54
[   13.986682]  handle_fasteoi_irq+0xb5/0x160
[   13.986689]  do_IRQ+0x84/0x140
[   13.986693]  common_interrupt+0xf/0xf
[   13.986695]  </IRQ>
[   13.986703] RIP: 0010:cpuidle_enter_state+0xc4/0x480
[   13.986706] Code: e8 e1 0f 9a ff 80 7c 24 0f 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 93 03 00 00 31 ff e8 03 66 a0 ff fb 66 0f 1f 44 00 00 <45> 85 e4 0f 88 be 02 00 00 49 63 cc 4c 2
b 6c 24 10 48 8d 04 49 48
[   13.986708] RSP: 0000:ffff95cd400cfe68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffde
[   13.986709] RAX: ffff9040b9a80000 RBX: ffffffffa6abc200 RCX: 000000000000001f
[   13.986710] RDX: 0000000000000000 RSI: 000000003161fd6c RDI: 0000000000000000
[   13.986711] RBP: ffff9040b9ab4600 R08: 0000000341a74b15 R09: 000000035687d993
[   13.986712] R10: ffff9040b9aa97e0 R11: ffff9040b9aa97c0 R12: 0000000000000008
[   13.986713] R13: 0000000341a74b15 R14: 0000000000000008 R15: ffff9040b826bd80
[   13.986720]  ? cpuidle_enter_state+0x9f/0x480
[   13.986722]  cpuidle_enter+0x29/0x40
[   13.986730]  do_idle+0x1de/0x260
[   13.986732]  cpu_startup_entry+0x19/0x20
[   13.986741]  start_secondary+0x186/0x1d0
[   13.986749]  secondary_startup_64+0xb6/0xc0
[   13.986755] handlers:
[   13.986766] [<00000000300c8eb4>] intel_gpio_irq
[   13.986767] Disabling IRQ #14
...
[   14.337127] i2c_hid i2c-ELAN1010:00: failed to reset device.
...
[   20.527127] i2c_hid i2c-ELAN1010:00: failed to reset device.
...
[   26.710504] i2c_hid i2c-ELAN1010:00: failed to reset device.
[   27.723793] i2c_hid i2c-ELAN1010:00: can't add hid device: -61
[   27.724200] i2c_hid: probe of i2c-ELAN1010:00 failed with error -61
[   30.167130] usb 1-1: new low-speed USB device number 26 using xhci_hcd
[   30.309693] usb 1-1: New USB device found, idVendor=0461, idProduct=4d03, bcdDevice= 5.50
[   30.309699] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[   30.341252] usbcore: registered new interface driver usbhid
[   30.341253] usbhid: USB HID core driver
[   30.351882] input: HID 0461:4d03 as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:0461:4D03.0001/input/input21
[   30.352191] hid-generic 0003:0461:4D03.0001: input,hidraw0: USB HID v1.00 Mouse [HID 0461:4d03] on usb-0000:00:14.0-1/input0

ADDITIONAL INFO: I have searched around and tried various solutions.  I can often force it to start working by repeating the following steps under the following conditions:

1. Open a terminal
2. Run the following command (as advised by Kai-Heng Feng in a similar bug report at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1683760):
   sudo sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol'
3. Immediately (without waiting even a second) start trying to move the pointer wildly.

The catch is that it usually doesn't work on the first try.  If I rerun the command a second time and then immediately try to move the pointer, it will often magically start working.  If I wait even a second or two after entering the command and then try to move the pointer, no luck.  I have no idea why that would be, but I've successfully gotten my touchpad working 5 times in a row repeating these steps.  Hopefully this helps someone!  Of course it still works fine using an LTS kernel (I'm using Arch, and LTS is currently on 4.19.88)
Comment 4 Matt Tanner 2019-12-12 19:49:45 UTC
Confirmed again just now that I was able to get it working by following these steps listed above.  However it seems maybe it only works using the synaptics driver?

Present in my /etc/X11/xorg.conf.d is a file named 50-synaptics.conf.  This is the catchall configuration provided by xf86-input-synaptics that attempts to assign the synaptics driver to any touchpads found.  When I delete this file, I am still able to force the touchpad to work by following the steps.  But if instead I replace it with a configuration specifying to use the libinput driver, this trick doesn't seem to be working.
Comment 5 Lorelei Penn 2019-12-12 22:30:40 UTC
Duplicated of bug 205745.
Comment 6 Sinan Tan 2020-01-02 06:33:36 UTC
Proposed patch now available on https://bugzilla.kernel.org/show_bug.cgi?id=205745
Comment 7 Wolfram Sang 2020-03-22 11:53:38 UTC

*** This bug has been marked as a duplicate of bug 205745 ***