I'm having issues suspending Ubuntu 11.04 (Natty Narwhal) on my new Asus U30SD-XA1 laptop. It's a new laptop on the market. Is this a known issue and is there a fix for it?

Basically, whenever I close or put the laptop to sleep, the screen goes black but the video card doesn't actually turn off, and then the fan spins even faster than before and gets hot.

I did see that some people were having similar issues on other laptops and they set the kernel back. I'm newish to Ubuntu, and I'm not super comfortable messing with the kernel.

I am not using the 520M Nvidia driver, because it won't load Unity after it's installed. I've also heard quite a few bad things about the drivers on the Ubuntu forums, so I deactivated the driver.

  • I should probably add that I am not using the 520m nvidia driver because it won't load unity after it's installed. I've also heard quite a few bad things about the drivers on the ubuntu forums, so I deactivated the driver.
    – b1kjsh
    Jul 16, 2011 at 18:47

4 Answers 4


This appears to be a common issue on many ASUS laptops. Try this:

Source: http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug

Run this in a terminal:

gksu gedit /etc/pm/sleep.d/20_custom-ehci_hcd 

Copy and Paste the contents of the following into the text editor:

#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug    
# tidied by tqzzaa :)

DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd

unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
  for driver in $DRIVERS; do
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST

bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
    done < $DEV_LIST
  rm $DEV_LIST 2>/dev/null

case "$1" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;

Save, then

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
  • 1
    Wow that worked. Thank you so much! :D Now I've just gotta find a fix for my volume buttons. Thanks @fossfreedom!
    – b1kjsh
    Jul 17, 2011 at 15:31
  • incredible, five years later this made it work for my asus rog gl552vw on archlinux 4.3.3
    – brauliobo
    Jan 27, 2016 at 19:53
  • Source link is dead
    – jkoop
    Aug 31, 2022 at 3:21

Just an additional data point:

I have an ASUS UL20FT, running Xubuntu 11.04. Suspend was working fine until recently. The Caps Lock LED would flash every time I tried to suspend. I'm told this was an indication of a kernel crash.

Tried the above script, but it didn't work for me. /var/log/pm-suspend.log didn't show any errors (except for the failures in networkmanager and wpa_supplicant, which were transient).

It turned out the culprit was the kernel modules loaded by Virtualbox-4.1.

I removed Virtualbox and everything worked again.


I have an asus U46E RAL-7 laptop. After adding nolapic on the GRUB_CMDLINE_LINUX_DEFAULT line, it works beautifully.

  • That worked also on my dell xps-15 . I also add this line that I read somewhere . GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_ips=0"
    – igx
    Sep 19, 2015 at 6:41
  • this made it work but completely broke the touchpad on my asus rog gl552vw using archlinux with kernel 4.3.3, so not an option :(
    – brauliobo
    Jan 27, 2016 at 19:49

Thank you fossfreedom! That script fixed suspend problems on my Asus 1225B. I'm still going to try it for 1215N and 1215B and report back here.

One small addition... I had the laptop (1225B) set to suspend when I closed the lid, which worked. But immediately after suspending, it would resume (with the lid still closed). It didn't do the same if I suspended some other way.

Here's how to fix suspending/waking up using the lid on an Asus 1225B:

  1. Enable the BIOS option to wake up on lid
  2. Disable the LID wakeup option in /proc/acpi/wakeup:
    • Use acpitool (see acpitool --help)

This is the only way I got it to work properly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .