Schlafzustände
Suspend mit APM und ACPI
Ein Schlafversuch mit ACPI
Beim ersten Test gehen Sie vor wie im APM-Abschnitt: Wechseln Sie zunächst in den Single-User-Modus mit init 1. Der Befehl, der dann den Computer in den Suspend-Modus S3 versetzt, hängt von Ihrer Kernel-Version ab. Beim mittlerweile gängigen Kernel 2.6 lautet er:
echo -n "mem" > /sys/power/state
Verwenden Sie noch Kernel-Version 2.4, geben Sie stattdessen ein:
echo -n "S3" > /proc/acpi/sleep
Den Schlafzustand zu erreichen, ist meist kein Problem, schwierig wird es erst beim Aufwachen; viele Laptops ignorieren den Druck auf die Power-Taste und das Aufklappen des Deckels beharrlich. Funktioniert es nicht, müssen Sie den Rechner manuell ausschalten, kalkulieren Sie deshalb beim Testen den Verlust nicht gespeicherter Daten ein und testen Sie erst im Single-User-Modus, dann im Multi-User-Modus ohne grafische Oberfläche und erst am Ende im grafischen Modus.
Derzeit benötigen Sie also eine Portion Glück, damit ACPI-Suspend auf Ihrem Laptop läuft. Experten finden in der Kernel-Dokumentation weitere Hinweise, wie es in Einzelfällen dennnoch funktioniert: Schalten Sie alle Treiber aus, die Sie nicht unbedingt benötigen, häufige Problemfälle sind das AGP-Modul agpgart und die USB-Module. Zudem empfiehlt sich die Verwendung des Dateisystems ext2, da es mit e2fsck über ein Prüfprogramm verfügt, das bei einem Absturz entstandene Fehler zuverlässig erkennt und korrigiert.
Oft lohnt sich auch die Installation der aktuellsten Kernel-Version und ACPI-Patches. Dazu müssen Sie aber warten, bis Ihr Distributor einen solchen Kernel bereitstellt oder selbst kompilieren. Das IBM Thinkpad X21 beispielsweise, das sich noch mit Kernel 2.6.7 weigerte, aus dem S3-Schlafzustand wieder aufzuwachen, funktioniert mit aktuellem Kernel 2.6.8.1 und dem zugehörigen Patch von [6] einwandfrei.
Funktioniert ACPI-Suspend, gibt es noch eine Hürde zu nehmen: Der Sound funktioniert nach dem Aufwachen bei vielen Geräten nicht mehr. Um diesen Fehler zu beheben, entfernen Sie vor dem Suspend alle ALSA-Module – ihre Namen beginnen mit snd – und laden Sie sie nach dem Aufwachen erneut. Ein Skript, das dies automatisiert, kann so aussehen:
/etc/init.d/alsa stop modprobe -r snd_cs4281 snd_pcm_oss sync echo -n mem > /sys/power/state modprobe snd_cs4281 modprobe snd_mixer_oss modprobe snd_pcm_oss /etc/init.d/alsa start
Dieses Skript stoppt zuerst das Sound-System. Dann entfernt es die ALSA-Module, schreibt mit sync alle Daten aus dem Zwischenspeicher auf die Festplatte und löst den Suspend-Vorgang aus. Nach dem Aufwachen lädt es die Sound-Module und startet den ALSA-Service wieder. Den Namen des Sound-Moduls – in unserem Beispiel snd_cs4281 – passen Sie im Skript Ihrer Hardware an. Beim Ausführen benötigen Sie root-Rechte; um das Skript anderen Benutzern zur Verfügung zu stellen, verwenden Sie Sudo [7].
Eine Enttäuschung - was nun?
In der Praxis haben also viele Laptop-Besitzer ein großes Problem, wenn sie ihren PC in den Ruhezustand versetzen möchten: APM funktioniert zwar meistens, ist aber nicht immer vorhanden, während ACPI unter Linux oft nicht arbeitet wie es soll.
Der Autor
Simon Rutishauser programmiert in C++, Java und Bash und wird bald beginnt demnächst ein Mikrotechnikstudium in Lausanne.
Glossar
Module
Der Linux-Kernel bietet die Möglichkeit, einzelne Funktionen nur bei Bedarf in den Speicher zu laden. Dazu dienen die Befehle "modprobe" zum Laden und "rmmod" zum Entfernen eines solchen Moduls.
BIOS
Das "Basic Input Output System" ist ein rudimentäres Programm, das der Computer nach dem Einschalten startet. Es ermöglicht die grundlegende Kommunikation mit der wichtigsten Hardware wie Prozessor, Arbeitsspeicher, Grafikkarte und Festplatte oder anderen Laufwerken.
Runlevel
Der Betriebsmodus des Systems. Üblicherweise bezeichnet Runlevel 1 unter Linux den Single-User-Modus für Wartungsarbeiten, Runlevel 6 startet den Computer neu und Runlevel 0 fährt ihn herunter. Dazwischen gibt es je nach Distribution Abstufungen, die verschiedene Dienste wie das Netzwerk oder die grafische Oberfläche starten oder beenden.
Infos
[1] APM: http://www.microsoft.com/whdc/archive/amp_12.mspx
[2] ACPI: http://www.acpi.info/
[3] QtParted: Hans-Georg Eßer, "Neu zugeschnitten", LinuxUser 01/2004, S. 76 ff.
[4] tphdisk: http://samba.anu.edu.au/junkcode/#tphdisk
[5] ACPI4Linux: http://acpi.sourceforge.net
[6] Thinkpad Configuration Tool: http://tpctl.sourceforge.net
[7] Sudo: Heike Jurzik, "Neue Identität", LinuxUser 02/2004, S. 80 ff., http://www.linux-user.de/ausgabe/2004/02/080-zubefehl/



