Sleep and Touchpad Not Responding?

Hi all - Currently on Arch, linux-zen 5.13.9-zen1-1-zen. I enabled deep sleep by following the guide here:

However, whenever I resume from deep sleep my touchpad stops working.

Has anyone else encountered this? I’ve had to turn off deep sleep so that I can have a working touchpad.

(Also, it seems like deep sleep hasn’t been working very well for me - I still experience like 20% battery drain.)

edit 12-Aug 20:50 ET: Just went s2idle sleep, came back, and nevermind, the touchpad stops working here. I pulled up journalctl and it’s littered with this same error:

Aug 12 20:45:13 fmwk kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready

I’ve updated the title to reflect that it’s happening to me on any sleep.

@robxu9 have you tried disabling touchpad emulation in the bios to see if it fixes this?

1 Like

Do you mean PS2 emulation? It was set on auto; I’ll try disabling it and seeing if it helps.

@Kieran_Levin I’ve disabled touchpad emulation, and I’m seeing a different issue now - the touchpad now responds, but the multi-finger usage is all off - i.e. scrolling which usually is two-finger is now three-finger, switching workspaces which is three-finger is now four-finger, etc. After a couple of minutes, it goes back to normal. Maybe a weird state the computer went to sleep in, or resumed from?

I’ll see if I can reproduce any other weird aspects. No complete lockup yet, and no relevant logs.

1 Like

I have the same issue on Ubuntu 21.04 with 5.11.

I’ve just set the default memory sleep to deep, though the issue was happening with the s2idle on suspend as well. In another thread or stackexchange there’s a mention that sleeping again and re-waking, in my case closing and opening the lid again, will fix it.

Here’s some output from preparing to enter sleep with the touchpad not working upon wake:

[ 145.353122] ACPI: Preparing to enter system sleep state S3
[ 145.373108] ACPI: EC: event blocked
[ 145.373109] ACPI: EC: EC stopped
[ 145.373109] PM: Saving platform NVS memory
[ 145.373210] Disabling non-boot CPUs …
[ 145.373796] IRQ 185: no longer affine to CPU1
[ 145.376218] smpboot: CPU 1 is now offline
[ 145.377510] IRQ 187: no longer affine to CPU2
[ 145.378528] smpboot: CPU 2 is now offline
[ 145.380156] IRQ 183: no longer affine to CPU3
[ 145.381212] smpboot: CPU 3 is now offline
[ 145.384469] IRQ 181: no longer affine to CPU4
[ 145.385500] smpboot: CPU 4 is now offline
[ 145.388149] IRQ 40: no longer affine to CPU5
[ 145.388165] IRQ 131: no longer affine to CPU5
[ 145.388183] IRQ 182: no longer affine to CPU5
[ 145.388194] IRQ 186: no longer affine to CPU5
[ 145.389214] smpboot: CPU 5 is now offline
[ 145.390789] IRQ 30: no longer affine to CPU6
[ 145.390798] IRQ 130: no longer affine to CPU6
[ 145.391864] smpboot: CPU 6 is now offline
[ 145.393949] smpboot: CPU 7 is now offline
[ 145.401331] ACPI: Low-level resume complete
[ 145.401609] ACPI: EC: EC started
[ 145.401609] PM: Restoring platform NVS memory
[ 145.404646] Enabling non-boot CPUs …
[ 145.404691] x86: Booting SMP configuration:
[ 145.404692] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 145.407072] CPU1 is up
[ 145.407103] smpboot: Booting Node 0 Processor 2 APIC 0x4
[ 145.409632] CPU2 is up
[ 145.409657] smpboot: Booting Node 0 Processor 3 APIC 0x6
[ 145.412231] CPU3 is up
[ 145.412253] smpboot: Booting Node 0 Processor 4 APIC 0x1
[ 145.413455] CPU4 is up
[ 145.413478] smpboot: Booting Node 0 Processor 5 APIC 0x3
[ 145.414436] CPU5 is up
[ 145.414457] smpboot: Booting Node 0 Processor 6 APIC 0x5
[ 145.415571] CPU6 is up
[ 145.415591] smpboot: Booting Node 0 Processor 7 APIC 0x7
[ 145.416646] CPU7 is up
[ 145.422025] ACPI: Waking up from system sleep state S3
[ 145.430009] ACPI: EC: interrupt unblocked
[ 145.821957] ACPI: EC: event unblocked
[ 145.954782] i2c_designware i2c_designware.2: timeout waiting for bus ready
[ 145.957101] nvme nvme0: 8/0/0 default/read/poll queues
[ 145.975134] i2c_designware i2c_designware.2: timeout waiting for bus ready
[ 145.995817] i2c_designware i2c_designware.2: timeout waiting for bus ready
[ 146.016967] i2c_designware i2c_designware.2: timeout waiting for bus ready
[ 146.038102] i2c_designware i2c_designware.2: timeout waiting for bus ready

