Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Lizenziert unter CC-BY von delphaber auf Flickr

Standby/Suspend unter Linux bei vielen Notebooks und Mainboards reparieren

| 40 Kommentare

Bei meinem Schnelltest mit dem Asus X53E musste ich leider feststellen, dass das Gerät nicht in richtig in den Standby fahren kann. Drückt man auf den Netzschalter und wählt Bereitschaft bzw. Ruhezustand, so wird der Bildschirm schwarz und der Lüfter dreht hoch, mehr tut sich leider nicht mehr. Um das System wieder zu beleben, muss man es hart abschalten und neu starten. In den Kommentaren kam von Matthias von brainoverflow.de der Hinweis auf die Lösung des Problems.

Da das wohl zahlreiche Laptops von Acer, über Asus und Dell bis hin zu MSI sowie auch “normale” Mainboards wie auch Kompakt-PCs betrifft übernehme ich hier einmal die Lösung. Sie lässt sich auch auf andere Linux-Distributionen übertragen. In den Kommentaren des ursprünglichen Beitrags sieht man auch Nutzer von Fedora Core oder LMDE, die den Standby ihres Rechners fixen konnten. Das Skript ist sicherlich keine Allheilmittel für alle Laptops mit Problemen mit dem Energiemanagement, doch vielleicht hilft es euch ja.

Das Problem scheint mit den USB-Controllern zusammenzuhängen, sie werden wohl beim Herunterfahren nicht korrekt deaktiviert und behindern das Übergehen in den Standby/Suspend. Um das Problem nun anzugehen legt man ein zusätzliches Skript für den PowerManager unter

/etc/pm/sleep.d/

an…

$ gksudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd

…und fügt den folgenden Inhalt ein. Ihr müsst in dem Skript nichts anpassen, Ihr könnt es eins zu eins übernehmen.

#!/bin/sh

TMPLIST_E=/tmp/ehci-dev-list
TMPLIST_X=/tmp/xhci-dev-list
E_DIR=/sys/bus/pci/drivers/ehci_hcd
X_DIR=/sys/bus/pci/drivers/xhci_hcd
E_BIND=$E_DIR""/bind
E_UNBIND=$E_DIR""/unbind
X_BIND=$X_DIR""/bind
X_UNBIND=$X_DIR""/unbind


#param1 = temp file, param2 = device dir, param3 = unbind 
unbindDev (){
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19    
  echo -n '' > $1
    for i in `ls $2 | egrep '[0-9a-z]+:[0-9a-z]+:.*$'`; do
      echo -n "$i" | tee $3
      echo "$i" >> $1
  done
}

#param1 = tem file, param2 = bind
bindDev(){
  [ -f $1 ] || return
  
  for i in `cat $1`; do
    echo -n "$i" | tee $2

  done
  rm $1
}


case "${1}" in
  hibernate|suspend)
    unbindDev $TMPLIST_E $E_DIR $E_UNBIND
    unbindDev $TMPLIST_X $X_DIR $X_UNBIND
        ;;
  resume|thaw)
    bindDev $TMPLIST_E $E_BIND
    bindDev $TMPLIST_X $X_BIND
        ;;
esac

Abschließend müsst nur noch die Rechte so abändern, dass das Skript ausgeführt werden kann…

$ sudo chmod +x /etc/pm/sleep.d/20_custom-ehci_hcd

…und dann zum Test das Notebook in den Standby schicken. Das Skript sollte sofort seine Wirkung zeigen und – hoffentlich – das Notebook nun endlich ordentlich in den Bereitschafts- bzw. Ruhezustandsmodus gehen. Sollte sich die Aktion als Nullnummer erweisen, so könnt Ihr das Skript wieder löschen…

$ sudo rm /etc/pm/sleep.d/20_custom-ehci_hcd

