PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu: 855resolution / Suspend-to-Disk / Hibernate



Sonny
17.10.05, 09:48
(SuSE 9.3)
Hallo!
Folgendes habe ich für debian gefunden:

Suspend-to-Disk (STD, ACPI S4)

Funktioniert. Der Ram-Inhalt wird in die Swap-Partition geschrieben, die dafür natürlich vorhanden und entsprechend groß sein muß. Ich hatte allerdings zunächst folgendes Problem:
Der Überlistungsversuch per 855resolution war nicht Suspend-to-Disk-kompatibel genug. Offenbar wird diese Vesa-Manipulation beim Suspend-to-Disk nicht mit gesichert und deshalb (zunächst) beim Aufwecken nicht wieder hergestellt. Als Resultat landete ich immer im Anmeldebildschirm in der unerwünschten "1280x1024"-er Auflösung. Abhilfe schaffte weitere Recherche im Netz, ein Hinweis von Daniel Wiebelt und ein wenig probieren. Ich habe nun jedenfalls
das Hibernate-Paket installiert,
in der Konfigurationsdatei /etc/hibernate/hibernate.conf den Eintrag UseAcpiSleep 4 aktiviert,
eine Zeile OnResume 20 /usr/sbin/855resolution 3c 1400 1050 hinzugefügt
und kann nun per Kommandozeilenbefehl (nicht per KLaptop-Applet) hibernate erfolgreich suspendieren :-)
Mit der Integration des Sleep-Buttons (Fn-Esc, Mondsymbol) ist auch diese Funktion elegant aus "X" heraus zu erreichen. Die Details stammen erneut von faq.pathfinderteam.org, ich habe nur hibernate anstelle des echo... aufrufen müssen.
# /etc/acpi/events/sleepbtn
# This is called when the user presses the sleep button and calls
# /etc/acpi/sleepbtn.sh for further processing.
#
# We need to react on "button sleep.*" and "button/sleep.*" because
# of kernel changes.

event=button[ /]sleep
action=/etc/acpi/sleepbtn.sh


Aber wie realisiert man das unter SuSE?

Sonny
17.10.05, 10:14
habe eine Lösung gefunden:

Den Befehl "chvt 1" in die Datei /usr/lib/powersave/scripts/prepare_suspend_to_disk ganz am Ende über das "exit 0" einfügen.
Die Befehle "/usr/sbin/855resolution 3c 1400 1050" und "chvt 7" in dieser Reihenfolge in die Datei /usr/lib/powersave/scripts/restore_after_suspend_to_disk wiederum ganz am Ende über "exit 0" einfügen.

Aber: Deckel zu --> Suspend to Disk = Toll, aber bitte mit einer Verzögerung von z.B. 60 Sekunden. Geht das?

NoVictim
17.10.05, 14:55
Ja

Kommt allerding darauf an wie gut du skripten kannst.
An der Stelle in deinem Skript, wo das Skript bemerkt, der Deckel ist zu. Musst du eine while Schleife einbauen, die mittels setzten einer variable im ersten durchgang 1 Minute hängen bleibt (sleep 60). Dann im 2. Durchgang nochmal den Status des Deckelsüberprüft, ist dieser immer noch geschlossen --> Suspend to disk

Das Ding hätte so allerding n kleinen Bug ;) Wenn du wärend der Minute warte Zeit den Deckel auf und wieder zu machst, beginnt die Minute nicht wieder von vorne, sondern
Deckel zu --> nach einer Minute auch zu --> suspend to disk
folglich interessiert es deinem Skript nicht was du mit dem Decken wärend der Minute machst... Wäre aber n Bug mit dem man leben könnte ;p
so long
NoVi

Sonny
17.10.05, 16:19
die Idee hatte ich auch schon. Meine Hoffnung war aber, dass man dafür nur eine Variable setzen muss. Leider ist es beim Notebook so, dass das Signal LidClosed schon gegeben wird, wenn der Deckel noch 10 cm bis zu hat.
Außerdem weiss nicht nicht wie das System arbeitet.
die Datei powermanagement meint: ACPI_BUTTON_LID_CLOSE=ignore
das System geht aber in hibernate
außerdem weiss ich nicht welche scripte angesprochen werden

NoVictim
17.10.05, 18:08
Tja, da kann ich dir leider auch nicht helfen :(

Nur so nebenbei..
Wo kannst du denn das Signal "LidClosed" ablesen?
Ich bastel nämlich bald ein komfortables Skript from scratch fürs hibernating.
siehe hier ;p (http://www.linuxforen.de/forums/showthread.php?t=197157)
Dann könnte ich die Deckelfunktion (z.B. 60sec Deckel zu --> suspend to disk) mit einbauen ;p

greez
NoVictim

Masta Pete
17.10.05, 19:44
# cat /proc/acpi/button/lid/C13C/state
state: open
# cat /proc/acpi/button/lid/C13C/state
state: closed


wobei c13c von der hardware abhängig ist.

lg
pete

NoVictim
17.10.05, 20:56
Mile grazie pete ;)

Ich werds mal auschecken..
Wird schon so oder so ähnlich sein ;)

Sonny
18.10.05, 16:33
bin auch beta Tester ...

Stingray0481
19.10.05, 16:11
habe eine Lösung gefunden:

Ich weiß auch wo. Auf meiner Linux-on-Laptop Webpage. :D

Ich habe mittlerweile herausgefunden, dass das Wiederherstellen nach einem suspend to disk auch versagt, falls man z.B. eine externe USB-Platte eingesteckt hatte/hat.
Da ich suspend to disk kaum brauche und gerade auch nicht die Zeit habe mich mit dem Problem weitergehend zu beschäftigen, lasse es mich bitte wissen falls du die "quick&dirty" Lösung, die ich auf der Webpage beschrieben habe, verbesserst. Dann werde ich es ggf. auf der Webpage aktualisieren.

NoVictim
19.10.05, 22:06
Das Skript ist fertig.
Nur leider konnte ich die Deckelfunktion noch nicht mit rein basteln :(
Weil der von "Masta Pete" besagter proc Eintag bei mir auch auf "open" steht, wenn der Deckel zu is.
Naja vielleicht find ich noch ne Möglichkeit den Deckelstatus abzufragen..

Die Akku Funktion funktioniert jedoch bei mir gut ;P
Wer Interesse hat kann hier (http://www.linuxforen.de/forums/showthread.php?t=197157) mal schaun ;p

greez
NoVictim

Sonny
20.10.05, 14:28
sieht bei mir so aus:

linux:/proc/acpi/button/lid/LID # cat state
state: open

Rundsendenachricht von root@linux
(somewhere) at 14:27 ...
Powersaved event: BUTTON LID CLOSED

linux:/proc/acpi/button/lid/LID # cat state
state: closed

NoVictim
21.10.05, 07:19
Sry is es bei mir auch nich :(

Das einzigste was es gibt ist /proc/acpi/button/lid/LID0/state
Und der Wert ist immer open :(

Aber wenn es bei dir hier drin steht:
/proc/acpi/button/lid/LID/state
Du interesse hast..
Und deinen anderen suspend to disk deaktivieren kannst..
Würde ich es für dich mit reinskripten ;)
sollte schnell gehen

MfG
Andreas