# ThinkPad Suspend und Hibernate (ibm-acpi?)

## curator

Hi,

ich habe ein IBM Thinkpad X40 und versuche, suspend to ram und suspend to disk gangbar zu machen. Leider hab ich keinen Idee, wie ich das hinkriegen soll. Eine entsprechende google suche führt mich zu einem emerge ibm-acpi, leider existiert das Packet nicht (veraltet).

Was muss ich da machen?

Einfaches eingeben von hibernate macht den Monitor kurz aus und endet mit der Fehlermeldung:

```

/bin/echo: write error: No such device

```

Danke,

AlexLast edited by curator on Sun May 06, 2007 8:52 pm; edited 2 times in total

----------

## hoschi

Ganz falsch. Die entsprechenden ACPI-Optionen in den Kernel einkompilieren (oder als Modul) und dann kannst du mit "echo -n mem > /sys/power/state" in den Suspend-Modus (nur als root, kann man sich aber mit sudo alles schoen einrichten).

Fuer ThinkPad: www.thinkwiki.org

Die Power-Manager von Gnome/KDE sollten dann auch schon von selber laufen, der ACPID-Daemon muss dann natuerlich installiert sein.

----------

## curator

Ok, das geht, dann geht am meinem pc die Schlaf-Lampe an, wenn ich ihn wieder starte bleibt das Display dunkel,

woran liegt das ?

MfG

Alex

----------

## schmutzfinger

Am besten installierst du sys-kernel/suspend2-sources und nutzt sys-power/hibernate-script. Hibernate schreibt schöne logs und in den foren/FAQs findest du auch Lösungen zu den häufigsten Problemen. Die Scriptsammlung bringt ne ganze Menge nützlicher Sachen mit.

----------

## schmutzfinger

