ACPI Wakeup
ACPI (Advanced Configuration and Power Interface) ist eine Spezifikation, welche eine Schnittstelle definiert, über die moderne Rechnerhardware und ein Betriebssystem gekoppelt ist. Dadurch benötigt das Betriebssystem keine Informationen über die vorhandene Hardware, um diese Hardwarefunktionen nutzen zu können. ACPI ist eine Weiterentwicklung von APM, PNPBIOS und weiteren Technologien und bietet unter anderem Funktionen zur Kontrolle des Energieverbrauchs, zur Versetzung von Rechnern in den Ruhezustand, zur Aktivierung und Deaktivierung von Geräten.
ACPI-Wakeup bedeutet also vor diesem Hintergrund, dass der Rechner über die ACPI-Kernelinterface geweckt werden kann. Dazu schreibt man die Weckzeit in /proc/acpi/alarm, z.B.
echo 2006-02-09 23:05:00 >/proc/acpi/alarm
Mit ACPI kann man ausserdem das System schlafen legen, wenn das Mainboard mitspielt. Je nach BIOS werden verschiedene Modi unterstützt, S1 (Standby), S3 (Suspend to Ram) oder S4 (Suspend to Disk). Im Gegensatz zum vollständigen Shutdown braucht das Reaktivieren des Systems viel weniger Zeit.
S1: CPU und einige andere Komponenten werden abgeschaltet. Das ist die einfachste, schnellste und schonendste Variante, die aber auch am wenigsten Strom spart.
echo -n "standby" > /sys/power/state
S3: Ausser dem Speicher wird alles abgeschaltet. Der Inhalt des Speichers bleibt so erhalten. Beim Einschalten kehrt das System zum ursprünglichen Zustand zurück. Man muss jedoch drauf achten dass vor dem Abschalten alle Dateisysteme unmounted werden (vor allem Festplatten oder Netzwerk-Dateisysteme), da sonst Datenverlust droht. Ausserdem sollte VDR beendet und die DVB Treiber entladen werden, weil die DVB Karten auch abgeschaltet werden und beim Reaktivieren neu initialisiert werden müssen.
/etc/init.d/vdr stop /etc/init.d/dvb stop echo -n "mem" > /sys/power/state /etc/init.d/dvb start /etc/init.d/vdr start
Liste getesteter Mainboards
Hier eine Liste von Mainboards bei denen Wecken per ACPI funktioniert, oder auch nicht funktioniert.
Von VDR Nutzern werden erfolgreich/nicht erfolgreich eingesetzt:
Mainboard | ACPI i.o. | Hinweise/Besonderheiten |
VIA EPIA 800 | nein | Nur Wecken per set_timer funktioniert. |
VIA EPIA M10000 | ja | Wakeup per RTC muss im BIOS deaktiviert werden,
nach setzen der ACPI Weckzeit darf die RTC per hwclock nicht mehr verändert werden. |