I have a Thinkpad L520 which had this problem in 12.10. I have also had this problem on an Asus machine a while back. I tried the solution I found for the Asus on my Thinkpad and it worked. This is what I did:
Create a file /etc/pm/sleep.d/20_custom_ehci_hcd containing:
#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
case "${1}" in
hibernate|suspend)
# Unbind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
# Unbind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
;;
resume|thaw)
# Bind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
# Bind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
;;
esac
Set it 755 and owned by root. Now the display returns after sleep without problems.
I have a Thinkpad L520 which had this problem in 12.10. I have also had this problem on an Asus machine a while back. I tried the solution I found for the Asus on my Thinkpad and it worked. This is what I did:
Create a file /etc/pm/ sleep.d/ 20_custom_ ehci_hcd containing:
#!/bin/sh sleep.d/ 20_custom- ehci_hcd" . pci/drivers/ ehci_hcd/ unbind pci/drivers/ ehci_hcd/ unbind pci/drivers/ ehci_hcd/ bind pci/drivers/ ehci_hcd/ bind
# File: "/etc/pm/
case "${1}" in
hibernate|suspend)
# Unbind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/
# Unbind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/
;;
resume|thaw)
# Bind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/
# Bind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/
;;
esac
Set it 755 and owned by root. Now the display returns after sleep without problems.