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

652 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.

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="">