Monday, May 6, 2013

Disable auto-awake after suspend/hibernate under Linux ubuntu 12.04.2

I suffered a crazy problem in my Ubuntu that did not let my PC to hibernate or suspend. It seemed like the keyboard or the mouse had a hardware problem and after a suspend/hibernate gave mysteriously a command to to resume!

For long time I believed it was a hardware or BIOS setup issue... Please find below a workaround that solves the problem...

Why does my laptop resume immediately after suspend?
Suspend to RAM not working
HOW-TO:Enable Wake-On-Device for Ubuntu

According to these posts you may download (apt-get install) acpitool. After that you may issue the command "acpitool -w" to display status of your devices and "acpitool -W x" to toggle status to disabled. Below you can see my initial configuration and the changed one...


root@rodos:/home/konstantinos# acpitool -w
   Device S-state  Status   Sysfs node
  ---------------------------------------
  1. HUB0  S5 *disabled  pci:0000:00:0a.0
  2. XVR0  S5 *disabled  pci:0000:00:0b.0
  3. XVR1  S5 *disabled  pci:0000:00:0c.0
  4. XVR2  S5 *disabled  pci:0000:00:0d.0
  5. UAR1  S5 *disabled  pnp:00:09
  6. USB0  S4 *enabled   pci:0000:00:04.0
  7. USB2  S4 *enabled   pci:0000:00:04.1
  8. AZAD  S5 *disabled  pci:0000:00:09.0
  9. MMAC  S5 *disabled  pci:0000:00:0f.0

root@rodos:/home/konstantinos# acpitool -W 6
  Changed status for wakeup device #6 (USB0)

   Device S-state  Status   Sysfs node
  ---------------------------------------
  1. HUB0  S5 *disabled  pci:0000:00:0a.0
  2. XVR0  S5 *disabled  pci:0000:00:0b.0
  3. XVR1  S5 *disabled  pci:0000:00:0c.0
  4. XVR2  S5 *disabled  pci:0000:00:0d.0
  5. UAR1  S5 *disabled  pnp:00:09
  6. USB0  S4 *disabled  pci:0000:00:04.0
  7. USB2  S4 *enabled   pci:0000:00:04.1
  8. AZAD  S5 *disabled  pci:0000:00:09.0
  9. MMAC  S5 *disabled  pci:0000:00:0f.0

root@rodos:/home/konstantinos# acpitool -W 7
  Changed status for wakeup device #7 (USB2)

   Device S-state  Status   Sysfs node
  ---------------------------------------
  1. HUB0  S5 *disabled  pci:0000:00:0a.0
  2. XVR0  S5 *disabled  pci:0000:00:0b.0
  3. XVR1  S5 *disabled  pci:0000:00:0c.0
  4. XVR2  S5 *disabled  pci:0000:00:0d.0
  5. UAR1  S5 *disabled  pnp:00:09
  6. USB0  S4 *disabled  pci:0000:00:04.0
  7. USB2  S4 *disabled  pci:0000:00:04.1
  8. AZAD  S5 *disabled  pci:0000:00:09.0
  9. MMAC  S5 *disabled  pci:0000:00:0f.0

root@rodos:/home/konstantinos# acpitool -w
   Device S-state  Status   Sysfs node
  ---------------------------------------
  1. HUB0  S5 *disabled  pci:0000:00:0a.0
  2. XVR0  S5 *disabled  pci:0000:00:0b.0
  3. XVR1  S5 *disabled  pci:0000:00:0c.0
  4. XVR2  S5 *disabled  pci:0000:00:0d.0
  5. UAR1  S5 *disabled  pnp:00:09
  6. USB0  S4 *disabled  pci:0000:00:04.0
  7. USB2  S4 *disabled  pci:0000:00:04.1
  8. AZAD  S5 *disabled  pci:0000:00:09.0
  9. MMAC  S5 *disabled  pci:0000:00:0f.0

For a permanent solution you have to "sudo gedit /etc/rc.local":


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Added by kmav

echo USB0 | sudo tee /proc/acpi/wakeup
echo USB2 | sudo tee /proc/acpi/wakeup

exit 0

All the above must be persived as a workaround: /proc/acpi/wakeup contains the list of devices that are enabled or disabled to wakeup the computer after a successful suspend (as explained in HOW-TO:Enable Wake-On-Device for Ubuntu) ... So, you (... I) cannot use anymore the keyboard or the mouse to resume power to your (my) system.

No comments:

Post a Comment