Wake from Suspend?

395+ 128gb Bazzite OS. When my machine suspends; keyboard, mouse, and the power button don’t wake my machine up (unless I power off and then power back on, which will reboot).

Simple searches for suspend and Bazzite suggest bios features, none of which I seem to have (I have boot from USB, but not wake from USB).

Any ideas what I’m doing wrong? Or what I should do to get info before submitting a ticket?

I have a similar issue on Debian Forky. I noticed a few strange things related to suspend in dmesg:

$ sudo dmesg | grep suspend
[    0.301919] Low-power S0 idle used by default for system suspend
[    2.596359] nvme 0000:c1:00.0: platform quirk: setting simple suspend

This post seems to indicate that it could be an issue with the NVME drive:

[the sleep state] form which, your system seems to never come back up … Probably due to unsupported/unstable/misconfigured/buggy firmware/settings of an NVME storage device

This same post suggest to use the S3 sleep state instead but when checking which state is used by suspend I get the following:

$ cat /sys/power/mem_sleep 
[s2idle]

Which means the machine does not support S3 suspend state (should be [s2idle] deep otherwise).

This is unfortunate as I would like to be able to use suspend and I would also like to use S3 suspend instead of S0.

The machine wakes up correctly from S4 state though (systemd hibernate) so I guess I will use only that until this is fixed.
In my case I made sure to never use plain suspend by modifying the suspend command with sudo systemctl edit systemd-suspend and using this content in the override:

