Squeeze-VDR Teil 7 - Automatischens Aufwachen via ACPI

Posted by Tobi Sun, 24 Oct 2010 15:00:00 GMT

Einen Standalone-VDR 24/7 laufen zu lassen ist weder ökonomisch noch ökologisch sinnvoll. Wenn niemand vor der Flimmerkiste sitzt und der VDR nichts aufzeichnet, muss er auch nicht laufen. Wenn aber eine Aunfahme in Kürze ansteht, dann soll er sich bitte automatisch einschalten.

Clock Es gibt verschiedene Möglichkeiten, einen Rechner automatisch aufwachen zu lassen. Moderne Mainboards erlauben zumeist, eine Aufwachzeit über das Advanced Configuration and Power Interface (ACPI) zu programmieren. Leider ist diese Funktion nicht immer sauber implementiert und bei manchen Boards hat man ganz einfach schlechte Karten. Als Alternative bleibt dann nvram-wakeup, welches die Aufwachzeit direkt im BIOS setzt oder ein externer Timer, der den Rechner einschaltet. Im folgenden möchte ich aber explizit nur auf das Aufwachen via ACPI eingehen.

Systemzeit

Damit der VDR auch pünktlich aufwacht, muss als erstes sicher gestellt werden, dass die interne Uhr des VDR-Rechners nicht vor- oder nach geht. Hat der VDR-Rechner permanent Zugriff auf's Internet, so ist ntp hier für das Tool der Wahl:

sudo apt-get install ntp

Alternativ kann der VDR selbst die Systemzeit stellen. Dazu muss im VDR unter "Einstellungen / EPG" "Systemzeit stellen" auf "ja" gesetzt werden. Die Systemzeit wird damit aus der mit dem DVB-Signal übermittelten Zeit aktualisiert. Allerdings kann es in seltenen Fällen so auch mal passieren, dass eine falsche Zeit eingestellt wird!

Neben der Aktualisierung der Systemzeit ist es ratsam, auch die interne Hardware-Uhr des Rechners zu aktualiseren. Diese sollte ausserdem immer auf Universal-Zeit (UTC) laufen. Damit vermeidet man z.B. Probleme bei Sommer-/Winterzeitumstellung. Konfiguriert wird das in /etc/default/rcS. Dort sollte bei einem frisch installierten Squeeze bereits UTC=yes stehen. Hinzufügen musst du noch HWCLOCKACCESS=yes, damit die Hardware-Uhr beim Runterfahren aktualisiert wird. Manchmal kann sich letzteres allerdings mit dem Setzen der Aufwachzeit via ACPI beißen. In diesem Fall musst du noch HWCLOCKPARS="--directisa" hinzufügen.

ACPI-Wakeup-Addon

Die Installation des Addons zum Setzen der Aufwachzeit ist ganz einfach:

sudo apt-get installl vdr-addon-acpiwakeup

Dann musst du nur noch ACPI_ENABLED=yes in /etc/vdr/vdr-addon-acpiwakeup.conf einstellen.

Beim Ausschalten des VDR wird nun automatisch die Aufwachzeit (mit etwas Vorlauf) auf den nächsten Timer gesetzt. Das betrifft zunächst aber nur das Ausschalten aus dem VDR heraus.

Testen kannst du das, indem du ganz einfach einen Timer in 10 Minuten programmierst und in den VDR-Einstellungen unter "Sonstiges" die "Brückenzeit zwischen Timern" z.B. auf 5 Minuten setzt. Wenn du jetzt den VDR über die Power-Taste der Fernbedienung ausschaltest, sollte er nach 5 Minuten wieder einschalten (Das Einschalten erfolgt 5 Minuten vor Timer-Beginn).

Falls es nicht funktioniert, kannst du im Syslog prüfen, ob die Zeit ordentlich gesetzt wurde:

sudo cat /var/log/syslog | grep acpiwakeup

Oct 24 12:32:56 hdvdr vdr-addon-acpiwakeup: Setting ACPI alarm time to: 2010-10-24 14:50:00
Oct 24 12:32:56 hdvdr vdr-addon-acpiwakeup: Writing to /sys/class/rtc/rtc0/wakealarm
Oct 24 12:32:56 hdvdr vdr-addon-acpiwakeup: Writing to /sys/class/rtc/rtc0/wakealarm

Damit auch beim Ausschalten am Rechner der VDR die Aufwachzeit setzt, ist zu guter letzt noch folgendes zu tun:

sudo sh -c "wget -P /etc/acpi http://www.e-tobi.net/blog/files/powerbtn.sh && chmod a+x /etc/acpi/powerbtn.sh"

Posted in  | Tags  | 24 comments | no trackbacks

Comments

  1. MarkusJ said 7 days later:

    Diese Nachricht nur zum Dank für die tolle Anleitung! Ich konnte als Laie ohne nenneswerte Probleme die Anleitung bis hierher verfolgen und bei mir läuft alles!

  2. e-tobi said 7 days later:

    Freut mich! :-)

  3. bernie said 8 days later:

    Hallo tobi, eine tolle Anleitung. Ist es auch möglich den timer zu setzen, wenn ich über die Konsole angemeldet bin und mit "halt" oder "shutdown .." den Rechner herunterfahren will?

  4. e-tobi said 8 days later:

    @bernie: out-of-the-box ist das erstmal nicht möglich. Statt "halt" oder "shutdown" kannst du den Rechner aber auch mit svdrpsend HITK Power runterfahrern.

  5. Michael said 16 days later:

    Hallo ! Bekomme bei Install folgenden Fehler:acpiwakeup' missing LSB tags and overrides. Welche Pakete fehlen mir da ? Gruß Michael

  6. e-tobi said 16 days later:

    Das sollte eigentlich kein Fehler sondern nur eine Warnung sein, welche du aber ignorieren kannst. Funktionieren tut's trotzdem. Ich werde das bei Gelegenheit mal mit einem Update beheben.

  7. Michael said 16 days later:

    Na ja, das ausschalten geht auch nicht. und syslog sagt ACPIWakeup functionality is disabled. Gruß Michael

  8. e-tobi said 16 days later:

    Na hast du denn ACPI_ENABLED=yes gesetzt?

  9. Michael said 16 days later:

    Ja,das habe ich. Runter fahren geht jetzt wieder. Habe das Supend to ram wieder raus genommen.Bekomme aber weiterhin das disabled. Gruß Micha

  10. e-tobi said 16 days later:

    "ACPIWakeup functionality is disabled" kommt definitiv nur, wenn nicht ACPI_ENABLED=yes in /etc/vdr/vdr-addon-acpiwakeup.conf gesetzt ist.

  11. Michael said 16 days later:

    Ja, es ist so gesetzt. Habe schon zig mal nach gesehen.Das script pm-suspend geht auch nicht.Gibt keine Fehlermeldung. Macht einfach gar nichts. Vielleicht ist das ja der Hinweis ? Verstehe nicht, wieso gerade mein Rechner so rumbockt ? Gruß Michael

  12. e-tobi said 16 days later:

    pm-suspend Probleme werde ggf. in /var/log/pm-suspend.log protokolliert.

    Zu dem ACPIWakeup-Problem kann ich mich nur wiederholen. Bei Bedarf schaue ich auch gerne mal selber per SSH rein.

  13. Michael said 16 days later:

    Hallo ! Tut mir echt leid das ich hier so rumnerve.ACPIWakeup arbeitet jetzt laut syslog.Habe es einfach noch mal installiert.Zeigt die System zeit zum starten wie im Beispiel oben an. Nur fährt der Rechner einfach nicht hoch. Und /var/log/pm-suspend.log ist bei mir nicht vorhanden. Kann nur pm-powersave.log finden. Gruß Michael

  14. Tobi said 17 days later:

    pm-suspend.log entsteht nur, wenn du mit pm-suspend runterfährst.

    Ansonsten:

  15. Michael said 17 days later:

    Hallo! Erst mal vielen Dank für deine Mühe & Hilfe.Habe mit den Bios Einstellungen experimentiert und jetzt geht es. VDR konnte starten aufnehmen & sich wieder ausschalten. Gruß Michael

  16. cyres said 17 days later:

    Hallo!Müsste die Weckzeit nicht in der Zukunft liegen?

    Nov 10 14:09:59 hdvdr vdr-addon-acpiwakeup: Setting ACPI alarm time to: 2010-11-10 13:15:00 Nov 10 14:09:59 hdvdr vdr-addon-acpiwakeup: Writing to /sys/class/rtc/rtc0/wakealarm Nov 10 14:09:59 hdvdr vdr-addon-acpiwakeup: Writing to /sys/class/rtc/rtc0/wakealarm

  17. e-tobi said 17 days later:

    Beachte, dass die BIOS-Uhr auf UTC-Zeit läuft, also 1 h hinter der Lokalzeit zurück!

  18. cyres said 17 days later:

    Danke für die schnelle Antwort.Dann schreibt er richtig aber wacht nicht auf. root@hdvdr:~# cat /proc/driver/rtc rtc_time : 14:09:59 rtc_date : 2010-11-10 alrm_time : 13:15:00 alrm_date : 2010-11-10 alarm_IRQ : yes alrm_pending : no 24hr : yes periodic_IRQ : no update_IRQ : no HPET_emulated : yes DST_enable : no periodic_freq : 1024 batt_status : okay

  19. cyres said 17 days later:

    Erfolg!Bei meinem Board Asus M4A785T-M muss man den HPET deaktivieren. in /etc/default/rcS eingefügt: HWCLOCKACCESS=no HWCLOCKPARAMS=--directisa

    in /etc/default/grub folgendes als neue Zeile hinzugefügt: GRUB_CMDLINE_LINUX_DEFAULT="hpet=disabled"

    sudo update-grub Jetzt wacht er auf und nimmt auch auf nur abschalten nach Aufnahme macht er noch nicht.

  20. e-tobi said 17 days later:
    rtc_time : 14:09:59
    alrm_time : 13:15:00
    

    Wenn alrm_time < rtc_time, dann schaut's so aus, als wenn du eine UTC-Aufwachzeit setzt, die BIOS-Uhr aber auf Normalzeit läuft.

  21. e-tobi said 17 days later:

    Wegen des Abschalt-Problems wäre das syslog hilfreich. Aber bitte nicht in die Comments: http://pastie.org

  22. cyres said 17 days later:

    Bitteschön! http://pastie.org/1287663 Die Meldungen am Schluß flooden das ganze syslog zu.Ich hoffe du kannst was erkennen.

  23. e-tobi said 17 days later:

    Jetzt lese ich erstmal, was du meinst "abschalten nach Aufnahme".

    Die relevanten Einstellungen findest du unter "Sonstiges". Brückenzeit und Ausschalten bei Inaktivität.

  24. Pete said 2 months later:

    Hallo Tobi,

    zwei kleine Anmerkungen:

    1.) Das vdr-addon-acpiwakeup Paket versucht mittels vdr-addon-acpiwakeup Initskript die Startzeit nach /proc/acpi/alarm zu schreiben. Das schlägt aber fehl, da seit Kernel 2.6.22 /sys/class/rtc/rtc0/wakealarm an Stelle von /proc/acpi/alarm verwendet wird und sich auch das Format geändert hat.

    2.) Bei mir muss HWCLOCKACCESS=no sein, sonst wird der Timer durch das setzen der Hardware-Uhr vor dem Ausschalten wieder gelöscht. Ich vermute, das vdr-addon-acpiwakeup Initskript soll das wieder geradebiegen. Nur funktioniert das ja gerade nicht mit aktuellem Squeeze, siehe 1.)

    Vielleicht kannst Du das in Deinem ansonsten tollen Tutorial noch bereinigen.

Trackbacks

Comments are disabled

 

Categories

Tags

.NET debian dkb mono Notebook squeeze squeezevdr survey vdr visa