I've noticed that my new Asus U30FT was having problems suspending - it just got stuck on a blank screen.

Long story short, it turns out because newer versions of Ubuntu come with ehci_hcd builtin kernel, and there's a couple of things you need to add to disable all devices that uses ehci_hcd, and unload the xhci module.

#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
case "${1}" in
        hibernate|suspend)
               echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
               echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
        ;;
        resume|thaw)
              echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
              echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
        ;;
esac

#File: "/etc/pm/config.d/usb3-suspend-workaround".
SUSPEND_MODULES="xhci"

Source: http://ubuntuforums.org/showthread.php?t=1444822

On 16 May 2011

Comments