Hi all, I’ve been debugging this very odd issue for the last few months. I would be very grateful for some advice or to see if anyone else is running into this.
My previous post was here in the general hibernation issues thread. My issue is still as described there:
I have suspend-then-hibernate configured, and whenever I close the lid I come back to an empty battery after suspending the system and then walking away. The system suspends properly, but seems to lock up after waking and then attempting to hibernate. If I open the lid before the battery runs dry, the system is unresponsive and the screen is black, but the keyboard backlight is on, and the power LED is on.
Configs and specs are at the bottom of this post.
What troubleshooting I’ve done:
- Ran amd_s2idle.py and confirmed it’s not a suspend issue. All green, and I can suspend with no issues.
- Ran the hibernate stress test from the previous thread. No issues.
- Narrowed the hibernation issue down to the “devices” stage of the “shutdown” hibernation method by following Debugging hibernation and suspend and only testing after manually suspending and resuming the system myself.
Yesterday, I attempted to use pm_trace
to determine what’s locking the system up upon hibernation via DebuggingKernelSuspend - Ubuntu Wiki :
# echo 1 > /sys/power/pm_trace
And then shutting the lid, and waiting HibernateDelaySec
for the system to come back from suspend, and then attempt to hibernate.
That resulted in the below:
[ 0.548190] PM: Magic number: 0:602:372
[ 0.548301] PM: hash matches drivers/base/power/main.c:1591
[ 0.548459] pci 0000:02:00.0: hash matches
Where 0000:02:00.0
appears to be the SSD:
$ lspci -vvv | grep 02:00.0
02:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850X NVMe SSD (rev 01) (prog-if 02 [NVM Express])
So I am at a loss - I’ve updated the firmware using the method used by GitHub - not-a-feature/wd_fw_update: Updates the firmware of Western Digital SSDs on Ubuntu / Linux Mint., but the issue persists despite this. There are no useful errors in dmesg
anywhere.
And so, I ask - is anyone else suffering from this? I am tempted to try a different SSD, but as this is the one that came with the system, and I don’t have any spares lying around, I wanted to post here. I could also be convinced that something else is wrong.
Thanks for taking the time to look at this post.
Framework Laptop: AMD 13in w/ 7840U & 780M, 1TB SN850X HDD, 32GB RAM
OS: Arch Linux
Kernel: 6.9.3-273
/etc/systemd/sleep.conf
:
[Sleep]
AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=yes
HibernateMode=shutdown
HibernateDelaySec=30 #for testing, normally 3600
/etc/systemd/logind.conf
:
[Login]
HandlePowerKey=ignore
HandlePowerKeyLongPress=poweroff
HandleLidSwitch=suspend-then-hibernate
The drive is encrypted, and kernel parameters are set correctly – the device will hibernate and restore successfully if I do not suspend beforehand, so I am sure this works. I can post kernel params and the output of amd_s2idle as well, but when I try to post them I get a 403 (perhaps a false positive on some anti-spam or exploit filter?).