Fwd: DELL0A78:00 27C6:0D42 Touchpad (gestures) doesn't work properly after resuming from suspend.

From: Bagas Sanjaya
Date: Fri Aug 04 2023 - 08:59:27 EST


Hi,

I notice a bug report on Bugzilla [1]. Quoting from it:

> Description:
> ------------
> The touchpad doesn't function normally after resuming from suspend. Touch works most of the time so does the hardware click buttons. The things which don't work are touchpad multitouch gestures (2 fingers and 3 fingers) and cursor movement is also somewhat laggy.
>
> Workaround:
> -----------
> removing the module i2c_hid_acpi just before suspend and adding it after resume seems to solve the problem.
>
> Script: (output of `cat /usr/lib/systemd/system-sleep/make-touchpad-work.sleep`)
> -----------------------------------------------------------------------------
>
> #!/bin/sh
>
> case $1/$2 in
> pre/*)
> echo "Going to $2..."
> # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
> echo "Removing i2c_hid_acpi module before suspend."
> modprobe -r i2c_hid_acpi
> ;;
> post/*)
> echo "Waking up from $2..."
> # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
> sleep 2
> echo "Adding i2c_hid_acpi module after suspend (before resuming)."
> modprobe i2c_hid_acpi
> ;;
> esac
> -----------------------------------------------------------------------------
>
> When was it discovered?
> -------------------------
> I had prior hardware issues with the touchpad so I didn't notice
> it for a very long time, each time such an issue appeared I thought it was a hardware issue. But the issue is still there even after fixing the hardware (loose ribbon cable). Before the hardware issue, there was an issue with resuming from suspend on my laptop (because of laptop begin particularly new AMD variant). So, if I remember correctly, the touchpad worked fine for particular duration between suspend issue being fixed and hardware issue appearing.
>
> GNU/Linux version:
> ------------------
> Linux localhost.localdomain 6.5.0-rc4-1-default+
> #1 SMP PREEMPT_DYNAMIC Thu Aug 3 20:15:04 +0545 2023 x86_64 x86_64 x86_64 GNU/Linux
>
> Touchpad information:
> ------------------------
> PS/2 00.0: 10500 PS/2 Mouse
> [Created at input.249]
> Unique ID: AH6Q.rKa1+aijZtE
> Hardware Class: mouse
> Model: "DELL0A78:00 27C6:0D42 Touchpad"
> Vendor: 0x27c6
> Device: 0x0d42 "DELL0A78:00 27C6:0D42 Touchpad"
> Compatible to: int 0x0210 0x0001
> Device File: /dev/input/mice (/dev/input/mouse2)
> Device Files: /dev/input/mice, /dev/input/mouse2, /dev/input/event3, /dev/input/by-path/platform-AMDI0010:03-event-mouse, /dev/input/by-path/platform-AMDI0010:03-mouse
> Device Number: char 13:63 (char 13:34)
> Driver Info #0:
> Buttons: 1
> Wheels: 0
> XFree86 Protocol: explorerps/2
> GPM Protocol: exps2
> Config Status: cfg=no, avail=yes, need=no, active=unknown
>
>
> Prior to testing on mainline kernel, it was tested on opensuse tumbleweed and reported here: https://bugzilla.suse.com/show_bug.cgi?id=1212779

See Bugzilla for the full thread.

FYI, I forward the BZ report because it was assigned to generic `Kernel`
component instead, which missed linux-input list. I also add the reporter's
address to To: list so that you can reach him without having to go to
Bugzilla.

Thanks.

[1]: https://bugzilla.kernel.org/show_bug.cgi?id=217761

--
An old man doll... just what I always wanted! - Clara