ACPI Wakeup

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(ACPI Test Script)
Zeile 1: Zeile 1:
 +
==Beschreibung==
 
'''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''' (''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.  
  
Zeile 5: Zeile 6:
 
   echo 2006-02-09 23:05:00 >/proc/acpi/alarm
 
   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.
+
==Hinweise==
 
+
* Manche Mainboards sind etwas begriffsstutzig, so dass die Weckzeit zweimal in /proc/acpi/alarm geschrieben werden muss. Die gentoo-vdr-scripts machen das automatisch so
S1: CPU und einige andere Komponenten werden abgeschaltet. Das ist die einfachste, schnellste und schonendste Variante, die aber auch am wenigsten Strom spart.
+
* Manche Mainboards wachen nicht auf, wenn nach dem Speichern der Aufwachzeit die Hardwareuhr verändert wird. Unter gentoo muss der Parameter CLOCK_SYSTOHC in /etc/conf.d/clock dann auf no gestellt werden. Siehe auch die [[#Liste getesteter Mainboards|Liste getesteter Mainboards]].
 
+
  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
+
  
 
==ACPI Test Script==
 
==ACPI Test Script==
Zeile 114: Zeile 105:
  
 
siehe auch: http://linvdr.org/wiki/index.php?%20pagename=LinVDR-Mainboards
 
siehe auch: http://linvdr.org/wiki/index.php?%20pagename=LinVDR-Mainboards
 +
 +
==ACPI Schlafmodus==
 +
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
  
 
==Links==
 
==Links==

Version vom 12. Februar 2008, 17:37 Uhr

Inhaltsverzeichnis

Beschreibung

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 (Unbedingt darauf achten, ob die HW-Uhr in UTC oder in lokaler Zeit läuft! Gegebenenfalls muss man eine oder zwei Stunden abziehen.) in /proc/acpi/alarm, z.B.

 echo 2006-02-09 23:05:00 >/proc/acpi/alarm

Hinweise

  • Manche Mainboards sind etwas begriffsstutzig, so dass die Weckzeit zweimal in /proc/acpi/alarm geschrieben werden muss. Die gentoo-vdr-scripts machen das automatisch so
  • Manche Mainboards wachen nicht auf, wenn nach dem Speichern der Aufwachzeit die Hardwareuhr verändert wird. Unter gentoo muss der Parameter CLOCK_SYSTOHC in /etc/conf.d/clock dann auf no gestellt werden. Siehe auch die Liste getesteter Mainboards.

ACPI Test Script

#!/bin/bash

# Startet dem Rechner nach 3 min ueber acpi neu. 

min=`date "+%M"`
nextmin=`expr $min + 3`
nextboot=`date "+%Y-%m-%d %H:"$nextmin:00`
echo $nextboot > /proc/acpi/alarm  # einige Mainboards sind etwas begriffsstutzig,
echo $nextboot > /proc/acpi/alarm  # sie kapieren erst nach zwei Aufrufen, was Sache ist

echo "Aktuelle Zeit:         "`date "+%Y-%m-%d %H:%M:%S"`
echo "Starte Rechner neu um: "`cat /proc/acpi/alarm`
echo "Fahre Rechner nun runter." 

busybox poweroff
#/usr/bin/poweroff.pl
#poweroff

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.

VIA PC2500 ja Wakeup per RTC muss im BIOS deaktiviert werden,

nach setzen der ACPI Weckzeit darf die RTC per hwclock nicht mehr verändert werden: in /etc/default/rcS einfügen: HWCLOCKACCESS=no

Asus A8V Deluxe ja -/-
Asus P48X ja -/-
Asus P5B WIFI Deluxe AP ja -/-
Asus Pundit P1-AH2 ja Wakeup per RTC muss im BIOS deaktiviert sein

nach setzen der ACPI Weckzeit darf die RTC per hwclock nicht mehr verändert werden.

Gigabyte GA-6VEML ja mit BIOS v7
DFI CA63-SN ja Resume on Alarm muss im BIOS aktiviert sein und Datum und Zeit müssen alle auf 0 stehen.
MSI K8N NEO-FSR V2.0 S.754 (Version 3.0) ja Nur Uhrzeit, kein Tag einstellbar
ASUS M2A-VM (HDMI) ja 1.) Im BIOS: APM Configuration - Power on by RTC Alarm = "disabled"

2.) in /etc/default/rcS einfügen: HWCLOCKACCESS=no

ASUS M2R68L (P2-M2A690G Barebone) ja 1.) Im BIOS: APM Configuration - Power on by RTC Alarm = "disabled"

2.) in /etc/default/rcS einfügen: HWCLOCKACCESS=no

Shuttle XPC SN68SG2 ja 1.) Im BIOS: APM Configuration - Power on by RTC Alarm = "disabled"

2.) in /etc/default/rcS einfügen: HWCLOCKACCESS=no

Gigabyte GA-K8VT800 PRO ja 1.) Im BIOS: APM Configuration - Power on by RTC Alarm = "disabled"

2.) in /etc/default/rcS einfügen: HWCLOCKACCESS=no

siehe auch: http://linvdr.org/wiki/index.php?%20pagename=LinVDR-Mainboards

ACPI Schlafmodus

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

Links

  1. acpi-wakeup-0.1.tar.bz2
  2. Anleitung
  3. "Computer programmgesteuert aufwecken" von Mirko Dölle, Linux-Magazin 8/2004
  4. ACPI-Projekthomepage (Dokumentation, Kernel-Patches, Wiki)
In anderen Sprachen