web-dev-qa-db-fra.com

Le système entier se bloque après avoir appuyé sur "Suspend"

Je viens donc d'installer Ubuntu et j'adore ça. Je ne pense pas que cela va remplacer Windows 7 pour moi, et il y a quelques problèmes que je vais probablement régler en réglant le problème lorsque je vais comprendre comment utiliser WINE, mais c'est quand même génial.

Mon principal problème maintenant est que chaque fois que je mets Ubuntu en suspension, tout se fige. Le moniteur est toujours allumé, mais il n’est que noir et il n’ya aucune réaction aux boutons.

Bien que cela ne me dérange pas d'appuyer sur Arrêter, car Ubuntu se charge assez rapidement par rapport à Windows 7, cela peut être gênant et peu pratique.

Merci pour toute aide!

4
landon

OK après un peu de travail, j'ai modifié les scripts ci-dessus à partir des autres suggestions. Merci @wangdw! Voici le mauvais script suivant (n'oubliez pas de créer un fichier avec Sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd et de définir les autorisations de lecture à l'aide de Sudo chmod 755/etc/pm/sleep .d/20_custom-ehci_hcd):

 #!/bin/sh 
 #inspiré par http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
 # ... et http: //thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug 
 # rangé par 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 
 
 
 
 Pour le pilote dans $ DRIVERS; do 
 DDIR = $ DRIVERS_DIR/$ {driver} _hcd 
 pour dev dans `ls $ DDIR 2>/dev/null | egrep "^ $ HEX +: $ HEX +: $ HEX" `; do 
 echo -n "$ dev"> $ DDIR/unbind 
 echo "$ driver $ dev" >> $ DEV_LIST 
 terminé 
 
 # pour le bus dans $ EHCI_BUSES; do 
 echo -n $ bus> /sys/bus/pci/drivers/ehci_hcd/unbind
 # done 
 
 done 
 
} 
 
 bindDev () {
 if [-s $ DEV_LIST]; puis 
 en lecture pilote dev; do 
 DDIR = $ DRIVERS_DIR/$ {driver} _hcd 
 #pour le bus dans $ EHCI_BUSES; do 
 echo -n $ bus> /sys/bus/pci/drivers/ehci_hcd/bind
 #done 
 tant que [$ ((MAX_BIND_ATTEMPTS)) -gt 0]; do 
 echo -n "$ dev"> $ DDIR/bind 
 si [! -L "$ DDIR/$ dev"]; puis 
 sommeil $ BIND_WAIT 
 sinon 
 pause 
 fi 
 MAX_BIND_ATTEMPTS = $ ((MAX_BIND_ATTEMPTS-1)) 
 terminé 
 
 
 done /dev/null

 chvt 1 
 chvt 7 
} 
 
 
 
 EHCI_BUSES = "0000: 00: 1a.0 0000: 00: 1d.0" 
 Cas "$ 1" dans 
 Hibernate | suspend) 
 unbindDev ;; 
 
 resume | thaw) 
 bindDev ;; 
 
 esac 
3
Dragon

j'ai le même problème. essayez ceci: http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug fonctionne comme un charme pour moi ...

1
stalker67

J'ai eu le même problème. Il semble qu'Ubuntu tente de se suspendre, mais certains matériels ne veulent pas s'y conformer. Voici quelques réparations qui pourraient fonctionner:

1. open a terminal by holding ctrl+alt+t;
2. type: Sudo gedit /etc/pm/sleep.d/20_custom-suspend;
3. press Enter and authenticate;
4. put the following text into the created file; save it and exit. 
5. reboot and see if it works. 

Ce petit script vient de quelque part sur Internet mais je ne trouve pas la source ...

EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
case "${1}" in
    hibernate|suspend)
        # Switch USB buses off
        for bus in $EHCI_BUSES; do
            echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
        done
        ;;
    resume|thaw)
        # Switch USB buses back on
        for bus in $EHCI_BUSES; do
            echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
        done
        ;;
esac

S'il vous plaît essayez ceci et dites-moi vos résultats!

Si ce script ne fonctionne pas, vous pouvez en essayer un autre:

#!/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
1
Dawei

J'ai constaté que l'installation du package "Dell Firmware Addon" corrigeait le problème au cours du cycle de développement.

0
Aimless_E