Wie verhindere ich das sofortige Aufwachen aus dem Ruhezustand und / oder Ruhezustand?

35

Seit einigen Tagen wacht mein Ubuntu 12.04-Desktop-Computer auf mysteriöse Weise sofort nach dem Wechsel in den Suspend-Modus auf.

Seit der Installation wird mein Ubuntu 12.10-Laptop-Computer auch unmittelbar nach dem Anhalten und dem Ruhezustand fortgesetzt.

Wie kann man das verhindern?

Bazon
quelle

Antworten:

35

Dieses Problem wurde wahrscheinlich durch seltsame USB-Signale verursacht. gedit /proc/acpi/wakeupzeigte mir, dass das Aufwecken für USB0 und USB2 aktiviert war.

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

Sie wurden deaktiviert (erneut überprüft gedit /proc/acpi/wakeupoder die Dateiansicht aktualisiert) , und danach bleibt der Computer wie vorgesehen in Standby. :-)

Bazon
quelle
Diese Lösung hat bei mir nicht funktioniert. PS2K wurde aktiviert (Tastatur-Wakeup), aber das Ändern machte keinen Unterschied.
Bryce
4
In meinem Fall gab es keine USB * -Geräte, es sieht so aus, als wären sie intern über einen USB-Hub verbunden: Das Hinzufügen von EHC1, EHC2 und XHC zu / proc / acpi / wakeup hat mir geholfen.
Vladimir Rutsky
2
In meinem Fall war es XHCI für USB 3
Andy
@ Bason können Sie bitte einen Blick auf http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovound helfen mir, es herauszufinden
Kasun Siyambalapitiya
Für mich hat die Deaktivierung IGBEfunktioniert
Kasun Siyambalapitiya
22

Ich hatte vor kurzem das gleiche Symptom auf Asus Zenbook Pro UX501 auf Ubuntu 15.04. Bazons genaue Korrektur funktionierte nicht, aber Vladimir Rutskys Variation. Speziell:

Wenn Sie vom Terminal aus laufen cat /proc/acpi/wakeup, werden die folgenden Zeilen angezeigt

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

(PCI-Adressen können unterschiedlich sein)

Schalten Sie dann diese drei auf deaktiviert um, indem Sie die folgenden Befehle eingeben:

sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup
ilikerobots
quelle
Das oben Genannte hat mein Problem nicht gelöst :(
Kasun Siyambalapitiya
Für mich hat die Behinderung IGBEfunktioniert, über drei nicht
Kasun Siyambalapitiya
@ilikerrobots Dies behebt es nicht dauerhaft, wie es dauerhaft zu beheben
Kasun Siyambalapitiya
GLAN schaltet schnell wieder auf aktiviert um. Irgendeine Idee warum?
Alfred M.
Damit es bestehen bleibt, legen Sie es in einen Cron-Eintrag, für den das Zeitlimit festgelegt ist @reboot. Ich fand es nützlich, das Echo nur dann auszuführen, wenn es tatsächlich durch das egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeupEinfügen eines Tests in ein Shell-Skript wie dieses aktiviert wurde (mein problematisches Gerät war XHC1 - ein USB-Chipsatz).
David Schoen
15

Wenn Sie wissen, welches Gerät Ihren PC aktiviert, fahren Sie mit dem ersten Schritt fort, um den Anweisungen zu folgen. Wenn Sie dies nicht tun, öffnen Sie das Terminal und führen Sie Folgendes aus:

cat /var/log/syslog

Und finden Sie heraus, welches Gerät Ihren PC aufweckt.

Also jetzt:

  1. Treffer im Terminal:

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

Um alle USB-Ports aufzulisten, die unseren PC aufwecken.

sudo su

Wir haben jetzt Root-Privilegien.

2. Ich habe 8 USB-Anschlüsse und in diesem Beispiel möchte ich usb8 deaktivieren.

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

Mach weiter und teste es. Dieses spezielle Gerät an USB-Port 8 weckt den PC jetzt nicht mehr auf.

Nächster Schritt, um die Änderung nach jedem Start dauerhaft zu machen:

3.

sudo nano /etc/rc.local

Und wir fügen den Befehl aus Schritt 2 ein (natürlich vor dem Ausgang 0).

Das ist es.

Optional Nur wenn das USB 8-Gerät nach dem Schlaf- / Weckvorgang in meinem Beispiel wieder aktiviert wird.

  1. Schreiben Sie auch eine udevRegel, um den Befehl nach jedem Start, Ruhezustand und Aufwachen auszuführen.

Öffne ein Terminal und mache:

lsusb

Bei der Geräte-ID Ihrer Tastatur sind die 4 ersten Ziffern die Hersteller-ID und die 4 nächsten Ziffern die Produkt-ID Bildschirmfoto

Als nächstes machen Sie:

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

Wo "Aufwecken" geben Sie Ihren gewünschten Namen des Skripts ein. Nummer 10 ist die Priorität, falls Sie viele andere udev-Regeln haben, je niedriger die Nummer, um die die Regel vor den anderen ausgeführt wird.

Kopieren Fügen Sie diese ein und ersetzen Sie die Hersteller- und Produkt-ID durch Ihre eigene Hersteller- und Produkt-ID für die drahtlose Tastatur.

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

* usb8 ist für mich meine kabellose tastatur (das siehst du auch im screenshot ( bus 008)), ersetze sie durch deine eigene.

Ctrl+ Ozum Speichern, Ctrl+ Xzum Beenden und Neustarten.

Pavlos Theodorou
quelle
Vielen Dank! das sieht interessant aus. würden Sie Ihren Führungs etwas dagegen , hier das Hinzufügen (Ändern, damit er auf das spezifische Problem dieser Frage befasst)
geoffrey
Vielen Dank. Dies ist nicht ganz das, was ich wollte, aber es brachte mich dazu, das Problem zu beheben - durch Ändern der Datei rc.local (mein Problem ist nicht spezifisch für die USB-Anschlüsse). Ich habe meine eigene Lösung veröffentlicht, aber Sie erhalten das Kopfgeld (ich kann es nicht vor morgen vergeben)
Geoffrey
Welche sind sicher zu deaktivieren? Bekomme ich Probleme, wenn ich alle deaktiviere? Das einzige, was für mich aktiviert ist, ist / sys / bus / usb / devices / 1-2 / power / wakeup: aktiviert
Alfred M.
Syslog erwähnt nicht einmal, was den Computer aufwacht
Ken Sharp
5

Um das Update dauerhaft zu machen

(Ich kompiliere die Lösungen von Bazon, Ilikerobots und Pavlos Theodorou - zusammen gehen sie auf mein spezielles Problem ein.)

Um das Problem dauerhaft zu beheben, unabhängig davon, ob es sich um einen USB-Anschluss handelt, der das System aufweckt, oder um etwas anderes:

  1. Finden Sie heraus, was Ihr System aufwecken darf:

gedit / proc / acpi / wakeup

Möglicherweise erhalten Sie diese oder ähnliche Zeilen:

EHC1 S3 * aktiviert pci: 0000: 00: xx.x

EHC2 S3 * aktiviert pci: 0000: 00: xx.x

XHC S3 * aktiviert pci: 0000: 00: xx.x

Dann öffne:

sudo gedit /etc/rc.local

und fügen Sie diese Zeilen (oder ähnlich, abhängig von den obigen Ergebnissen) vor exit 0

Echo EHC1> / proc / acpi / wakeup

Echo EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup

Geoffrey
quelle
Oh, ich habe nicht darüber nachgedacht. es könnte natürlich auch ein anderer port neben einem usb sein. Ich bin froh, dass du es gelöst hast.
Pavlos Theodorou