[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-sleep hibernate

WARNING: you should first make sure that hibernation works correctly in your case by running systemctl hibernate and then trying to reboot your system.

P.S. I created an issue on GitHub about this: FW Desktop: cannot resume from suspend · Issue #116 · FrameworkComputer/SoftwareFirmwareIssueTracker · GitHub

P.S.2 It seems it does not always happen. I tried to reproduce it but these times it worked correctly, maybe it only happens after some time in suspend state?

I agree. Suspend works for others,as far as I know. So then it’s down to what you might have different than others.
That would be the nvme storage device.
What make, model and firmware version is it?
Sometimes firmware upgrades to the nvme device can help.

Added my comments. Seems like it will only happen after awhile.

1 Like

Yes that’s what I also just noticed. I did try again waiting for 20mins and it triggered the bug again, while all the short suspend were working as expected. I will try one more time to suspend for 15mins this time to see if the bug can be reproduced faster

1 Like

I wonder if it could be a side effect of the VPE microcode update recently.

Try this kernel patch.

1 Like

I can’t get it to replicate. a̶̶̶n̶̶̶d̶̶̶ ̶̶̶I̶̶̶’̶̶̶m̶̶̶ ̶̶̶a̶̶̶s̶̶̶s̶̶̶u̶̶̶m̶̶̶i̶̶̶n̶̶̶g̶̶̶ ̶̶̶@̶̶̶n̶̶̶i̶̶̶c̶̶̶o̶̶̶l̶̶̶a̶̶̶s̶̶̶p̶̶̶ ̶̶̶c̶̶̶a̶̶̶n̶̶̶’̶̶̶t̶̶̶ ̶̶̶e̶̶̶i̶̶̶t̶̶̶h̶̶̶e̶̶̶r̶̶̶.̶̶̶ ̶I̶ ̶w̶i̶l̶l̶ ̶l̶e̶a̶v̶e̶ ̶t̶h̶e̶ ̶m̶a̶c̶h̶i̶n̶e̶ ̶o̶v̶e̶r̶n̶i̶g̶h̶t̶ ̶l̶o̶g̶g̶i̶n̶g̶ ̶t̶o̶ ̶s̶e̶e̶ ̶i̶f̶ ̶w̶e̶ ̶c̶a̶n̶ ̶d̶o̶ ̶s̶o̶m̶e̶t̶h̶i̶n̶g̶ ̶a̶b̶o̶u̶t̶ ̶t̶h̶i̶s̶.̶ ̶
̶
̶@̶n̶i̶c̶o̶l̶a̶s̶p̶ ̶w̶h̶a̶t̶ ̶d̶e̶v̶i̶c̶e̶s̶ ̶d̶o̶ ̶y̶o̶u̶ ̶h̶a̶v̶e̶ ̶c̶o̶n̶n̶e̶c̶t̶e̶d̶ ̶t̶o̶ ̶t̶h̶e̶ ̶m̶a̶c̶h̶i̶n̶e̶?̶

I didn’t see your edit to the github.

I’m testing it right now, will report in 20 minutes

Heyyy! It seems like it worked. I could get out of suspend after 20mins. Thank you @Mario_Limonciello !

I will keep testing this patch in case I was just lucky.

Okay, I have two NVME drives, drive 0 is a Samsung 990 PRO 4TB. It has a a couple of UEFI partitions and one big partition that I currently have Fedora installed in (I had a few other problems in Bazzite, and decided to try Fedora). The other NVME drive, drive 1, has a WD_BLACK SN7100 4TB. I am not sufficiently adept to understand what is being talked about wrt the VPE/DPMO kernel patch. Could someone explain to me what I would need to do to implement this? And as long as I’m asking about how to implement things, could someone tell me how to update firmware on an NVME drive? Sorry to be so needy, but I’m a recent immigrant to Linux from Windows, and while I think of myself as not completely computer illiterate, these are things I’m at a loss to figure out (I think I could google the NVME firmware stuff, but the kernel editing scares me. In the meantime, I’ve set my machine to not suspend for as long as possible, and powering off each time I’m going to be afk for more than 10 minutes.

@Mario_Limonciello it just happened again with the patched version so I guess it was a fluke that it worked last time and that it is not 100% reproducible by waiting 20mins in suspend state.

Regarding updating NVME drives.
Samsung and Western Digital have windows tools that do it.

As you now have Linux installed, this page on how to do firmware upgrades on WD devices might here:

It might be just one of the NVME drives that has problems with suspend. Can you try connecting one at a time, to see which might be the problem one.

But based on other threads, the SN7100 seems to have caused problems in the past, so maybe try updating that one first.

Unfortunately, it looks like the SN7100 4TB you have is a SANDISK product, and not a WD one, so might have a different method to update its firmware than on the link above.
The latest firmware for the SN7100 appears to be: 7615M0WD.fluf
So, see if you already have the latest firmware or not with:

cat /sys/class/nvme/nvme0/model
cat /sys/class/nvme/nvme0/firmware_rev
cat /sys/class/nvme/nvme1/model
cat /sys/class/nvme/nvme1/firmware_rev

Okay it was a bit of a long shot; it definitely fixes a runtime power consumption issue with the new microcode.

Ive been having this same problem, too. Quite frustrating, especially since I want to use my FD as a server

Update: Suspend seems to be working. The change (for me) seems to be simply partitioning and formatting the second SSD. That is I didn’t update the firmware yet. But wake from suspend seems to be working for me today, and that’s all that I did.

On a less important note, my SN7100 packaging doesn’t have “SANDISK” anywhere so if I need to update the bios on it I think I’ll be able to use those upgrades.

Samsung SSD 990 PRO 4TB
4B2QJXD7
WD_BLACK SN7100 4TB
7613H0WD

Anybody else still having this problem? I certainly am. Any recommendations on how to troubleshoot this? Im running Bazzite, which im still fairly new to. Its strange, because after the FD has stalled, when I ping the FD on its wireless adapter, it does not respond - even though its still prese t on the network. But the VM im running that has the 5gbps ethernet adapter passed through to it - the VM is still working fine and I can ping it no problem.

Do you perhaps only have problems suspending when the VM is running? Maybe it’s blocking suspend from completing.

The strange thing is that i have sleep/suspend disabled on Bazzite. Or at least I think I do

Yes, still having the issue, but I never suspend anymore because of this, I only hibernate. I would very much like if suspend was working though, so I can use my beloved suspend-then-hibernate feature.

I frequently use suspend on NixOS unstable with kernel 6.16. For unrelated reasons I never use hibernate, I have hibernate disabled with kernel arguments. The power button always works to resume, even after a few days. Keyboard/mouse resume is unreliable for me, it never works if I leave my desktop in suspend for a long time.