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

35

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?

Bazon
la source

Réponses:

35

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

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

ils sont passés en mode désactivé (coché par gedit /proc/acpi/wakeupou en actualisant la vue du fichier) , et après cela, l'ordinateur reste en suspension comme il se doit. :-)

Bazon
la source
Cette solution n'a pas fonctionné pour moi. La version PS2K était activée (réveil du clavier), mais sa modification ne faisait aucune différence.
Bryce
4
Dans mon cas, il n'y avait pas de périphériques USB *, on dirait qu'ils ont été connectés en interne via un concentrateur USB: l'ajout d'EHC1, EHC2 et XHC à / proc / acpi / wakeup m'a aidé.
Vladimir Rutsky
2
Dans mon cas, c'était XHCI pour USB 3
Andy
@Bazon pouvez-vous s'il vous plaît jeter un oeil à http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovoet m'aider à comprendre
Kasun Siyambalapitiya
Pour moi, la désactivation a IGBEfonctionné
Kasun Siyambalapitiya
22

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 courir depuis le terminal cat /proc/acpi/wakeupmontre 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
ilikerobots
la source
Faire ce qui précède n'a pas résolu mon problème :(
Kasun Siyambalapitiya
Pour moi, la désactivation a IGBEfonctionné, mais pas plus de trois
Kasun Siyambalapitiya
@ilikerrobots Cela ne résout pas le problème de façon permanente, comment le résoudre définitivement
Kasun Siyambalapitiya
GLAN revient rapidement à activé. Une idée pourquoi?
Alfred M.
Pour que cela persiste, mettez-le dans une entrée cron chronométrée @reboot. J'ai trouvé utile d'exécuter l'écho uniquement s'il était activé en mettant un test dans un script shell comme ceci egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeup(mon périphérique problématique était XHC1 - un chipset USB).
David Schoen
15

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. hit in 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 ça.

facultatif Uniquement si, après mon sommeil / mon réveil, le périphérique USB 8, dans mon exemple, redevient Activé.

  1. Écrivez également une udevrègle pour exécuter la commande après chaque démarrage, veillez, réveillez-vous.

Ouvrez un terminal et faites:

lsusb

Sur les informations d’identification de votre clavier, les 4 premiers chiffres correspondent à l’identifiant du fournisseur et les 4 prochains chiffres à l’identifiant du produit. capture d'écran

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 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+ Opour enregistrer, Ctrl+ Xpour quitter et redémarrer.

Pavlos Theodorou
la source
Merci! cela semble intéressant. pourriez-vous ajouter votre guide ici (le modifier pour qu'il aborde le problème spécifique de cette question)
geoffrey
Merci. ce n'est pas tout à fait ce que je voulais, mais cela m'a permis de résoudre le problème - en modifiant le fichier rc.local (mon problème n'est pas spécifique aux ports USB). J'ai posté ma propre solution, mais vous obtiendrez la prime (je ne peux pas l'attribuer avant demain cependant)
geoffrey
Quels sont sûrs pour désactiver? Vais-je rencontrer un problème si je les désactivais tous? Le seul activé est pour moi est / sys / bus / usb / devices / 1-2 / power / wakeup: enabled
Alfred M.
syslog ne dit même pas ce qui réveille l'ordinateur
Ken Sharp
5

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 similaire, selon les résultats ci-dessus) avant exit 0

echo EHC1> / proc / acpi / wakeup

echo EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup

geoffrey
la source
oh je n'y ai pas pensé. Bien sûr, il pourrait s'agir d'un autre port en plus d'un port USB. Je suis content que vous l'ayez résolu.
Pavlos Theodorou