Laptop kann nicht angehalten werden oder hat keinen Ruhezustand (wird nach 2-5 Sekunden ohne Benutzerinteraktion wieder aktiviert)

22

Dies alles begann nach dem Upgrade auf 13.10, jetzt läuft 14.04 und ich habe immer noch das gleiche Problem.

Wenn ich den Deckel schließe oder mache, wird sudo pm-suspendder Laptop für 2-5 Sekunden angehalten und wacht von selbst auf.

Das gleiche passiert, wenn ich versuche, den Winterschlaf zu machen.

Ich habe das Bauchgefühl, dass etwas erwacht / die CPU aus dem Suspend-Modus nimmt, aber ich kann nicht herausfinden, was.

Irgendeine Hilfe bei der Behebung dieses ärgerlichen Problems?

Bearbeiten:

Dank @Fabian konnte ich feststellen, dass sich die Ethernet-Karte anscheinend nicht richtig verhält, und auch nachdem ich die Karte so eingestellt habe, dass sie nicht im LAN aufwacht (entweder acpitool -W 3oder echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeupoder echo IGBE > /proc/acpi/wakeup, der Laptop wacht immer wieder auf und zeigt dies, wenn ich es tueacpitool -w

Device  S-state   Status   Sysfs node
---------------------------------------
1. LID    S3    *enabled 
2. SLPB   S3    *disabled
3. IGBE   S4    *enabled   pci:0000:00:19.0
4. EXP1   S4    *disabled  pci:0000:00:1c.0
5. EXP2   S4    *disabled  pci:0000:00:1c.1
6. EXP3   S4    *disabled
7. EXP4   S4    *disabled
8. EXP5   S4    *disabled  pci:0000:00:1c.4
9. EHC1   S3    *disabled  pci:0000:00:1d.0
10. EHC2      S3    *disabled  pci:0000:00:1a.0
11. HDEF      S4    *disabled  pci:0000:00:1b.0

Irgendeine Idee, wie es weitergeht?

Der von IGBE verwendete Netzwerktreiber ist e1000e

feniix
quelle
3
Verwenden Sie dmesgdiese Option, um die neuesten Nachrichten aus dem Kernel anzuzeigen. Diese können Ihnen einen Hinweis darauf geben, was gerade passiert.
Roadmr
Haben Sie die Wake-On-Lan-Funktion im BIOS deaktiviert?
Mitch
Ja, das war das erste, was ich versuchte.
Feniix

Antworten:

10

Ich habe ein Motherboard mit Kernel 13.13 und Intel Z77X und der folgende Befehl funktioniert für mich:

sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
Gast
quelle
11

Folgendes hat für mich funktioniert:

cat /proc/acpi/wakeup

Suchen Sie nach Elementen mit aktiviertem Status, die so aussehen, als ob sie nicht dorthin gehören (für mich alles außer LID0). Deaktivieren Sie sie dann, indem Sie beispielsweise sagen:

sudo sh -c "echo XHC0 > /proc/acpi/wakeup"

Überprüfe, ob die entsprechenden Einträge tatsächlich deaktiviert wurden, schicke den Laptop in den Suspend und hoffe auf das Beste :)

Fabian
quelle
Sehr gute Führung, jetzt muss ich herausfinden, warum die integrierte Ethernet-Karte immer wieder aufwacht, obwohl ich den
Weckmodus
1
Viel Glück damit :)
Fabian
1
Haben Sie rmmodden Fahrer vor dem Anhalten ausprobiert ? (Nur ein Schuss im Dunkeln)
Rmano
Gleiches ärgerliches Problem in Ubuntu 16.04.1. Diese Antwort hat leider nicht geholfen.
Dan Dascalescu
+1 Dies ist die einzige Lösung, die für mich funktioniert hat.
Bandi Kishore
7

