web-dev-qa-db-fra.com

Comment puis-je empêcher le réveil immédiat de la suspension et / ou de l'hibernation?

Depuis quelques jours, mon ordinateur de bureau Ubuntu 12.04 s’est mystérieusement réveillé juste après le passage en mode suspension.

Depuis l’installation, mon ordinateur portable Ubuntu 12.10 a également repris immédiatement après une suspension et une mise en veille prolongée.

Comment les prévenir?

35
Bazon

Ce problème était probablement dû à d'étranges signaux USB. gedit /proc/acpi/wakeup m'a montré que le réveil était activé pour USB0 et USB2.

Sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

est passé en mode désactivé (vérifié à nouveau par gedit /proc/acpi/wakeup ou en rafraîchissant la vue fichier), et après cela, l'ordinateur reste en suspension comme il se doit. :-)

35
Bazon

J'ai récemment eu le même symptôme sur Asus Zenbook Pro UX501 sur Ubuntu 15.04. Le correctif exact de Bazon ne fonctionnait pas, contrairement à la variante de Vladimir Rutsky. Plus précisément:

Si vous exécutez à partir du terminal, cat /proc/acpi/wakeup affiche les lignes suivantes

EHC1      S3    *enabled  pci:0000:00:xx.x
EHC2      S3    *enabled  pci:0000:00:xx.x
XHC       S3    *enabled  pci:0000:00:xx.x

(les adresses pci peuvent être différentes)

puis basculez ces trois fonctions sur désactivé en exécutant les commandes suivantes:

Sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup
22
ilikerobots

Si vous savez quel appareil allumer votre ordinateur, allez à la première étape pour suivre le guide. Si vous ne le faites pas, alors ouvrez le terminal et faites:

cat /var/log/syslog

Et trouvez quel appareil réveille votre PC.

Alors maintenant:

  1. frappé dans le terminal:

    grep . /sys/bus/usb/devices/*/power/wakeup
    

Pour lister tous les ports USB qui réveillent notre PC.

Sudo su

nous avons maintenant des privillages de racine.

2.J'ai 8 ports USB et dans cet exemple, disons que je veux désactiver USB8, donc:

echo disabled > /sys/bus/usb/devices/usb8/power/wakeup

Allez-y et testez-le. Maintenant, ce périphérique spécifique du port USB 8 ne réveillera pas le PC.

Prochaine étape, pour rendre la modification permanente après chaque démarrage:

3.

Sudo nano /etc/rc.local

Et nous collons la commande de l'étape 2. Là (avant la sortie 0 bien sûr).

C'est tout.

facultatif Uniquement si, après la mise en veille/le réveil, le périphérique USB 8, dans mon exemple, revient à activée.

  1. Ecrivez également une règle udev pour exécuter la commande après chaque démarrage, veille et réveil.

Ouvrez un terminal et faites:

lsusb

Sur votre clavier, les 4 premiers chiffres sont l’identifiant du fournisseur et les 4 prochains chiffres, l’identifiant du produit screenshot

Ensuite faire:

Sudo nano /etc/udev/rules.d/10-wakeup.rules

Où "réveil" entrez votre nom désiré du script. Le nombre 10 est la priorité au cas où vous auriez beaucoup d'autres règles udev, plus le nombre de "règles" exécutées avant les autres sera bas.

Copier coller ceci et remplacer l'ID de fournisseur et l'ID de produit par votre propre ID de fournisseur de clavier sans fil et l'ID de produit.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 est pour moi mon clavier sans fil (vous pouvez également le voir sur la capture d'écran (bus 008)), remplacez-le par le vôtre.

Ctrl + O sauver , Ctrl + X pour sortir et redémarrer.

15
Pavlos Theodorou

Pour rendre le correctif permanent

(Je compile les solutions fournies par Bazon, Ilikerobots et Pavlos Theodorou - ensemble, ils abordent mon problème spécifique)

Pour résoudre le problème de façon permanente, que ce soit un port USB réveillant le système ou autre chose:

  1. Découvrez ce qui est autorisé à réveiller votre système:

gedit/proc/acpi/wakeup

Vous pourriez obtenir ces lignes ou des lignes similaires:

EHC1 S3 * activé pci: 0000: 00: xx.x

EHC2 S3 * activé pci: 0000: 00: xx.x

XHC S3 * activé pci: 0000: 00: xx.x

Puis ouvrez:

Sudo gedit /etc/rc.local

et ajoutez ces lignes (ou similaires, en fonction des résultats ci-dessus) avantexit 0

echo EHC1>/proc/acpi/wakeup

echo EHC2>/proc/acpi/wakeup

echo XHC>/proc/acpi/wakeup

5
geoffrey