When the system wakes from the first sleep, the cursor will move at a far faster rate than it normally does, and it will not click or scroll. Sleeping again will restore the cursor speed, scrolling, and clicking.

[  158.124946] i2c_designware i2c_designware.2: timeout waiting for bus ready
[  158.145561] i2c_designware i2c_designware.2: timeout waiting for bus ready
[  158.145595] i2c_hid i2c-PIXA3854:00: failed to change power setting.
[  158.166418] i2c_designware i2c_designware.2: timeout waiting for bus ready
[  158.687521] i2c_designware i2c_designware.2: timeout in disabling adapter
[  158.731375] ACPI: EC: interrupt blocked
[  158.813875] ACPI: Preparing to enter system sleep state S3
[  158.832184] ACPI: EC: event blocked
[  158.832185] ACPI: EC: EC stopped
[  158.832186] PM: Saving platform NVS memory
[  158.832285] Disabling non-boot CPUs ...
[  158.835288] smpboot: CPU 1 is now offline
[  158.837689] smpboot: CPU 2 is now offline
[  158.842556] smpboot: CPU 3 is now offline
[  158.845142] smpboot: CPU 4 is now offline
[  158.848297] smpboot: CPU 5 is now offline
[  158.850677] smpboot: CPU 6 is now offline
[  158.853178] smpboot: CPU 7 is now offline
[  158.860914] ACPI: Low-level resume complete
[  158.861190] ACPI: EC: EC started
[  158.861190] PM: Restoring platform NVS memory
[  158.864181] Enabling non-boot CPUs ...
[  158.864226] x86: Booting SMP configuration:
[  158.864226] smpboot: Booting Node 0 Processor 1 APIC 0x2
[  158.866613] CPU1 is up
[  158.866642] smpboot: Booting Node 0 Processor 2 APIC 0x4
[  158.869144] CPU2 is up
[  158.869167] smpboot: Booting Node 0 Processor 3 APIC 0x6
[  158.871701] CPU3 is up
[  158.871722] smpboot: Booting Node 0 Processor 4 APIC 0x1
[  158.872930] CPU4 is up
[  158.872954] smpboot: Booting Node 0 Processor 5 APIC 0x3
[  158.873927] CPU5 is up
[  158.873948] smpboot: Booting Node 0 Processor 6 APIC 0x5
[  158.875084] CPU6 is up
[  158.875103] smpboot: Booting Node 0 Processor 7 APIC 0x7
[  158.876139] CPU7 is up
[  158.881506] ACPI: Waking up from system sleep state S3
[  158.891259] ACPI: EC: interrupt unblocked
[  159.285256] ACPI: EC: event unblocked
[  159.415593] nvme nvme0: 8/0/0 default/read/poll queues
[  159.675964] usb 3-1: reset full-speed USB device number 2 using xhci_hcd
[  159.816059] ish-hid {33AECD58-B679-4E54-9BD9-A04D34F0C226}: [hid-ish]: enum_devices_done OK, num_hid_devices=1
[  160.024011] usb 3-9: reset full-speed USB device number 3 using xhci_hcd
[  160.183558] acpi LNXPOWER:0f: Turning OFF
[  160.185832] acpi LNXPOWER:0b: Turning OFF
[  160.186556] acpi LNXPOWER:07: Turning OFF
[  160.186577] acpi LNXPOWER:06: Turning OFF
[  160.187313] OOM killer enabled.
[  160.187313] Restarting tasks ... done.
[  160.191386] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[  160.197980] thermal thermal_zone6: failed to read out thermal zone (-61)
[  160.200944] PM: suspend exit

Here’s an Arch forum mentioning the same i2c timeouts and touchpad impact - Touchpad suddenly stops working. Only reboot/suspend unfreezes it. / Kernel & Hardware / Arch Linux Forums

Most actual bugs I see in kernel development mailings are in reference to the 4.9-4.11 kernel.

1 Like

I’m also experiencing touchpad after suspend in Ubuntu 21.04. Will post again if I make progress.

I’ve got a little bit more that may be helpful in debugging this. I have the same problem on Arch Linux. I did not follow the guide from OP but I setup a swap partition and was resuming from hibernate essentially. After suspending and resuming again the touchpad came back on.

