Trace: » remote_server_administration » rotating_logs » rtorrent » setting_the_time_without_tzconfig » setting_up_vps » setup_firefox_on_edgy_eft » unattended_upgrades » upgrade_ubuntu_distro » use_the_ubuntu_live_cd_to_reinstall_a_windows_master_boot_record_mbr » ubuntu_oneiric_on_the_asus_x52f
You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.
Ubuntu works pretty well on this machine with the exception of Suspend and Resume being broken.
These tutorials helped me sort that out:
http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug
http://askubuntu.com/questions/67280/wireless-doesnt-connect-after-suspend-on-an-asus-k52f
Firstly unbind/bind problematic drivers on suspend/resume
Create an executable file here:
/etc/pm/sleep.d/20_custom-ehci_hcd
Containing this:
#!/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
And then unload/load WiFi drivers on suspend/resume
Create an executable file here:
/etc/pm/sleep.d/00_wireless_sleep
And fill it with this:
#!/bin/sh case "$1" in suspend|hibernate) /sbin/rmmod ath9k ;; resume|thaw) /sbin/rmmod ath9k /sbin/modprobe ath9k ;; esac exit 0