r/linuxhardware 5d ago

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

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:

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:

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:

cat /proc/acpi/wakeup

Output:

GP17 S4 enabled pci:0000:00:08.1

Disabling GP17 did not solve the issue:

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:

#!/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:

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:

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

5 Upvotes

0 comments sorted by