Here is some output from journalctl -f

Aug 30 17:12:00 syl systemd[1]: Reached target Sleep.
Aug 30 17:12:00 syl systemd[1]: Starting Suspend; Hibernate if not used for a period of time...
Aug 30 17:12:00 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:00 syl systemd-sleep[101776]: Entering sleep state 'suspend'...
Aug 30 17:12:00 syl kernel: PM: suspend entry (s2idle)
Aug 30 17:12:00 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:00 syl wpa_supplicant[482]: nl80211: deinit ifname=wlp170s0 disabled_11b_rates=0
Aug 30 17:12:00 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: Filesystems sync: 0.040 seconds
Aug 30 17:12:04 syl kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
Aug 30 17:12:04 syl kernel: OOM killer disabled.
Aug 30 17:12:04 syl kernel: Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
Aug 30 17:12:04 syl kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_hid_acpi i2c-PIXA3854:00: failed to set a report to device.
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_hid_acpi i2c-PIXA3854:00: failed to set a report to device.
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_hid_acpi i2c-PIXA3854:00: failed to set a report to device.
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_hid_acpi i2c-PIXA3854:00: failed to change power setting.
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout waiting for bus ready
Aug 30 17:12:04 syl kernel: i2c_designware i2c_designware.2: timeout in disabling adapter
Aug 30 17:12:04 syl kernel: ACPI: EC: interrupt blocked
Aug 30 17:12:04 syl kernel: ACPI: EC: interrupt unblocked
Aug 30 17:12:04 syl kernel: nvme nvme0: 8/0/0 default/read/poll queues
Aug 30 17:12:04 syl kernel: OOM killer enabled.
Aug 30 17:12:04 syl kernel: Restarting tasks ...
Aug 30 17:12:04 syl kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
Aug 30 17:12:04 syl kernel: done.

The important parts seem to me to be that the touchpad failed to set a report to device and power setting.

I’ll keep looking too to find a solution.

1 Like

I can confirm that Ubuntu 21.04 is suffering from this. My guess is that a firmware update will be needed to fix this. Framework has one in the works so guess we’ll see.

1 Like

another Arch 5.13.13 here seeing similar behavior. After what I haven’t determined is either a “sleep” versus a “hibernation”, I have a wonky trackpad (pointer tracks way too fast, gestures are disabled) as if it is falling back to a less-featured driver. Problem goes away after a reboot.

Void Linux user here reporting the same issue on 5.13.13_1, re-closing and opening the lid will fix the issue most times.

Using Fedora 34, it’s the exact same situation for me.

Same. It seems like going back into hibernate and waking up restarts the touchpad drivers?

1 Like

I haven’t had this issue after disabling PS/2 mouse emulation in the bios per @Kieran_Levin 's suggestion

1 Like

Having the same issue here @illeatmyhat, also Fedora 34 - have you tried disabling PS/2 mouse emulation like @ant? That’s the next thing I’m going to try.

Actually I did disable it and don’t recall any problems ever since.

I’m having a similar problem, although the touchpad also glitches out randomly from time to time. What I see is some seemingly random combination of these symptoms:

  • clicks stop being registered
  • it starts to register movements when I am typing but not touching
  • the trackpad, can’t scroll
  • mouse can’t move at all

I tried /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid at one point when the mouse was completely unresponsive, following advice here:

and, curiously, it brought back mouse movement but not clicking or scrolling.

Going to try disabling PS/2 mouse emulation now and see if that helps

Update: it seems that disabling PS/2 mouse emulation in BIOS fixed the problem.

Is this worth putting in the “known issues” sticky? My trackpad didn’t register clicks at all at first, and seeing that it could be fixed by pressing down hard on it in the sticky was very helpful!

5 Likes

I’ve had intermittent issues with the touchpad going wonky after I exit deep sleep. The cursor moves fast, and the alt-clicks and scroll don’t function. I found a few ancient Ubuntu threads (circa 2013) that do the following - and it fixes the touchpad issue.

sudo rmmod hid_multitouch
sudo modprobe hid_multitouch

Note this needs to be done every time the issue occurs (or have a script do it for you).

@Tim_Troxler Did you read the post above yours? Disable PS/2 emulation in the UEFI settings and the issue should go away.

Yup! Thanks for checking. I also read where the OP said it didn’t work for them, and several posts about an i2c module. In my experience its the hid_multitouch module that needs reloaded, not the i2c.

I’m still having this issue even after disabling PS/2 emulation.