…und weiter auf die Suche nach einer Lösung gehen, das Skript wird euch dann leider nicht helfen. Anbei noch eine Liste mit Laptops, bei denen sich der Standby/Suspend mit dem Skript beheben lies. Sie ist bei weitem nicht vollständig und soll nur erste Anhaltspunkte liefern, ob sich das Skript bei euch positiv auswirken kann.

  • Acer Aspire 5750-6690 unter Ubuntu Maverick 10.10
  • Asus EEEPC 1000H unter Linux Mint 10 LXDE
  • Asus B53F unter Ubuntu Natty 11.04 und Maverick 10.10
  • Asus K52F unter Ubuntu Natty 11.04
  • Asus K72JR
  • Asus N53J unter Fedora Core 14 und N53SN unter Ubuntu Natty 11.04
  • Asus N73JG unter Fedora Core 15 (Rawhide)
  • Asus P31F unter Ubuntu Natty 11.04
  • Asus U35JC und U36JC unter Ubuntu Natty 11.04
  • Asus U50F unter Ubuntu Maverick 10.10
  • Asus X53E-SX107V unter Ubuntu Natty 11.04
  • Averatec 2200
  • Dell E4300 unter Ubuntu Natty 11.04
  • Dell E6400 unter Ubuntu Natty 11.04
  • Dell Studio 1558
  • HP EliteBook 8540p
  • HP Envy 17 unter Ubuntu Maverick 10.10
  • HP Compaq 6730b
  • IBM T410s unter Ubuntu Natty 11.04
  • Lenovo ThinkPad SL500 unter Ubuntu Maverick 10.10
  • Lenovo 3000 Y410 unter Ubuntu Natty 11.04
  • Sony Vaio VPC-F115FM und VPC-F13S1E
  • Sony Vaio WGN-FW235J unter Ubuntu 11.04 (Nur Ruhezustand)
  • Toshiba Satellite U500-1DV unter Ubuntu Maverick 10.10

Weitere Informationen lassen sich auch noch in einem Thread auf ubuntuforums.org finden, aus dem heraus dieser Workaround entstanden ist.

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

