Fix Ubuntu (or Linux) Suspend/Hibernate Not Working Bug

I own an Asus N73JQ laptop, the spec is top notch. Since Windows has been long gone from my candidate OS, I installed Ubuntu 10.10 right away. So far the result is quite amazing. Smooth, reliable, and it feels just right. Although the OS itself is very impressive, I have 2 major issues with the hardware: (1) Function key that switches to external monitor does not work; (an update on the external monitor issue can be found here) (2) Suspend/Hibernate does not work. I have not found a solution for (1), which remains unsolved. I have, however, found a solution for (2). I am going to share this share this solution with those who having the same problem.

By googling around, I found this post. It seems that it will also work for other laptops that have similiar problem in Ubuntu 10.10. The credit belongs to the original poster and all others who contributed to that solution. Though I have thoroughly tested the script and it works for me, I do not guarantee it will work for you. So use it at your risk.

Step 1

Create a script under /etc/pm/sleep.d/. It can be any name, but to ensure the load order, use the prefix 20_.

Follow either Step 2 or Step 2 Old, but not both. The script in Step 2 appears to be more stable than the one in Step 2 Old.

Step 2

Note that if you use the code from "Step 2 Old" below, please skip this step. This script is contributed by commenter Danne.

Insert the following code into the file you have just created:

Step 2 Old

Note that if you use the code from "Step 2" above, please skip this step.

Insert the following code into the file you have just created:

Step 3

Add executable permission:

Result

Your suspend/hibernate should be now working as expected. Suggestions on improving this script are welcome.

Other Thoughts

If this script has worked for you, please post the make/model, Ubuntu distribution, related hardware information of your laptop below.

Updated 2012/03/02

Making sure you have enough space for your swap partition, otherwise hibernate will not work. I have recently upgraded my RAM. In my case, I have 12GB of RAM, but only 6GB of swap space. After the upgrade, hibernation stop working. However, after following this guide (see "Making the swap partition work for hibernate" section), hibernation becomes functional again.

I create a 30GB swap partition, and instruct Ubuntu to use this partition. Hibernation works like a charm again. To verify your system is using the swap, do

Or

Update 2011/11/10

If this has been working for you, but stop working after upgrading to Ubuntu 11.10, you may try this method:
http://turbulentsky.com/resume-from-hibernate-failed-on-ubuntu.html

Other Tips:
This might give you some clues on the suspend/hibernate issue:

Related Posts

Switch to External Monitor Connected via HDMI/VGA port in Ubuntu
Ubuntu 11.10 Look Overhaul

668 Comments Fix Ubuntu (or Linux) Suspend/Hibernate Not Working Bug

  1. manfaat binahong

    What you wrote made a bunch of sense. But, what about this?
    suppose you added a little information? I mean,
    I don't want to tell you how to run your blog, but what if you added something to maybe get folk's attention? I
    mean Fix Ubuntu (or Linux) Suspend/Hibernate Not Working Bug
    | Code Central is kinda plain. You should look at Yahoo's front page
    and see how they create news headlines to get viewers interested.
    You might add a video or a pic or two to grab people
    interested about everything've got to say. In my opinion, it could
    make your blog a little livelier.

  2. buko

    Good job!

    Script is grate for Fedora 19 ×86_64.
    Now suspend to RAM is working fine.
    Lenovo Ideapad Y550 (with nvidia drivers)

  3. zebulon

    I'm on Debian 8 (Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64 GNU/Linux).

    This script cannot solve this suspend/hibernate problem (on my Debian 8, neither suspend nor hibernate awake corectly) because I have not the driver paths given in your script(s) :

    $ ls /sys/bus/pci/drivers
    agpgart-intel
    agpgart-sis
    agpgart-via
    ahci
    ata_generic
    ata_piix
    ehci-pci
    firewire_ohci
    i7core_edac
    i801_smbus
    ioapic
    lpc_ich
    nouveau
    parport_pc
    pata_jmicron
    pcieport
    r8169
    sata_via
    serial
    shpchp
    snd_hda_intel
    xen-platform-pci

    So, how to adapt the script(s) for a Debian 8 ?

    Best regards.

  4. zebulon

    I think I should added these :

    [Desktop-PC / Debian 8 "Jessie"]

    Motherboard : ASRock P55-Pro
    CPU : I5-750
    RAM : 4 GB
    Vidéo : NVIDIA GTS-250 (1 GB Video RAM)

    + a few hard disks (PATA & SATA)

  5. Matthew

    Thanks for the script - got my Linux Mint 17.1 hibernation working again after a package update broke it. Thanks!

  6. Alejandro

    It works like a charm on a fresh install, Ubuntu 14.04. My macine is a Dell Inspiron 5737.

    Thanks a lot!

  7. Pingback: Thinkpad does not wake from sleep - 14.04 - TecHub

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">