ibm-acpi ist in neueren Kernen schon mit drinne und das hat nichts mit suspend zu tun. Mit nem X40 kannste alle Features vom ibm-acpi nutzen. (siehe http://ibm-acpi.sourceforge.net/)

----------

## hoschi

 *curator wrote:*   

> Ok, das geht, dann geht am meinem pc die Schlaf-Lampe an, wenn ich ihn wieder starte bleibt das Display dunkel,
> 
> woran liegt das ?
> 
> MfG
> ...

 

Dan wird dein VGA-BIOS wohl nicht richtig geladen. Schau dich auf der thinkwiki-Seite um.

Meistens reicht schon ein passender Zusatz der dem Kernel beim Laden im Bootloader mitgegeben wird. Die Suspend-Sources braucht man bei IBM-Geräten eigentlich nie.

----------

## toralf

 *schmutzfinger wrote:*   

> Am besten installierst du sys-kernel/suspend2-sources und nutzt sys-power/hibernate-script. Hibernate schreibt schöne logs und in den foren/FAQs findest du auch Lösungen zu den häufigsten Problemen. Die Scriptsammlung bringt ne ganze Menge nützlicher Sachen mit.

 Bin gegenteiliger Meinung.

Gerade bei IBM Thinkpad funktioniert der Vanilla-Kernel oder die Gentoo-Sourcen wunderbar, da sind keine speziellen Sourcen/Skripte mehr notwendig.

@Curator: Dies hier sind meine relevanten Einträge:

```
tfoerste@n22 ~/workspace $ zgrep -i -e ACPI -e CENTR -e ibm -e speed /proc/config.gz  | grep -v '#'

CONFIG_ACPI=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_SLEEP_PROC_FS=y

CONFIG_ACPI_AC=m

CONFIG_ACPI_BATTERY=m

CONFIG_ACPI_BUTTON=m

CONFIG_ACPI_VIDEO=m

CONFIG_ACPI_FAN=m

CONFIG_ACPI_PROCESSOR=m

CONFIG_ACPI_THERMAL=m

CONFIG_ACPI_IBM=m

CONFIG_ACPI_BLACKLIST_YEAR=0

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_SPEEDSTEP_CENTRINO=m

CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

CONFIG_PNPACPI=y

```

----------

## schmutzfinger

Ich habe selber ein Thinkpad und verwende spezielle Sourcen und Scripte. Die hibernate scripte umounten zB Netzwerkdateisysteme das geht unabhängig vom kernel/Hardware sonst nur mit selbstgemachten Scripten. Die speziellen sources braucht man allerdings wirklich nicht unbedingt, die haben halt schon suspend2.

----------

## hoschi

Na ja. NFS-Freigaben die man vorher umounten muss sind wohl eher ein seltener Fall.

Wobei es mich fast erstaunt dass es immer noch so viele Leute gibt die Hibernate/S4 einem Suspend/S3 vorziehen, vor allem weil ersteres längst nicht so schnell und bequem ist und dazu noch problematischer.

----------

## toralf

 *schmutzfinger wrote:*   

> Die hibernate scripte umounten zB Netzwerkdateisysteme

 Ok, das stimmt, aber da habe ich eben einfach /etc/acpi/default.sh angepaßt.

----------

## curator

Hm, auch mit dem hibernate-script bleibt mein monitor weiter aus.

Ich habe eine Intel 855gm und habe bei thinkwiki gelesen, dass man zum funktionieren opensource treiber fÃ¼r die meinsten karten bracuht, damit acpid richtig arbeitet, aber die sind doch im gentoo-kernel drin oder?

----------

## hoschi

Also, erstmal musst du wissen dass Linux zwei Grafiktreiber einsetzt. Den einen fuer den Framebuffer (also die Terminals), und einen weiteren der mit einem passenden Modul von XORG zusammen arbeitet. Die Lösung ist ehrlich gesagt behindert, da es schon fast ein geniales Kunststück verlangt zwischen zwei Treibern umzuschalten, aber irgendwie funktioniert das sogar (trotzdem gehört das dringend überarbeitet, ein Treiber für beides sollte es auch tun).

Im Framebuffer verwendet man fast immer die standardisierten VESA-Treiber, die reichen sogar aus um Bilder oder Videos anzuschauen (mache ich sehr gerne). Daneben gibt es die grafikkartenspezifischen Treiber für den Framebuffer, die verwendet man gerne wenn man noch mehr Performance braucht (OpenGL, Fahrkartenautomaten mit grafischen Oberflächen...).

Für X11 sieht es ähnlich aus, wieder ein VESA-Treiber und die spezifischen Treiber. Hier verwendet man natürlich lieber einen speziellen Treiber für die Grafikkarte, mit VESA kann man zwar Videos anschauen aber OpenGL kann man da vergessen. Diese X11-Treiber haben in XORG immer ihr passendes Gegenstück, bestehen also aus zwei Hälften.

Alle sind Open-Source (sind ja Teil des Kernels)! Und für Intel-Grafikkarten gibt es auch nur Open-Source Treiber!

Nur für Nvidia und neue ATi-Karten gibt es quellgeschlossene Treiber, die man seperat installieren muss, und sich dann in den Kernel und X11 reinflanschen...verletzt zwar die GPL, aber interessiert die beiden Unternehmen ja nicht.

Du fügst jetzt diese Zeile in deinen Bootloader ein:

"acpi_sleep=s3_bios" als Kernelparameter, hätte ich dir gleich sagen sollen, weil das irgendwie bei allen IBM-Laptops so ist  :Sad: 

Wie das geht steht hier: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10

Ich rate immer zu LILO, weil das ein Bootloader ist. Grub ist ein halbes Betriebssystem, unzuverlässig und kompliziert sowieso.

Und beherzige die thinkwiki.org wirklich, die Seite ist das Nonplusultra für IBM-Laptops. Dort habe ich sogar zwei Anleitungen explizit für dein Modell (sogar auf Englisch und Deutsch) zur Installation von Linux gefunden, sogar Gentoo spezifisch. Da steht das auch alles nochmal.

----------

## curator

Das mit dem gleich sagen stimmt zwar, aber ich bin ja froh, wenn ich was lernen kann!!

Ich versuchs gleich ma

----------

## hoschi

Jupp, mach mal und melde dich dann wieder.

----------

## curator

Jo geht, hiibernate-ram fährt den brav runter, nur die netzwerkkarte(wlan) startet er nicht wieder aber mit nen /etc/init.d/ath0 restart läuft er brav wieder.

Danke

[edit]

Wie kann ich eigentlich jetzt die ibm tasten dafür nutzen, da ja der Befehl an sich nun geht?

----------

## hoschi

Schön. Also auf dem Terminal muss du dir was recht kompliziertes basteln, wenn du das mit einer der "FN-Tastenkombinationen" machen willst, dazu findest du vermutlich bei thinkwiki.org wiederum etwas  :Wink: 

Bequemer für das Terminal ist dagegen ein schönes Shell-Skript, ich muss so nur "battery" in die Shell eingeben und schon geht mein Laptop innerhalb einer Sekunde in den Suspend-Modus (S3), versorgt als nur noch den Arbeitsspeicher mit Strom. Ich hätte mein Skript auch gerne "suspend" genannt, aber das Kommando ist unter Unices schon belegt. Die Realisierung ist genau so wie beim Shutdown für Terminaluser via SUDO:

http://gentoo-wiki.com/HOWTO_Let_a_common_user_shutdown/reboot

Unter Unix haben die Anwender nicht pauschal das Recht den Desktop/Laptop/Server einfach runterzufahren oder in den Suspend zu schicken. Leuchtet auch ein.

Unter KDE/GNOME: In Verbindung mit ACPID sollte der jeweilige Powermanager Out-Of-The-Box die klassischen FN-Tastenkombinationen erfassen. Das geht sogar dann, wenn du auf einem Terminal arbeitest (dazu muss nur der Desktop parallel weiterlaufen).

----------

## firefly

 *hoschi wrote:*   

> Schön. Also auf dem Terminal muss du dir was recht kompliziertes basteln, wenn du das mit einer der "FN-Tastenkombinationen" machen willst, dazu findest du vermutlich bei thinkwiki.org wiederum etwas 
> 
> Bequemer für das Terminal ist dagegen ein schönes Shell-Skript, ich muss so nur "battery" in die Shell eingeben und schon geht mein Laptop innerhalb einer Sekunde in den Suspend-Modus (S3), versorgt als nur noch den Arbeitsspeicher mit Strom. Ich hätte mein Skript auch gerne "suspend" genannt, aber das Kommando ist unter Unices schon belegt. Die Realisierung ist genau so wie beim Shutdown für Terminaluser via SUDO:
> 
> http://gentoo-wiki.com/HOWTO_Let_a_common_user_shutdown/reboot
> ...

 

wenn acpid läuft, dann muss man nur die /etc/apci/default.sh entsprechend anpassen, damit beim FN-<Taste> das system in S3 oder S4 wechselt. Dafür braucht es keine GUI.

Bei mir fährt der Laptop in suspend-to-disk wenn ich FN+F3(Sleep) drücke, egal ob X läuft oder nicht.

----------

## curator

Jo, die Datein habe ich (default.sh, kannst du mir mal bitte deine zum Abgleich schicken?

----------

## firefly

 *curator wrote:*   

> Jo, die Datein habe ich (default.sh, kannst du mir mal bitte deine zum Abgleich schicken?

 

```

case "$group" in

...

   button)

      case "$action" in

         sleep)

            logger "sleep button pressed"

            sync

            /usr/sbin/hibernate

         ;;

...      

esac
```

----------

## hoschi

Kannst du mal die ganze Datei posten, damit man besser sieht wie man das einpassen muesste. Vor allem wuerde mich interessieren, ob ich "sleep" als action so stehen lassen kann, wenn ich stattdessen Suspend (S3) ausfuehren will, mittels eine Shellskripts.

Eigentlich sollte es ja so wie [=http://www.thinkwiki.org/wiki/How_to_configure_acpid]hier[/url] gehen, genau das funktioniert bei mir leider nicht.

----------

## firefly

 *hoschi wrote:*   

> Kannst du mal die ganze Datei posten, damit man besser sieht wie man das einpassen muesste. Vor allem wuerde mich interessieren, ob ich "sleep" als action so stehen lassen kann, wenn ich stattdessen Suspend (S3) ausfuehren will, mittels eine Shellskripts.
> 
> Eigentlich sollte es ja so wie [=http://www.thinkwiki.org/wiki/How_to_configure_acpid]hier[/url] gehen, genau das funktioniert bei mir leider nicht.

 

die "sleep" action ist nichts anderes als die Key-ID vom acpi-button-event wenn du FN+<Key> drückst. Ich mache das über FN+F3 (sleep)

----------

## lutzlustig

Auch wenn der Thread schon auf "solved" steht, hier noch ein hilfreicher Link:

http://de.gentoo-wiki.com/IBM_ThinkPad_Z60M

Das meiste geht auch mit anderen Thinkpads.

Ciao

----------

## curator

Hi, also ich glaube ich bin mal deutlich klüger geworden, soweit läuft alles, außer das suspend to disk. Da versucht der meiner bescheidenen meinung nach, den inshalt des ram auf die swap patrition zu schieben. das klappt bei mir leider nicht 512MB <--> 1,5 GB

Egal, der state : mem geht jedenfalls bei mir mittlerweile fast wunderbar, bis auf die tatsache, dass ich, seit dem ich beryl, emerald und mausicons etc. installiert habe, der nach dem aufwachen aus dem zustand mem leider seine Mauspointer vergisst, will sagen: er ist einfach "unsichtbar", wenn er aber z.B. etwas lädt, dann zeigt er die kleine sanduhr neben dem Zeiger an (ihr wisst was ich meine?).

da hilft nur ein neustart des systems, kde neustarten liefert keinen erfolg.

Also kurz drei fragen zu dem meiner Meinung nach sehr komplizierten Thema:

1) Warum sind meine Mauszeiger weg, was kann ich tun damit die laufen?

2) Ich kann meinen Screen nicht blanken, der geht mit den diversesten blank.sh  skripts immer kurz aus und direkt wieder an.

(vielleicht kann mir mal jemand sein script schicken, das definiv geht)

#Leicht Off Topic on

3) (nicht so elementar) Weis zufällig jemand ob es möglich ist, festplatten unter gentoo zu "verschieben"

               hda1        32MB Boot                         ->     hda1           32MB Boot

               hda2        512MB SWAP                    ->     hda2           2GB (3GB?) SWAP

               hda3        10GB /                                ->     hda3           $Rest des Systems$ /

               hda4        ca. 30GB frei

        sonst ist auch nicht schlimm, dann haue ich die hda3 als daten und schneid vorher ein stück als "neuer" swap ab, dann sind halt nur die 512MB vorne doof

#Leicht Off Topic Off

Danke für die Lösung der hoffentlich letzten Ungereihmtheiten mit diesem Systems.

Alex

----------

## curator

Keiner ne Idee zu 1 und 2?

3) werde ich jetzt mal mit ner Knoppix CD und qtparted versuchen...............

----------

## schmutzfinger

Zu 1. nud 2. guckst du am besteim im Thinkwiki und der suspend2 Doku. Das Thema ist ziemlich komplex und gerade mit ATI-Treibern gibt es immer wieder Probleme.

3. mache nen neuen Thread auf das ist total OT. knoppix und qtparted kannst du versuchen aber ohne backup würde ich nicht anfangen. Und wenn du platz für backups hast dann würde ich komplett neu anfangen. Also mit tar/cpio/dd sichern, neu formatieren und dann rücksichern. Es gibt ein paar Threads hier im Forum wie man Partitionen auf andere Partitionen umzieht

----------

## curator

Thx

----------