40 Kommentare

  1. Klasse! Kannst noch SONY VAIO VPC-F13S1E als gefixt hinzufügen.. ;o)

  2. Kleiner Zusatz: CairoDock scheint das nicht so zu mögen.. das sieht nach dem Schlummern etwas “zerknittert” aus.. *g* Aber gut zu wissen, dass es zur Not eben jetzt geht.. :o)

  3. Es ist schade, dass solche Probleme von den Entwicklern nicht verfolgt werden. Mich plagt gerade ebenfalls ein Problem mit den USB-Ports, das bereits seit 5 Jahren berichtet wird: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/42149

    • Generell sind alle diese Energieverwaltungsgeschichten extrem aufwändig. Das Problem ist, dass es zig verschiedene Bios-Hersteller gibt, die immer wieder am Bios drehen und keine Standards befolgen. Das Ergebnis ist, dass wird ein Hase und Igel-Spielchen haben, wo Linux leider immer etwas hintendran ist.

  4. Funktioniert nun viel schneller und zuverlässig!
    HP Pavilion dv8-1190ez

  5. Ja, et geht!! :) (Pavilion p8138de)

  6. Vielen Dank,

    funktioniert perfekt auf meinem Asus P52F-SO121X unter Ubuntu Natty 11.04

  7. Super,

    auf meinem Fujitsu Siemens Celsius H250 ist es jetzt wieder möglich den Standby-Modus zu nutzen. Neustarten und Herunterfahren ist aber leider nach wie vor nicht möglich bei dem Gerät. Betriebssystem ist Natty 64 Bit. Mit Lucid 64 Bit hat alles wunderbar geklappt, ich denke ich werde wieder zurückruden, da mir das im Herbst bevorstehende Upgrade auf 11.10 zur Zeit eh nicht behagt.

    Vielen Dank und viele Grüße

  8. Hallo,
    Meinem sony vaio (VGN-BZ11MN) unter Ubuntu 11.04 hat’s auch geholfen.

    besten dank

    k.

  9. Ich habe eine Frage zu Linux Mint 11 KXDE im Bezug auf ein chiligreen Netbook pico gt:
    Das Skrypt habe ich erfolgreich kopiert und angewendet. Das aktivieren und deaktivieren des Standbymodus funktioniert einwandfrei. Was aber nicht funktioniert ist der Bildschirmschoner bzw. das schwärzen des Bildschirmes am Netbook. Hier stürzt das Ding einfach ab. Kann mir jemand sagen, ob es ein anderes Skrypt gibt, was das behebt?

  10. Hey, cool, funktioniert auf Anhieb mit ASUS U53JC Bamboo und LinuxMint 11 …
    DAS ist mal ‘n Fortschritt ..
    Mir ist nur eine Kleinigkeit aufgefallen: Ich benutze gpointing-device-settings zum scrollen mit einem alten Trackball. Die Scrollfunktion geht nach dem Aufwachen nicht mehr.
    Danke für die gut erklärte und einfache Lösung!

  11. danke danke danke. hatte einem freund mint 11 auf seinem Asus X52J installiert und bin nun super froh, nach langem suchen diese anleitung gefunden zu haben…. funzt!

  12. 1000 x danke! jetzt läuft es (Toshiba Satellite U500-1D6 unter Fedora 16)

  13. Vielen dank! Standby hab ich an meinem T410 wahnsinnig vermisst und nun durch deinen Artikel lösen können.

  14. Funktioniert bestens mit Asus 1215P & Lenovo S10-3s (beide mit Squeeze).
    Besten Dank

  15. Thank you! Works on X53SV-sx607v and ubuntu 12.04.

  16. Pingback: Notebook Ubuntu sospensione ibernazione non funziona

  17. ASUS X53S funtioniert nun auch, getestet auf Ubuntu 12.04
    Danke!

  18. Also… Medion Akoya E7220 funktioniert auch _aber_…

    Weiss jemand von euch wie ich die Maus wieder aufwecken kann? die ist dann nämlich “tot”

  19. Hi, auf meinem ASUS P53E funktionierte nur die folgende Variante:

    http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug

    Der Code von dieser Seite führte dazu, das pm-suspend gar nicht mehr machte. Dennoch: Vielen vielen Dank, mein crunchbang-linux wird dadurch um einiges aufgewertet :)

    Simon

  20. Wieder Maus an und abstöpseln funzt leider nicht, alle USB Schnittstellen befinden sich dann im Tiefschlaf :-( Jemand ne Idee?

  21. Hallo…
    Ich hatte mich ja oben schon mal zu Wort gemeldet.
    Mein USB-Problem konnte ich mit dem Link aus dem Post von Simon vom 20.5.
    http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug
    lösen.
    USB läuft wie ne Eins nach dem Standby auf dem Medion Akoya E7220.
    Damit steht einer dauerhaften Linuxnutzung bei mir nicht mehr viel im Weg…

  22. Am T420s ging das Touchpad nachdem das Laptop vom Standby wieder eingeschaltet wird kein einziges mal, und musste jedes mal neu starten.

    Jetzt, nach Installation des Scripts ist das Problem gelöst :-D

    Danke!

  23. Skript funktioniert auf:
    Asus R252B, 4GB, Linux Mint 13-Mate (Ubuntu 12,04 LTS).

    Allerdings ist der Zustand nach dem Aufwachen aus Hibernate
    wie nach einem Neustart – alle Arbeitsflächen sind ‘leer’.
    Vor dem Einsatz des Skripts habe ich den Swap-Space auf
    ca. 9GB erhöht. In mehreren Forem wurde darauf hingewiesen,
    dass bei zuwenig Swap Standby-Modi nicht funktionieren.

    Gruß tli

  24. Ich habe ein Dell Studio 1535 mit Ubuntu 12.04. Ich kann zwar den Rechner in den Ruhezustand versetzen, aber beim aufwecken bleibt er irgendwann im Splash-Screen hängen (nach 20 min hab ich es abgebrochen, da sich nichts getan hat).

  25. Funktioniert auch mit meinem MSI A6405 und Linux Mint 13 – Vielen Dank !

  26. Funktioniert auf einem älteren Desktop-Rechner mit AMI-BIOS von 2009 und aktuellem MINT 13 Maya Cinnamon einwandfrei – danke!

  27. Perfekt! Danke!!
    Läuft auch auf einem Dell Inspiron 630m Notebook mit Ubuntu 11.10

  28. 1000 Dank – funktioniert super!

    Samsung RF510

    Ubuntu 10.04

  29. Prima, kannst einen Acer Revo70 mit Mint Nadja (14) drauf mit in Liste tun. Funktioniert prima.

  30. Es gibt noch einen anderen möglichen Workaround, wenn sich der Rechner nicht schlafen legt.

    Im Verzeichnis /etc/pm/config.d eine Datei mit dem Namen s2ram.config anlegen mit diesem Inhalt:

    S2RAM_OPTS=”-f -a 3″

    Dann Rechner neu starten und mit “pm-suspend” testen, ob der Rechner schlafen geht.

    Dieser Workaround ist für die User, bei denen sich der Rechner nicht schlafen legt, wo also der Aufruf von pm-suspend einfach nichts bewirkt.

  31. Hallo,

    bei meinem HP Compaq 8510w unter Xubuntu 13.04 hat das Skript leider nicht funktioniert. Ich habe schon alles Mögliche probiert.

    Der Tip von Malte (besten Dank) versetzt den HP zumindest sicher in den Standby-Mode. Nach dem Einschalten drehen allerdings die Lüfter auf Maximum, so daß ein Arbeiten mit dem Gerät zur Tortur wird.

    Bin also noch nicht am Ziel. Gibt es weitere Anregungen?
    Danke!

  32. Samsung Serie 3 305E5A-A01 kann als gefixt hinzugefügt werden. Vielen Dank!!!

  33. Danke! Hat auf einem Acer Aspire 8930g mit Mint 13 das Standby Problem (kein Aufwachen) beseitigt!

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.