GPD Win Max 2 2023 - early wake from suspend
Brief summary of the problem:
My GPD Win Max 2 2023 (AMD Ryzen 7 7840U) wakes up early from suspend (s2idle).
I will leave my device overnight, unplugged, with the lid closed. In the morning I find that it's no longer in s2idle (evidenced by the solid blue light instead of slowly pulsing blue light). I also find that the battery has drained by roughly 10 or 15 percentage points.
I can repro fairly consistently using amd_s2idle.py
. It seems that the device usually wakes up after about eight and a half hours. I have yet to reach the full 10 hour duration I'm attempting.
Hardware description:
- amd_s2idle report: s2idle_report-2024-02-03.txt
The device is a GPD Win Max 2 2023 (AMD Ryzen 7 7840U), with 64GB RAM, 2TB NVME, a second 2TB NVME (in the M.2 2230 slot), WIFI, 4G LTE modem w/ SIM (but disabled / not in use). No external peripherals.
System information:
- Distro name and Version: Fedora 39
- Kernel version: Linux fedora 6.6.14-200.fc39.x86_64 #1 (closed) SMP PREEMPT_DYNAMIC Fri Jan 26 20:12:16 UTC 2024 x86_64 GNU/Linux
Note, I am currently using an rc.local script to disable three wake sources:
echo disabled > /sys/bus/i2c/devices/i2c-PNP0C50:00/power/wakeup
echo XHC0 > /proc/acpi/wakeup
echo XHC1 > /proc/acpi/wakeup
If i2c-PNP0C50:00
is enabled, then the device does not suspend properly. I have disabled XHC0
and XHC1
because I've observed them generating spurious wakeups in the past.
Here's the contents of /proc/acpi/wakeups
:
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP1 S4 *enabled pci:0000:00:01.2
GPP0 S4 *disabled
GPP6 S4 *enabled pci:0000:00:02.2
GPP7 S4 *enabled pci:0000:00:02.3
GP11 S4 *disabled
SWUS S4 *disabled
GP12 S4 *enabled pci:0000:00:04.1
SWUS S4 *disabled
XHC0 S4 *disabled pci:0000:65:00.3
XHC1 S4 *disabled pci:0000:65:00.4
XHC2 S3 *disabled pci:0000:67:00.0
XHC3 S3 *enabled pci:0000:67:00.3
XHC4 S3 *enabled pci:0000:67:00.4
NHI0 S4 *disabled
NHI1 S3 *enabled pci:0000:67:00.6
How to reproduce the issue:
- Charge laptop to near full and place on table, unplugged, no external peripherals connected.
- Close lid. Observe that the blue led begins to pulse slowly indicating the device has entered suspend.
- Walk away and wait 10 hours.
- Come back and see that the blue LED is solid. Open lid, see that battery has dropped by 10 or 15 percentage points.
Thanks for reading!