I have this old low-end desktop PC that I installed Debian on. This machine only supports wake on LAN on the S4 state, which is hibernate (suspend to disk?). When this machine had Windows I just hibernated it and WOL functioned correctly.

I have tried a handful of commands but they don't work, back when it had Windows if I hibernated it the machine would turn off completely, no LED power light or fans running, but when trying to hibernate it in Linux the machine goes unresponsive and goes on what seems to be a low-power consumption state, the power LED as well as internal fans are all still on and WOL still doesn't work. How do I go on about hibernating it completely like in Windows? I do not have a GUI installed.

3 Answers 3


I have gotten this from another blog and it works for me. This can work even without sudo as long as you have not modified your PAM configuration.

systemctl hibernate -i

Please take note systemctl --help for further options.

  1. install pm-utils using apt-get install pm-utils
  2. run pm-hibernate
  • See also pm-suspend and pm-suspend-hybrid.
    – RobertL
    Nov 10, 2015 at 6:39
  • 1
    Not working. :( With pm-suspend the machine goes into sleep -- turns off but the power LED blinks until turned on again, and with pm-hibernate and pm-hybrid-sleep the machine goes into the state I previously mentioned. Unresponsive but still on. Fans, LEDs and everything.
    – JSolis
    Nov 10, 2015 at 15:49

All these commands are run as root user I think, not sure about the systemctl ones, haven't tested them as regular user.

echo disk > /sys/power/state


Note in particular this:

# echo reboot > /sys/power/disk
# echo disk > /sys/power/state

which is how they recommend debugging hibernate issues. what happens after the second command is in theory, the system hibernates to disk, then reboots, and if it all works, your mobo and the kernel and everything are working together nicely. If it fails, less lucky.

Nothing to install, just run the command. I never use that method, but that's apparently roughly what systemd/systemctl itself uses.

For example, from what I understand:

systemctl suspend

simply issues:

echo mem > /sys/power/state


systemctl hibernate


echo disk > /sys/power/state

I was working on a suspend bug, and some other issues on a few machines and to review this stuff so it's still fresh in my head.

  • Unfortunately this isn't working, the machine goes unresponsive but still on. Fans, LEDs and everything. What could be the problem? driver issue? maybe my swap partition is not large enough?
    – JSolis
    Nov 10, 2015 at 15:58
  • The swap needs to be as large as the ram, more or less. ie, 4gB ram, 4gB swap. But if it's an older machine, it might simply not work. I have an older machine that no longer works with current Debian, it used to work, sort of, after systemd, and before systemd and newer kernels, it worked perfectly. Your symptoms suggest you may be out of luck however, that's the purpose of those tests, to see if it works. As well as answering the initial question. Windows tends to get proprietary code from vendors, or have non free drivers, that linux doesn't have.
    – Lizardx
    Nov 10, 2015 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.