ActivyACPIWakeup

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Vorgehen: Satz entwirrt)
(M)
Zeile 11: Zeile 11:
  
 
==Vorgehen==
 
==Vorgehen==
 
 
Zuerst braucht man die ACPI Wakeup Programme. Ein Link zum Download befindet sich auf [[ACPI Wakeup]].
 
Zuerst braucht man die ACPI Wakeup Programme. Ein Link zum Download befindet sich auf [[ACPI Wakeup]].
 
Gemäß README muss noch das Programm ''unix2iso8601'' compiliert werden. Dieses kleine Progamm wandet das Zeitformat, das VDR liefert in das Format, das ACPI erwartet:
 
Gemäß README muss noch das Programm ''unix2iso8601'' compiliert werden. Dieses kleine Progamm wandet das Zeitformat, das VDR liefert in das Format, das ACPI erwartet:
 
+
<pre>
gcc -o unix2iso8601 unix2iso8601.c
+
gcc -o unix2iso8601 unix2iso8601.c
 
+
</pre>
 
Das resultierende Binary bringt man nun irgendwo im Pfad unter, zum Beispiel unter ''/usr/local/bin''.
 
Das resultierende Binary bringt man nun irgendwo im Pfad unter, zum Beispiel unter ''/usr/local/bin''.
  
 
Das beim ACPI Wakeup mitgelieferte Beispielskript verdeutlicht, wie ''unix2iso8601'', kann aber auch direkt eingesetzt werden muss dafür noch VDR angegeben werden mit der Option
 
Das beim ACPI Wakeup mitgelieferte Beispielskript verdeutlicht, wie ''unix2iso8601'', kann aber auch direkt eingesetzt werden muss dafür noch VDR angegeben werden mit der Option
 
+
<pre>
-s <Pfad zum Shutdownskript>
+
-s <Pfad zum Shutdownskript>
 
+
</pre>
 
Das Beispielskript sieht so aus:
 
Das Beispielskript sieht so aus:
 
+
<pre>
#!/bin/sh
+
#!/bin/sh
 
   
 
   
export PATH=/bin
+
export PATH=/bin
 
   
 
   
newtime=$(($1 - 120 ))  # 2 minutes earlier
+
newtime=$(($1 - 120 ))  # 2 minutes earlier
hwclock --systohc --utc
+
hwclock --systohc --utc
echo `unix2iso8601 -u $newtime` >/proc/acpi/alarm
+
echo `unix2iso8601 -u $newtime` >/proc/acpi/alarm
exec poweroff
+
exec poweroff
 
+
</pre>
 
==Hinweise==
 
==Hinweise==
 
* Steht die eigene Uhr nicht auf GMT sondern Lokalzeit, müssen die Aufrufe von ''hwclock'' und ''unix2iso8601'' entsprechend angepasst werden, bitte die Optionen beachten.
 
* Steht die eigene Uhr nicht auf GMT sondern Lokalzeit, müssen die Aufrufe von ''hwclock'' und ''unix2iso8601'' entsprechend angepasst werden, bitte die Optionen beachten.
Zeile 40: Zeile 39:
  
 
==Credits==
 
==Credits==
 
 
Die vorliegenden Informationen wurden entnommen von
 
Die vorliegenden Informationen wurden entnommen von
 
* http://www.vdr-portal.de/board/thread.php?threadid=20577
 
* http://www.vdr-portal.de/board/thread.php?threadid=20577

Version vom 11. Oktober 2004, 22:37 Uhr

Inhaltsverzeichnis

Einleitung

Die meisten moderne BIOSe sind, zusammen mit der RTC, in der Lage einen ausgeschalteten PC zu einem gegebenen Zeitpunkt automatisch zu starten. Gegenwärtig existieren unter Linux zwei Methoden, um dem BIOS die gewünschte Weckzeit mitzuteilen: ACPI Wakeup und NVRAM WakeUp. Die Activy unterstützt allerdings nur ACPI Wakeup

Vorraussetzung

  • Das BIOS muss mindestens Version 1.09 sein. Ältere Versionen können mit einem auf der Siemens Supportseite erhältlichen Update geflasht werden.
  • Im BIOS muss Resume on time aktiviert sein (BIOS erreichbar per USB Tastatur, F2 drücken beim Booten)
  • Eventuell braucht der Kernel die Option acpi=force
  • Die Systemuhr darf nach Stellen der Wakupzeit nicht mehr geändert werden!

Vorgehen

Zuerst braucht man die ACPI Wakeup Programme. Ein Link zum Download befindet sich auf ACPI Wakeup. Gemäß README muss noch das Programm unix2iso8601 compiliert werden. Dieses kleine Progamm wandet das Zeitformat, das VDR liefert in das Format, das ACPI erwartet:

gcc -o unix2iso8601 unix2iso8601.c

Das resultierende Binary bringt man nun irgendwo im Pfad unter, zum Beispiel unter /usr/local/bin.

Das beim ACPI Wakeup mitgelieferte Beispielskript verdeutlicht, wie unix2iso8601, kann aber auch direkt eingesetzt werden muss dafür noch VDR angegeben werden mit der Option

-s <Pfad zum Shutdownskript>

Das Beispielskript sieht so aus:

#!/bin/sh
 
export PATH=/bin
 
newtime=$(($1 - 120 ))   # 2 minutes earlier
hwclock --systohc --utc
echo `unix2iso8601 -u $newtime` >/proc/acpi/alarm
exec poweroff

Hinweise

  • Steht die eigene Uhr nicht auf GMT sondern Lokalzeit, müssen die Aufrufe von hwclock und unix2iso8601 entsprechend angepasst werden, bitte die Optionen beachten.
  • Wird nicht das Beispielskript zum Herunterfahren verwendet, sollte die Hardwareuhr, wie oben zu sehen, vor dem Setzen der Wakeupzeit auf die aktuelle Zeit gesetzt werden.
  • Sollte beim Setzen der Wakeupzeit ein Fehler auftreten wie "no fixed evendt handler", muss die Zeit zwei Mal geschrieben werden. Hierfür einfach die echo Zeile einmal kopieren.

Credits

Die vorliegenden Informationen wurden entnommen von