Ubuntu HD VDR mittels TechnoTrend S2-6400 - ACPI Shutdown/Wakeup

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

ACPI Shutdown/Wakeup

Damit eurer VDR automatisch vor einer Aufnahme startet, und nach der Aufnahme sich wieder "schlafen" legt, benötigt Ihr hierfür ACPI Shutdown/Wakeup.

ACPI Funktion des Mainboards prüfen

dmesg |grep -i acpi
[    0.000000]  BIOS-e820: 00000000bff90000 - 00000000bff9e000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000bff9e000 - 00000000bffd0000 (ACPI NVS)
[    0.000000]  modified: 00000000bff90000 - 00000000bff9e000 (ACPI data)
[    0.000000]  modified: 00000000bff9e000 - 00000000bffd0000 (ACPI NVS)
[    0.000000] ACPI: RSDP 00000000000fbba0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000bff90100 0005C (v01 060810 XSDT1613 20100608 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000bff90290 000F4 (v03 060810 FACP1613 20100608 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000bff904a0 099D4 (v01  A1537 A1537000 00000000 INTL 20060113)
[    0.000000] ACPI: FACS 00000000bff9e000 00040
[    0.000000] ACPI: APIC 00000000bff90390 00080 (v01 060810 APIC1613 20100608 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000bff90410 0003C (v01 060810 OEMMCFG  20100608 MSFT 00000097)
[    0.000000] ACPI: WDRT 00000000bff90450 00047 (v01 060810 NV-WDRT  20100608 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000bff9e040 0007A (v01 060810 OEMB1613 20100608 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000bff99e80 00038 (v01 060810 OEMHPET0 20100608 MSFT 00000097)
[    0.000000] ACPI: NVHD 00000000bff9e0c0 00284 (v01 060810  NVHDCP  20100608 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
usw....

Zugriff auf RTC wakealram prüfen

sudo find /sys/class/rtc/rtc0/wakealarm
/sys/class/rtc/rtc0/wakealarm

Bios Uhrzeit auf UTC Zeit stellen

sudo hwclock --systohc --utc

Prüfen ob UTC gesetzt ist

sudo cat /etc/default/rcS
# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.

TMPTIME=0
SULOGIN=no
DELAYLOGIN=no
UTC=yes
VERBOSE=no
FSCKFIX=no

Prüfen ob die Bios Uhrzeit auf UTC steht

sudo hwclock --debug
Benutze /dev interface to clock.
Letzte Abweichungskorrektur vorgenommen bei 1286457365 Sekunden nach 1969
Letzte Kalibrierung vorgenommen bei 1286457365 Sekunden nach 1969
Hardwareuhr geht nach UTC Zeit
Die Hardwareuhr läuft vermutlich in UTC.
Warte auf Uhrtick…
… erhielt Uhrtick
Zeit gelesen aus Hardwareuhr: 2010/10/07 13:23:43
Zeit der Hardwareuhr: 2010/10/07 13:23:43 = 1286457823 Sekunden seit 1969
Do 07 Okt 2010 15:23:43 CEST  -0.893575 Sekunden

Manuellen Test durchführen

Hier wird der "wakealarm" gelöscht falls vorhanden:

sudo bash -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"

Und hier wird der "wakealarm" auf 5 Minuten nach der aktuellen UTC Uhrzeit gesetzt.

sudo bash -c "echo `date '+%s' -d '+ 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"

Gesetzten Timer prüfen

"rtc_time" zeigt die aktuelle UTC Uhrzeit des Bios an. Der Wert "alrm_time" zeigt die UTC Uhrzeit an wann der VDR hochfahren wird. In unserem Fall sind das 5 Minuten nach der aktuellen UTC Uhrzeit des Bios.

sudo cat /proc/driver/rtc
rtc_time        : 07:04:14
rtc_date        : 2011-06-12
alrm_time       : 07:09:03
alrm_date       : 2011-06-12
alarm_IRQ       : yes
alrm_pending    : no
24hr            : yes
periodic_IRQ    : no
update_IRQ      : no
HPET_emulated   : yes
BCD             : yes
DST_enable      : no
periodic_freq   : 1024
batt_status     : okay

VDR herunterfahren

sudo poweroff

ACPI Wakeup automatisieren

Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen

Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.

sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/poweroff
vdruser ALL=(ALL) NOPASSWD: /sbin/hwclock

vdrpoweroff.sh Skript anpassen

vi /usr/local/bin/vdrpoweroff.sh
#!/bin/bash
sudo hwclock --systohc --utc
DEV=/sys/class/rtc/rtc0/wakealarm

nextboot=$(($1 - 900 ))  # Start 15 minutes earlier
sudo sh -c "echo 0 > $DEV"
sudo sh -c "echo $nextboot > $DEV"

sudo poweroff

ACPI Shutdown/Wakeup testen

Jetzt über das VDR OSD einen Timer setzen und den VDR über das OSD ausschalten. Und dann hoffen das der VDR startet :=).

Links

  1. ACPI Wakeup