Es tritt genau das gleiche Problem auf (ThinkPad T530, Ubuntu 14.04, aber auch 13.10 und 13.04, nach ein paar Unterbrechungen wird der Computer sofort nach der Unterbrechung fortgesetzt).

Das Deaktivieren von IBGE vom Aufwecken hat überhaupt nicht geholfen.

Wie von Romano vorgeschlagen, habe ich versucht, das e1000e-Modul zu entfernen und den Vorgang wie erwartet auszusetzen.

So:

sudo rmmod e1000e

Vor dem Anhalten wird das Problem behoben.

Interessanterweise tritt das Problem sofort nach dem Installieren des Moduls zurück ( sudo modprobe e1000e) und dem Anhalten auf, ohne dass es entfernt wird. Es muss also etwas mit Hardware zu tun haben.

Um dies zu automatisieren, habe ich zwei einfache Suspend / Wakeup-Skripte erstellt (getestet auf der oben genannten Hardware, Ubuntu Trusty 14.04) sudo gedit /etc/pm/sleep.d/99_e1000e_remove:

#!/bin/sh

# Remove e1000e kernel module prior to suspend
rmmod e1000e

und sudo gedit /etc/pm/power.d/99_e1000e_probe:

#!/bin/sh

# Modprobe e1000e kernel module after resume
modprobe e1000e

Skripte sollten ausführbar sein ( sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe).

Anmerkungen:

  • Ich gehe davon aus, dass die Skripte ziemlich sicher sind, auch wenn sie Ihr Problem nicht beheben.
  • Ich verwende kein LAN-Wakeup, daher weiß ich nicht, wie es sich mit dem Fix verhält.
sopvkore
quelle
Der Laptop hat das gleiche Problem mit Windows (ich habe gerade Windows 7 für meine Frau auf dem Computer installiert, weil ich ein neues habe) und es funktioniert genauso. So kann es Hardware / Firmware bezogen sein
Feniix
1
Hallo. Ich verwende Ubuntu 14.04 LTS mit einem Thinkpad X201s. Diese Lösung, die e1000e mit den kleinen Hilfsskripten entfernt, hat dazu beigetragen, dass Suspend wieder funktioniert. Vielen Dank !
Apos
1
Ich kann bestätigen, dass die gleiche Lösung auf einem Thinkpad T540p und Ubuntu 14.04 funktioniert. Im e1000eModul scheint etwas schief zu gehen . Dies geschieht zunächst nur gelegentlich, die meiste Zeit funktioniert das Suspendieren gut. Wenn das Problem auftritt, rmmod e1000ekann ich es erfolgreich aussetzen. Wenn ich es dann modprobeaber nach dem Fortsetzen wieder mache, wird der nächste Suspend auch mit dem vorhandenen Modul funktionieren. Das "Zurücksetzen" des e1000eModuls scheint also für mich den Trick zu tun.
Mindriot
1

Das hat bei mir geklappt (entnommen aus einem anderen Thread auf askubuntu):

Ubuntu 14.04 wacht sofort nach dem Suspend auf

Sie können versuchen, es bei jedem Start automatisch mit einem Upstart- Skript zu deaktivieren :

Erstellen Sie eine Datei etc/init/disable-XHC.conf

Inhalt:

start on started dbus
stop on stopping dbus

script
   sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup"
end script
Ilian
quelle
0

Die systemd-Lösung besteht darin, eine Anweisung zu erstellen, mit der systemd-tmpfiles beim Aufrufen etwas in eine Datei schreibt.

Erstellen Sie eine Datei /etc/tmpfiles.dmit z. B. /etc/tmpfiles.d/disable-network-wake.conffolgendem Inhalt, je nachdem, für welches Gerät Sie das Aufwecken deaktivieren möchten.

w /proc/acpi/wakeup - - - - XHC

Siehe auch systemd-tmpfiles (8) und tmpfiles.d (5).

Ref: https://wiki.archlinux.org/index.php/Systemd#Temporary_files

FichteFoll
quelle