PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Thinkpad R51 & Suspend-to-Ram



PygoscelisPapua
20.08.05, 04:53
Hallo,

ich habe mal wieder ein Problem, und zwar hab ich mir jetzt ein neues Thinkpad R51 gekauft, und bisher auch alles bis auf den Suspend-to-Ram zum laufen bekommen.

Als Distribution verwende ich ein Gentoo-Linux, mit einem 2.6.12-gentoo-r6 Kernel, welchen ich mit dem Aktuellen Software Suspend2 gepatcht habe. In dem Kernel ist acpi fest einkompiliert und ich habe die ibm_acpi.c-Datei in /usr/src/linux/drivers/acpi mit der aktuellsten Version von der Webseite ersetzt [2]. Local ACPI ist natürlich ausgestellt. Weiterhin verwende ich den vesafb-tng Treiber für den Framebuffer und den radeon-Treiber für X.Org - meine Grafikkarte ist eine Radeon Mobility 7500.

Um den Laptop in den Suspend-to-Ram Modus zu versetzten benutze ich das hibernate-Skript welches ebenfalls auf der Suspend2-Seite angeboten wird. Das Suspend-to-Disk funktioniert damit wunderbar, das Suspend-to-Ram ging anfangs garnicht, mitlerweile hab ich es soweit zum laufen bekommen:

Der Suspend-to-Ram von der Konsole aus funktioniert ohne jegliche Probleme, auch mehrmals hintereinander. Von X aus funktioniert er allerdings nur das aller erste mal. Sobald ich nach dem Resume auf die Konsole wechseln will, krieg ich ein total entstelltes Bild meines Desktops in vier-facher Ausführung und damit hängt sich das System dann auf - nur [strg][alt][entf] zeigt dann noch eine Wirkung. Selbiges passiert, wenn mein System in X aus dem Suspend aufwacht, und ich dann einen weiteren Suspend-to-Ram versuche - diesmal hängt er sich allerdings beim Suspend-Versuch auf [die Sleeplampe blinkt ununterbrochen - das tut sie sonst nur so lange, wie das System grade brauch um in den Suspend-to-Ram - Modus zu gelangen]. Wenn ich nach dem aller ersten Suspend-to-Ram aufwache erscheint weiterhin ein paar Sekunden lang ein Schwarzer Bildschirm in dem oben Links in der ersten Zeile nach ein paar Freizeichen die Buchstaben inu in gelb stehen.

Es scheint sich also um ein Grafikproblem zu handeln. Aufgrund dessen, dass ich im nachhinein nicht mal mehr auf die Konsole wechseln kann, habe ich eher den Framebuffer in Verdacht, ich werd mir morgen mal einen Kernel ohne vesafb-tng basteln [oder kann man den auch manuell abstellen? Hab dazu keine Möglichkeit gefunden].

Die Kernelparameter bin ich nun alle durch, ich hab die Optionen, acpi_sleep=s3_bios, mtrr und s3_mode in allen Kombinationen durchprobiert - mit acpi_sleep=s3_bios komm ich zu dem obigen Ergebniss, alle anderen Optionen verschlechtern das Bild ungemein!
Die vollständige Kerneloptionenleiste lautet:



append="video=vesafb:1024x768-32@60 acpi_sleep=s3_bios resume2=swap:/dev/hda3"

Auch hab ich schon alle Möglichen Optionen des Hibernate-Skripts ausprobiert. Das beste Ergebniss [also obiges Ergebniss] erziele ich mit dieser Konfiguration:



UseSysfsPowerState mem
Distribution gentoo
SaveClock restore-only
UnloadBlacklistedModules yes
LoadModules auto
DownInterfaces wlan0 eth0
SwitchToTextMode yes

Mit den Optionen EnableVbetool yes [und die beiden anderen Vbetool-Optionen], UseDummyXServer yes, radeontools, etc. pp. hab ich schon wild herumprobiert, leider ohne den erwünschen Erfolg.

Hier ist die noch die Hibernate.log. Einmal der erste Durchgang:



Starting suspend at Sat Aug 20 04:54:52 CEST 2005
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSysfsPowerStateCapable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [60] Executing NetworkStop ...
hibernate: [70] Executing ClockSave ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [99] Executing DoSysfsPowerStateSuspend ...
hibernate: Activating sysfs power state mem ...
hibernate: [90] Executing ModulesLoad ...
hibernate: [89] Executing RestoreKernelModprobe ...
hibernate: [85] Executing XHacksResumeHook2 ...
hibernate: [70] Executing ClockRestore ...
hibernate: [60] Executing NetworkStart ...
hibernate: [11] Executing XHacksResumeHook1 ...
hibernate: [01] Executing NoteLastResume ...
hibernate: [01] Executing LockFilePut ...
Resumed at Sat Aug 20 04:55:09 CEST 2005

Und so sieht das ganze dann nach dem zweiten mal aus:



Starting suspend at Sat Aug 20 04:55:37 CEST 2005
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSysfsPowerStateCapable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [60] Executing NetworkStop ...
hibernate: [70] Executing ClockSave ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...

Mir ist klar, dass die ganzen Suspend-Geschichten noch nicht sehr ausgereift sind, unter Linux, aber ich hab mir während der Installation mehrere Seiten im Internet angeguckt, die sich mit eben diesem Notebook und die Linuxinstallation auf diesem beschäftigen und auf mehr als einer Seite heißt es dort, dass der Suspend-to-Ram funktionieren würde [und das wohl gemerkt auch mit dem Framebuffer!] - und daher will ich auch nach 4 nächtelosen Tagen nicht aufgeben... Leider haben mir alle Tips aus den Anleitungen nicht weiter geholfen. Auf dem englischen Gentoo-Forum gibt es eine Anleitung, unter der ich gesehen hab, dass außer mir noch ein paar weitere dieses Problem haben, allerdings gab es auch dort keine Antwort. [bzw. wenn, dann haben sie mir selbst nicht geholfen :(]

Ich wäre für jede Hilfe dankbar, denn ich bin langsam wirklich Ratlos - die Ideen gehen mir aus. Für den Fall, dass es irgendwie Helfen sollte, hab ich auch noch meine Kernelconfig unter [3] hochgeladen.

Danke schonmal im Voraus :)

pygospa

[1]http://www.suspend2.net/
[2]http://ibm-acpi.sourceforge.net
[3]http://bytebreaker.by.funpic.de/kernel.conf