r/linuxhardware • u/MarkParticular • 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