Unable to wake from suspend

Today I opened my Framework laptop running FC35 and found the power button light slowly flashing. I assume it was suspended (s2idle I’d reckon because that’s what it is configured to do, by default), but normally the machine wakes upon opening the lid, so I normally do not see this.

I was expecting that simply pressing the power button would wake it now that the lid hadn’t done that, but no such luck. I tried different combinations of closing and opening with/without power plugged in. I ended up holding the power button pressed to do a hard power-down and restart it from there.

Is there a button (combination) one can press to trigger wake-up if the lid doesn’t? Is it possible to configure something like that?

I did do something unusual to suspend it:

  • I first closed the lid with an external USB-C monitor plugged in. That made the internal display turn off and make the external monitor the primary display, and not suspend the system
  • I then opened the lid and everything moved back to its dual-display configuration
  • I unplugged the monitor
  • shut the lid and made sure the internal screen did not glow any more
  • I then plugged the monitor back in, so that it could supply power to the suspended computer. Indeed, by plugging it in after the computer had suspended, I did not trigger it to wake up.
  • I then opened the lid with the monitor stillplugged in.

So, perhaps that’s just a sequence of events I should not repeat (although it would be convenient to be able to use the USB-C PD as a charger on a suspended laptop), but in any case, I think it should be possible to wake a suspended laptop regardless. Any insights?

1 Like

Agreed it should definitely be possible to wake from suspend. Could you confirm if those steps are repeatable? Is it unable to wake from suspend if you follow those same steps again?

1 Like

Sadly (fortunately?) I have not been able to replicate it. In fact, I have been able to confirm that usually the power button does work as a suspend button! Indeed, with the monitor attached, I can just press the power button to suspend the system and press it again to wake it up (this somehow didn’t work properly on my Dell XPS-13, so I got used to this strange unplug/close/plug routine – time to unlearn that one now that I have sane technology!)

I have also confirmed that pressing the “User/moon” button on my super-old logitech RT7R05 suspends the system and then pressing the power button wakes it too! So the power button does work to wake also when the suspend was not triggered by itself.

I have tried several combinations of trying to put it to sleep by closing the cover, plugging the Dell 2421HE in/out before opening the lid and apart from that one experience, it seems to work fine.

I think that at least confirms that everything is configured correctly, but that there is perhaps some rare confluence of events (I guess cosmic rays aren’t even ruled out for a one-off) that can turn the sleep into a persistent vegetative state. Without a way to reproduce it (at least with some confidence) this is impossible to debug, of course.

The only factors I haven’t replicated are the wake/sleep history prior to suspend and the duration of suspend prior to attempted wake-up: it was suspended for several hours when the original incident occurred.

1 Like

I have the exact same problem. For me it happens several times a week but its random and I haven’t been able to reproduce it.

1 Like

I have the same issue from time to time.

Got a eGPU recently, since then it feels like it became more often.

I will test with new kernel (6.2.2 instead of 6.1.15) and try a few settings related to my AMD eGPU.

cat /proc/acpi/wakeup | grep enabled
PEG0      S4    *enabled   pci:0000:00:06.0
XHCI      S4    *enabled   pci:0000:00:14.0
RP09      S4    *enabled   pci:0000:00:1d.0
TXHC      S4    *enabled   pci:0000:00:0d.0
TDM0      S4    *enabled   pci:0000:00:0d.2
TDM1      S4    *enabled   pci:0000:00:0d.3
TRP0      S4    *enabled   pci:0000:00:07.0
TRP1      S4    *enabled   pci:0000:00:07.1
TRP2      S4    *enabled   pci:0000:00:07.2
TRP3      S4    *enabled   pci:0000:00:07.3
PWRB      S4    *enabled   platform:PNP0C0C:00

These are basically my PCIE and USB ports (plus the power button):

$ cat /proc/acpi/wakeup | awk '$3 ~ /enabled/ && $4 ~ /pci/ { split($4,a,":"); print a[3]":"a[4]; }' | xargs -L1 lspci -s
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:1d.0 PCI bridge: Intel Corporation Device 51b0 (rev 01)
00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02)
00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02)
00:0d.3 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #1 (rev 02)
00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)
00:07.1 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #1 (rev 02)
00:07.2 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 02)
00:07.3 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #3 (rev 02)

The system log shows nothing, it doesn’t even recognize any external events. So I am afraid that this is a firmware issue.

@Matt_Hartley ping!

1 Like