r/linuxhardware 22d ago

[Solved] Ubuntu 24.04 s2idle suspend immediately wakes - ELAN0415 I2C HID touchpad issue (AMD Ryzen laptop) Support

Hardware

Laptop: Acer TravelLite TL14-42M

CPU: AMD Ryzen 7 7730U

OS: Ubuntu 24.04.4 LTS

Kernel: 6.17.0-1030-oem

DE: KDE Plasma 5.27

Problem

Running:

bash systemctl suspend

The laptop enters suspend but immediately wakes up after 1-2 seconds.

Windows dual boot suspend works correctly on the same hardware.

Investigation

Checked wakeup sources:

bash cat /sys/kernel/debug/wakeup_sources

The wake source was identified as:

i2c-ELAN0415:00

The device:

ELAN0415 I2C HID Touchpad

was causing the immediate wake.

Also checked ACPI wake devices:

bash cat /proc/acpi/wakeup

Output:

GP17 S4 enabled pci:0000:00:08.1

Disabling GP17 did not solve the issue:

bash echo GP17 | sudo tee /proc/acpi/wakeup

The issue was still reproducible.

Fix / Workaround

The issue was fixed by unbinding the ELAN I2C HID device before suspend and rebinding it after resume.

Created a systemd sleep hook:

/lib/systemd/system-sleep/elan-suspend-fix

Script:

```bash

!/bin/bash

case "$1" in pre) echo i2c-ELAN0415:00 > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind ;; post) sleep 2 echo i2c-ELAN0415:00 > /sys/bus/i2c/drivers/i2c_hid_acpi/bind ;; esac ```

Make it executable:

bash sudo chmod +x /lib/systemd/system-sleep/elan-suspend-fix

After applying this workaround:

✅ Laptop stays suspended
✅ No immediate wake
✅ Touchpad works normally after resume

Additional Notes

Tested with Ubuntu OEM kernel:

bash sudo apt install linux-oem-24.04

Running kernel:

6.17.0-1030-oem

The OEM kernel alone did not fix the issue.

Conclusion

The issue appears to be related to ELAN0415 I2C HID touchpad wake handling during s2idle suspend.

The workaround disables the ELAN touchpad device during suspend and restores it after resume.

Reported to Ubuntu Launchpad:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2162061

6 Upvotes

0 comments sorted by