I have an Asus G73SW-XT1 laptop. I installed from the Sabayon 7 (64bit) DVD and have never been able to Suspend or Hibernate. I have fully upgraded to Sabayon 9 including the 3.4 kernel as I've had this system for a while now.
I chose Gnome during installation and have also since installed KDE. Suspend/hibernate fails with both and the behavior is the same--the computer attempts to suspend or hibernate, the screen powers off as it should, but the power light and buttons (on top left of keyboard) remain lit and the fans still run. Eventually the battery will run out of power. The system will resume normally from hibernate after either the battery runs out or I hold the power button down untill the lights go out.
I would greatly appreciate anyone who can offer me assistance. I usually try to fix problems myself by trial and error but I'd like to make sure I get it right this time.
I seem to have some errors showing in dmesg:
- Code: Select all
localhost rdixon # dmesg | grep -i error
[ 5.211564] EXT2-fs (dm-0): error: couldn't mount because of unsupported optional features (240)
[ 5.221821] EXT3-fs (dm-0): error: couldn't mount because of unsupported optional features (240)
[ 7.651907] Error: Driver 'pcspkr' is already registered, aborting...
And,
localhost rdixon # dmesg | grep -i warning
[ 5.202966] UDF-fs: warning (device dm-0): udf_fill_super: No partition found (1)
[ 6.773514] ACPI Warning: _BQC returned an invalid level (20120320/video-472)
[ 6.775163] ACPI Warning: _BQC returned an invalid level (20120320/video-472)
[ 6.797929] ACPI Warning: 0x000000000000e000-0x000000000000e01f SystemIO conflicts with Region \SMB0 1 (20120320/utaddress-251)
[ 6.797940] ACPI Warning: 0x000000000000e000-0x000000000000e01f SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 2 (20120320/utaddress-251)
localhost rdixon #
The output of dmesg in its entirety (in case it's relevant) can be found at http://pastebin.com/Dv8iZNU8.
Thanks in advance to anyone who can help me,
rusty
+++++++++++++++++Solution++++++++++++++++++++++
I found a script on Code Central that solved the problem for me. Now both my Suspend and Hibernate work as expected. I haven't rechecked my log files for errors yet, but both functions seem to work consistently well.
The post, http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug, says to create the following script as /etc/pm/sleep.d/20_custom-ehci_hcd.
- Code: Select all
#!/bin/sh
#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 :)
VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1
unbindDev() {
echo -n > $DEV_LIST 2>/dev/null
for driver in $DRIVERS; do
DDIR=$DRIVERS_DIR/${driver}_hcd
for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
echo -n "$dev" > $DDIR/unbind
echo "$driver $dev" >> $DEV_LIST
done
done
}
bindDev() {
if [ -s $DEV_LIST ]; then
while read driver dev; do
DDIR=$DRIVERS_DIR/${driver}_hcd
while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
echo -n "$dev" > $DDIR/bind
if [ ! -L "$DDIR/$dev" ]; then
sleep $BIND_WAIT
else
break
fi
MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
done
done < $DEV_LIST
fi
rm $DEV_LIST 2>/dev/null
}
case "$1" in
hibernate|suspend) unbindDev;;
resume|thaw) bindDev;;
esac
There is a Step 2 and a Step 2-old (two separate scripts) listed; this is the Step 2 script that I have used. The post suggests it as being more stable.
After creating the script you must make it executable (as root):
- Code: Select all
chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
I then logged out and back in before testing suspend and hibernate. Both worked fine after that.
I hope this helps anyone else, and please feel free to comment if there is a better way or any tweaking that may improve this.
Thanks,
Rusty
