ACPI-Wakeup funzt, aber wie?

  • Ich probiere mich grade daran meinem VDR (siehe Sig.) beizubringen den TV bei manuellem Start via FB automatisch mit einzuschalten. Bisher muss ich dazu nach dem Hochlaufen noch einmal die gleiche Taste der FB drücken, damit der VDR den entsprechenden IR-Befehl via LIRC/irsend absetzt. Nun möchte ich durch Abgleichen des zuletzt gesetzten Timers (/proc/acpi/alarm) + uptime mit der aktuellen Zeit (oder so ähnlich) herausfinden, ob der VDR manuell oder via Timer gestartet wurde. Ich schaffe es allerdings nicht, den VDR durch manuelles setzen von /proc/acpi/alarm zu starten, das installierte acpi-wakeup-addon funktioniert aber!?


    Die BIOS-Zeit läuft in UTC, also müsste die Kiste doch so aufwachen:


    Tut aber nicht!? Dazu hat /proc/acpi/alarm nach dem Reboot immer den Tag verschluckt (00?). Jahr und Monat verschwinden sofort (echo 2009-05-10 08:30:31 >/proc/acpi/alarm; cat /proc/acpi/alarm -> 2008-04-10 08:30:31; nach Reboot 2008-04-00 08:30:00).


    Geht das acpi-wakeup-addon einen anderen Weg? Was mache/verstehe ich falsch?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Ich verwende ACPI-Wakeup, Tag und Monat werden nicht immer unterstützt, bei mir sieht das aktuell so aus für den nächsten Event:

    Code
    vdr:~# cat /proc/acpi/alarm
    2008-00-00 04:00:00

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Zitat

    Original von geeg07
    Ich verwende ACPI-Wakeup, Tag und Monat werden nicht immer unterstützt, bei mir sieht das aktuell so aus für den nächsten Event:

    Code
    vdr:~# cat /proc/acpi/alarm
    2008-00-00 04:00:00


    Ich sagte ja, das ist bei mir ähnlich. Das vom VDR via acpi-wakeup-addon gesteuerte Aufwecken funktioniert bei mir ja auch. Nur kann ich es halt nicht nachvollziehen...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Hast du den vdr vor deinen Versuchen beendet?
    Der funkt dir sonst vermutlich dazwischen.


    Ich habe das gerade getestet vdr gestoppt,

    Code
    echo 2008-04-09 11:16:00>/proc/acpi/alarm
    poweroff

    Der vdr wacht korrekt auf.
    Läuft der vdr wenn ich die Befehle absetze funktioniert der Wakeup nicht, da in diesem Fall der nächtliche Aufwach-Event gesetzt wird.

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Zitat

    Original von geeg07
    Hast du den vdr vor deinen Versuchen beendet?


    Ja (siehe Code-Abschnitt in meinem ersten Beitrag)!

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Zitat

    Original von habichthugo


    Ja (siehe Code-Abschnitt in meinem ersten Beitrag)!


    Sorry, das habe ich überlesen :rolleyes:


    Bei meinem vdr2 funktioniert das (wenn es dir leider auch nicht weiterhilft)

    Code
    vdr:~# /etc/init.d/vdr stop
    Stopping Linux Video Disk Recorder: vdr.
    vdr:~# echo 2008-04-09 11:33:00>/proc/acpi/alarm
    vdr:~# echo 2008-04-09 11:33:00>/proc/acpi/alarm
    vdr:~# poweroff

    einziger Unterschied, mein vdr läuft auf Localtime.

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Hallo


    Ist es bei ACPI nicht so:


    Wenn du einen Timer 2 Tage im vorau um 18:00 programmierst, das der Rechner bis zum Ereignis immer um 18:00 aufwacht, feststellt es liegt nichts an, und nach der Inaktivüberwachung runterfäthrt?


    Bei NVRAM-Wakerup wird hingegen Datum und Uhrzeit komplett unterstützt.


    gruß
    Networker

  • Danke für eure Bemühungen, aber ich sagte doch Eingangs, dass das Aufwachen prinzipiell reibungslos funktioniert. Prinzipiell heisst, acpi-wakeup per ctvdrcfg installiert und geht. Ich kann es halt nur nicht händisch nachvollziehen. Ich wüsste nicht, was ich anders machen sollte als im Code-Abschnitt meines ersten Posts gezeigt...
    Is so wie so schnurz, weil mir nun klar geworden ist, dass mir das Erkennen, ob der VDR via Timer gestartet wurde, nicht wirklich weiter hilft. Nicht via Timer eingeschaltet heisst leider nicht via FB, es gibt ja auch noch WOL oder das ich die Kiste mal per Power-Taste am Gerät anwerfe, um z.B. Wartungsarbeiten durchzuführen. Dann sollen TV und Surround-System natürlich nicht anspringen. Irgend wie muss die Info. vom ATRIC-Einschalter direkt in den VDR...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Hallo,


    bei euch läuft ACPI mit dem Timer vom VDR?
    Wenn ich den Timer im VDR stelle gigt er es nicht an ACPI weiter.


    wenn ich den manuellen test mache mit:


    echo 0 > /sys/class/rtc/rtc0/wakealarm
    date +%s -d "Thu Apr 15 11:20:00 CEST 2008" > /sys/class/rtc/rtc0/wakealarm

    cat /proc/driver/rtc


    klappt es und der rechner fährt hoch zu dem angegebenen Zeitpunkt.
    Wo könnte mein Fehler sein das es die Timeraufnahmen nicht übernimmt?


    Die Powertaste am VDR oder der FB klappt und er fährt runter.


    ERBITTE HILFE!!

    <-- Der Ehrgeiz gibt zu letzt auf. -->


    - ASUS P2-M2A690G / 2x2,2Ghz / 2GB RAM /250 GB / FF-Karte TT S2300 / VDR 1.6.0-2 ctvdr8 - ct-Distri v7.0 und Debian v5.0 - 2.6.28
    - ACER 5520 - VDR 1.6.0-2 - Debian v5.0 Lenny - 2.6.28-2 - XINELIBOUT
    :portal4

  • Zitat

    Original von hightower
    Wo könnte mein Fehler sein das es die Timeraufnahmen nicht übernimmt?


    Dem VDR gibst Du mit "-s skript" das Skript mit, das die Zeit ins BIOS schreiben soll. Da würde ich anfangen zu suchen, z.B. bei allen wichtigen Sachen ein 'echo "blah <zeit>" >>/tmp/shutdowntest.log" einfügen, damit man ein Protokoll hat und weitersuchen kann.

  • Das Standardskript von Tobi arbeitet noch mit /proc/acpi/alarm. Seit ein paar Kernelversionen gibt es das nicht mehr und man muss das shutdownskript auf die wakealarm-Methode anpassen, siehe hier. Bei mir funktioniert seit Monaten die neue Methode stabil.

  • Ich habe die Anpassungen vorgenommen.
    Werde euch mal meine Einstellungen posten .


    Wie kann ich "">>/tmp/shutdowntest.log" einfügen, """ am besten einfügen um vielleicht allem auf den Zahn zu fühlen?


    GLG


    -menu.lst-
    default 0
    timeout 5


    ## ## End Default Options ##


    title Debian GNU/Linux, kernel 2.6.22-4-486
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.22-4-486 root=/dev/sda1 ro BOOT_
    initrd /boot/initrd.img-2.6.22-4-486
    savedefault


    title Debian GNU/Linux, kernel 2.6.22-4-486 (single-user mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.22-4-486 root=/dev/sda1 ro BOOT_ single
    initrd /boot/initrd.img-2.6.22-4-486
    savedefault


    -vdr-addon-acpiwakeup.conf-
    # Activate/deactivate ACPIWakeup with yes/no:


    ACPI_ENABLED=yes


    # How many minutes should the machine wake up before the timer starts:


    ACPI_START_AHEAD=5


    # If you want your VDR machine to wakeup in regular intervals (i.e. for
    # updateing EPG data), specify a day interval and a wakeup time:


    ACPI_REGULAR_DAYS=0 # 0=disabled, 1=each day, 2=each 2'nd day, 3=...
    ACPI_REGULAR_TIME=01:00 # HH:MM


    # User-space interface for ACPI alarm time. This is /proc/acpi/alarm
    # by default.


    ACPI_ALARM=/sys/class/rtc/rtc0/wakealarm


    -modules-
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.


    loop
    rtc_cmos
    sbp2


    -S90.acpiwakeup-
    #!/bin/sh
    #
    # VDR shutdown hook for ACPI - Tobias Grimm <vdr@e-tobi.net>
    # --------------------------
    #
    # This shutdown hook sets the wakeup time for the next timer using
    # ACPI.
    #


    # read arguments for acpi-wakeup from conf-file
    . /etc/vdr/vdr-addon-acpiwakeup.conf


    # take care of UTC setting
    if [ -f /etc/default/rcS ]; then
    UTC=$(egrep "^[^#]*UTC=" /etc/default/rcS | tail -n1 | cut -d= -f2)
    fi


    if [ "$UTC" = "yes" ]; then
    TIME_FUNCTION="gmtime"
    else
    TIME_FUNCTION="localtime"
    fi


    # Defaults:
    [ -z "$ACPI_ENABLED" ] && export ACPI_ENABLED="yes"
    [ -z "$ACPI_ALARM" ] && export ACPI_ALARM="/sys/class/rtc/rtc0/wakealarm"
    [ -z "$ACPI_REGULAR_DAYS" ] && export ACPI_REGULAR_DAYS="0"
    [ -z "$ACPI_REGULAR_TIME" ] && export ACPI_REGULAR_TIME="00:00"
    [ -z "$ACPI_START_AHEAD" ] && export ACPI_START_AHEAD="5"


    LOG="logger -t vdr-addon-acpiwakeup "
    TIMER=$1
    WAKEUP_FILE="/var/cache/vdr/acpiwakeup.time"


    TimeToString ()
    {
    echo $(perl -e "(\$s,\$mi,\$h,\$d,\$mo,\$y,\$t,\$t,\$t)=\
    $TIME_FUNCTION($1); printf(\"%04d-%02d-%02d %02d:%02d:%02d\",\
    \$y+1900,\$mo+1,\$d,\$h,\$mi,\$s);")
    }



    if [ $ACPI_ENABLED = "yes" ]; then
    # check if we should wake up before the next timer:
    if [ $ACPI_REGULAR_DAYS -gt 0 ]; then
    REGULAR_TIMER=$(date -d "$ACPI_REGULAR_TIME" +%s)
    if [ $REGULAR_TIMER -lt $(date +%s) ] ; then
    REGULAR_TIMER=$(($REGULAR_TIMER + 24 * 60 * 60))
    fi
    if [ $TIMER -eq 0 ] || [ $TIMER -gt 0 -a $REGULAR_TIMER -lt $TIMER ] ; then
    TIMER=$REGULAR_TIMER
    fi
    fi
    if [ $TIMER -gt 0 ]; then
    TIMER=$(($TIMER - 60 * $ACPI_START_AHEAD))
    fi
    if [ $TIMER -gt 0 ] && [ $TIMER -lt $((`date +%s` + 5 * 60)) ]; then
    $LOG "Can not set wakeup time less than 5 minutes ahead."
    echo "ABORT_MESSAGE=\"Wakeup in less than 5 minutes, aborting!\""
    exit 1
    else
    # set the wakeup time
    if [ -e $ACPI_ALARM ]; then
    if [ $TIMER -eq 0 ]; then
    # no wakeup - I don't really now right now, how to disable
    # the wakeup !!!!
    TIMER=$((`date +%s` - 5 * 60))
    TIME_TO_SET=$TIMER
    else
    # convert time_t to YYYY-MM-DD HH:MM:SS
    TIME_TO_SET=$TIMER
    fi


    # now set the wakeup time:
    $LOG "Current ACPI alarm time: `cat $ACPI_ALARM`"
    $LOG "Setting ACPI alarm time to: $TIME_TO_SET"
    echo 0 >$ACPI_ALARM
    echo $TIME_TO_SET >$ACPI_ALARM


    # Set it once more - some boards require this!
    echo 0 >$ACPI_ALARM
    echo $TIME_TO_SET >$ACPI_ALARM
    $LOG "New ACPI alarm time: `cat $ACPI_ALARM`"


    # remember wakeup time for stop script
    echo $TIME_TO_SET >$WAKEUP_FILE
    else
    $LOG "$ACPI_ALARM not found. ACPI needed!!!"
    echo "ABORT_MESSAGE=\"ACPI not installed, shutdown aborted!\""
    exit 1
    fi
    fi
    else
    $LOG "ACPIWakeup functionality is disabled"
    fi



    Die Anpassungen ECKI sollten so schon eingetragen sein.
    GLG


    PS1: benötigt ihr noch andere Files?
    PS2: WO LIEGT AN DER EINSTELLUNG DER WURM? ICH KÖNNTE VERZWEIFELN!! SETZTE nun FAST NE BELOHNUNG AUS ;)

    <-- Der Ehrgeiz gibt zu letzt auf. -->


    - ASUS P2-M2A690G / 2x2,2Ghz / 2GB RAM /250 GB / FF-Karte TT S2300 / VDR 1.6.0-2 ctvdr8 - ct-Distri v7.0 und Debian v5.0 - 2.6.28
    - ACER 5520 - VDR 1.6.0-2 - Debian v5.0 Lenny - 2.6.28-2 - XINELIBOUT
    :portal4

    8 Mal editiert, zuletzt von hightower ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!