Advertisement
TwiNNeR

Ubuntu 12.04 LTS Suspend not working FIX

Nov 19th, 2015
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. Ubuntu 12.04 LTS Suspend not working FIX
  2.  
  3. sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd
  4.  
  5. --- od tuka
  6.  
  7. #!/bin/sh
  8. #inspired by http://art.ubuntuforums.org/showpost...0&postcount=19
  9. #...and http://thecodecentral.com/2011/01/18...ot-working-bug
  10. # tidied by tqzzaa :)
  11. VERSION=1.1
  12. DEV_LIST=/tmp/usb-dev-list
  13. DRIVERS_DIR=/sys/bus/pci/drivers
  14. DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
  15. HEX="[[:xdigit:]]"
  16. MAX_BIND_ATTEMPTS=2
  17. BIND_WAIT=0.1
  18. unbindDev() {
  19. echo -n > $DEV_LIST 2>/dev/null
  20. for driver in $DRIVERS; do
  21. DDIR=$DRIVERS_DIR/${driver}_hcd
  22. for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
  23. echo -n "$dev" > $DDIR/unbind
  24. echo "$driver $dev" >> $DEV_LIST
  25. done
  26. #for bus in $EHCI_BUSES; do
  27. echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
  28. # done
  29. done
  30. }
  31. bindDev() {
  32. if [ -s $DEV_LIST ]; then
  33. while read driver dev; do
  34. DDIR=$DRIVERS_DIR/${driver}_hcd
  35. #for bus in $EHCI_BUSES; do
  36. echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
  37. #done
  38. while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
  39. echo -n "$dev" > $DDIR/bind
  40. if [ ! -L "$DDIR/$dev" ]; then
  41. sleep $BIND_WAIT
  42. else
  43. break
  44. fi
  45. MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
  46. done
  47. done < $DEV_LIST
  48. fi
  49. rm $DEV_LIST 2>/dev/null
  50. chvt 1
  51. chvt 7
  52. }
  53. EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
  54. case "$1" in
  55. hibernate|suspend)
  56. unbindDev;;
  57. resume|thaw)
  58. bindDev;;
  59. esac
  60.  
  61. --- do tuka
  62.  
  63. sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
  64.  
  65. ctrl+alt+f1, ctrl+alt+f7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement