Zitat:
Settime dürfte sich allerdings nur mit großem Aufwand bei c't realisieren lassen.
... hm? Geht doch ganz einfach unter c't VDR 5:
"Wenn ACPI Wakeup und NVRAM Wakeup nicht funzen:
Einfach set_timer aus dem NVRAM Wakeup Paket nehmen."
Prinzip: Beim Runterfahren des Rechners haut der VDR nicht die Aufwachzeit am NVRAM-Schutzmechanismus vorbei ins BIOS, geht dann schlafen und wacht zur hoffentlich korrekt verstandenen Aufwachzeit wieder auf (so wie bei NVRAM Wakeup).
Sondern: Ein VDR Rechner wacht immer am 31.7. um 23.59 Uhr auf (manuell im BIOS einmal genau so eingetragen), hat aber vor dem Schlafengehen die Hardware-Zeit der Maschine klugerweise auf ein paar Stunden oder Tage vor besagtem 31.7. verstellt (dies geschieht praktischerweise mit einem Betriebssystem-Standardbefehl und ist technisch kein "Hack", hoechstens ein "logischer"Augenzwinkern .
Der Rechner "schlaeft" also eine vorher berechnete Zeit lang.
Dazu muss man aber ein paar Dinge geradeziehen:
(0) "nvram-wakeup" sollte also installiert sein, ACPI Wakeup nicht.
(1) in /etc/init.d/bootmisc.sh irgendwo einfuegen:
/usr/bin/set_timer
(Damit wird die "verbogene" Hardware-Zeit beim Hochfahren gradegerückt)
(2) in /etc/default/rcS aendern/einfuegen:
HWCLOCKACCESS=no
(So wird verhindert, dass ein anderer Prozess beim Runterfahren die Systemzeit der laufenden Maschine in die Hardwarezeit schreibt und alles wieder zunichte macht)
(3) in /etc/vdr/vdr-nvram-wakeup.conf aendern:
auf "enabled"
(Ansonsten wird der NVRAM-Wakeup ignoriert, das set_timer ist ja ein Teil davon)
(4) als Paket nachinstallieren:
apt-get install sudo
(Mit SUDO kann auch ein nicht-ROOT-User an der Hardwarezeit rumpfuschen)
(5) "sudo" durch eintippen von "visudo" konfigurieren, Konfigdatei ist /etc/sudoers
vdr ALL=NOPASSWD: /usr/sbin/set_timer
(Wenn set_timer als root läuft, wird auch /sbin/hwclock darin als root gestartet)
(6) in /usr/share/vdr/shutdown-hooks/S90.nvram-wakeup an 2 Stellen abaendern:
#NVRAMCMD=/usr/sbin/nvram-wakeup
NVRAMCMD="sudo /usr/sbin/set_timer"
#$LOG "$NVRAMCMD -ls $TIMER $COMMANDLINE"
#$NVRAMCMD -ls $TIMER $COMMANDLINE
$LOG "$NVRAMCMD $1 $2"
$NVRAMCMD $1 $2
(7) fertig
Funzt bei mir prima (ausser, wenn ein apt-get upgrade eine neue Version des S90.nvram-wakeup einspielt und meine Änderungen überschreibt und ich mich wundere, warum der Rechner nicht mehr runterfährt...)