Absolutely nothing in journalctl, dmesg, etc 😭
I had this issue when I had my filesystem on an sdcard. Turns out they turn off after sleep and don’t wake back up automatically.
mines been staying awake and asking me to confirm when I open it back up.
X86 gonna x86.
Meanwhile every Windows 10 install I’ve ever had fails to go to sleep 90% of the time, and none of the powercfg commands reveal why.
Can’t go to sleep if its busy doing telemetry
Almost like sleep mode on x86 is impossible to do correctly. I’m not even sure Windows does better or worse than Linux on this one.
Best I’ve had is to disable modern standby and re enable s3 standby.
I have had some luck disabling Wake-On-LAN on the systems that don’t need it, or enabling higher sleep modes on the systems where that is available. My pet theory is that a lot of systems are constantly looking at what is active on the network and those pings are keeping the machine awake.
its not the system that handles wol, it doesn’t need to ping anything. even the net adapter doesn’t need to do that
I’m not sure what you are trying to say.
I wanted to say this is not how it works:
My pet theory is that a lot of systems are constantly looking at what is active on the network and those pings are keeping the machine awake.
or if you meant that, computers are normally not pingable when they are asleep. net adapters only wake the computer when seeing a magic packet with their mac address in it, and it is the operating system that receives the ping request and decides to send back a ping response.
an exception is when it is set up to wake on some network traffic pattern, but few net adapters support that mode of operation
https://wiki.archlinux.org/title/Wake-on-LAN#Enable_WoL_on_the_network_adapter
I was saying that my theory is that this functionality is broken or being bypassed on Windows such that when it gets hit by for instance the Network Discovery or “Do you have this update already downloaded?” ping from another Windows computer it wakes up to have a chat. I meant other systems are looking for active machines and those pings are waking it up or keeping it from going to sleep. I may have chosen a bad slang since ‘ping’ is a net command.
This theory is based on my understanding that computers don’t go all the way to sleep anymore and reenabling S3 restores normal sleeping. I included WoL because I have a machine that doesn’t have the S3 option but disabling WoL seemed to help on that one.
This theory is based on my understanding that computers don’t go all the way to sleep anymore and reenabling S3 restores normal sleeping.
yeah, now that you say that is probably most laptops in the last few years.
but I don’t think desktops do it.wrong, even my 4+ years old pc motherboard supports it according to /sys/power/mem_sleep
He’s saying they don’t call it a “magic packet” for nothing.
Right but my point was that doesn’t matter if your machine is in S3 or S4 instead of S1.
it’s almost like we peaked in the late 90s early 2000s.
Bruh I have the asus laptop with nvidia gpu and I never had single issue with sleep or wake up.
I’m almost certain it’s not hardware considering all three have NixOS and they all have the exact behaviour of shutting down immediately as soon as the LED lights up as if the power is abruptly removed (yay reproducible), but not knowing how I can fix this is really frustrating. There simply isn’t a good way to concisely describe the issue, so finding people with the same issue is really hard.
I hope you find a fix and if you please let me know
I hope you find a fix and if you please let me know
I will. So far, s2idle did work for me but it unfortunately is not the level of sleep I was looking for.
The easiest way to find something that could help is
journalctl -r --boot=-1
after rebooting your laptop. These options will display all of the entries in reverse chronological order, starting from when you powered the computer off. When you find something complaining about waking from suspend, just look up that entry in a search engine. This method helped me many times, mostly with amdgpu bugs in the kernel fucking with my system.Edit:
Absolutely nothing in journalctl, dmesg, etc 😭
Woops, didn’t read that.
dmesg
only keeps track of everything from the last boot, so unless you used SSH to remote into your laptop while it tried wake from suspend, you wouldn’t see anything anyways.journalctl
on its own vomits out a metric fuckton of entries, but it does persist across reboots. If you use my aforementioned options or something likejournalctl | grep suspend
, it might be easier to find somethingThat’s the issue. The journal just… stops the moment it enters suspend. I now even have an alias for that specific purpose. No one seems to have this issue online.
Jul 05 20:58:59 main systemd[1]: session-4.scope: Unit now frozen-by-parent. Jul 05 20:58:59 main systemd[1]: user-995.slice: Unit now frozen-by-parent. Jul 05 20:58:59 main systemd[1]: user.slice: Unit now frozen. Jul 05 20:58:59 main systemd[1]: user-1000.slice: Unit now frozen-by-parent. Jul 05 20:58:59 main systemd-sleep[82780]: Successfully froze unit 'user.slice'. Jul 05 20:58:59 main systemd-sleep[82780]: Performing sleep operation 'suspend'... Jul 05 20:58:59 main kernel: PM: suspend entry (deep) (END)
I appreciate your help though. Someday, I’ll get it fixed.
Based on the information given in logs + the rest of the thread thus far, I’d assume the problem either lies in a kernel bug or the laptops’ firmware, BIOS. The logs claim the system successfully going into S3 (deep) sleep. It’s possible for the affected laptops to have broken S3 suspend behavior.
A few things that might be worth checking include seeing if other sleep modes (s2idle) are available and testing them, checking for BIOS updates, and checking for Linux/generic suspend options within the BIOS.
Just did it and s2idle works! Thank you.
Didn’t a lot of laptops completely remove S3 sleep in favor of S0 sleep
Some modern laptops have completely removed support for S3 sleep, as well as some still include it but clearly never tested it. I have seen multiple OEMs that have S3 sleep “available” but with the Windows installation utilizing S0 by default. If such OEMs are lazy (which a lot of them are), they just won’t bother to properly test the functionality as long as the default OS configuration they ship works. Same kind of deal now with how many OEMs (mostly used to) ship non-standard ACPI implementations that required extra drivers in Windows to function (or would just not work correctly under Linux).
The other commenter gave useful information, but I would implore that you try to change your suspend mode from “deep” to “s2idle”. Deep (S3) sleep, alongside S4 sleep, are unfortunately not very well supported by manufacturers, at least from what I’ve heard.
Specifically what is the behavior you’re seeing? I can’t guess exactly from the meme.
Have you tried using nix-hardware repo? They have some device specific configs that apply.
If you are, have you tried doing it “raw” in the configs instead?
Also if you are using an AMD CPU, smokeless UMAF has more BIOS options, and you can try enabling/disabling modern standby as well as a LOT of other power options.
I’ll try that. Thank you!
I am facing similar issues on an old laptop running debian. Sometimes work and sometimes doesn’t but my guess is the kernel update but I don’t use it enough to try and fix it. Try downgrading kernel, may help your case. It does run pretty well for a 10 yr old laptop without ssd so no complaints there.
My Asus ROG laptop does the same thing. 4080 laptop gpu Ryzen processor. Mine also if it darkens the screen and locks when I come back my external monitors resolution is wrong and requires me to fully unplug it from my laptop and plug it back in to get it correct again. Same when my laptop starts from full power off. I’ve also just kind of given up on these issues and have resulted to work around lol
Odd how this affects laptops. My desktop works perfectly with suspend, far better than It ever did with windows.
Desktops don’t normally have S0 suspend. Laptops have all switched over to that and it’s a pain in the ass.
I have same on Asus laptop ,and pressing many times suspend until it will go sleep
Do you have a swap partition mounted?
Suspend doesn’t save state to disk, it saves state to RAM. So you don’t need swap to be able to suspend.
systemd, the solution for all Linux issues.
Or so they said…
I’d guess that it’s most likely not systemd itself causing the problem, but rather something kernel- or hardware-side.