set_timer --> No special shutdown configured + shutdown abgebrochen

  • Hallo,


    ich versuche nun schon seit Tagen meinen VDR zum automatischen Aufwachen zu bringen.
    Erster Anlauf über ACPI ist gescheitert, da Board zu alt (dazu habe ich auch einen Beitrag hier im Forum).


    NVRAM-Wakeup wollte ebenfalls nicht laufen und hatte den Nachteil, dass mein Board einen Reboot benötigt hätte (auch ein Beitrag hier im Forum).


    Also habe ich mich entschieden einen Versuch mit der Methode und dem Skript "set_timer" aus dem NVRAM-Wakeup Paket zu versuchen.


    Ich bin nach dieser Anleitung vorgegangen: set_timer


    Das habe ich 1:1 übernommen, bis auf:

    Zitat

    #NVRAMCMD=/usr/sbin/nvram-wakeup
    NVRAMCMD="sudo /usr/sbin/set_timer"

    im ersten Versuch.
    Da hatte ich zuerst für ... /usr/sbin --> .../usr/bin eingesetzt, da auch zuvor dorthin verwiesen wurde.
    Hat aber nicht funktioniert und so habe dann auch an dieser Stelle, die mir trotzdem nicht einleuchtet, alles 1:1 so übernommen.


    Nun erhalte ich folgende Fehlermeldung wenn ich meinen VDR programmiere, bzw. über "poweroff" (auf meiner Tastatur via "v") ausschalten möchte:

    Code
    No special shutdown configured

    und

    Code
    Shutdown abgebrochen


    Ich habe bereits im Forum gestöbert und gelesen, aber da sind einfach zu viele Fragen für mich offen.


    Als erstes kam mir der Gedanke mit fehlenden Rechten.
    Ich starte den VDR unter einen anderen User wie den VDR (VDR als User) selber.
    Habe aber den VDR als Root gestartet und das gleiche versucht. Ergebnis ist ident !
    Daran kann es wohl nicht liegen denke ich mal.


    Hier alle wichtigen Auszüge:


    /etc/init.d/bootmisc.sh

    Code
    /usr/bin/set_timer


    /etc/default/rcS

    Code
    TMPTIME=0 
    SULOGIN=no 
    DELAYLOGIN=no 
    UTC=yes 
    VERBOSE=no 
    FSCKFIX=no 
    RAMRUN=no 
    RAMLOCK=no 
    HWCLOCKACCESS=no 
    HWCLOCKPARS="--directisa"


    Hier bin ich mir nicht sicher ob die Einträge wirklich alle notwendig sind. Vor allem der letzte könnte von NVRAM stammen.


    Zitat

    (3) in /etc/vdr/vdr-nvram-wakeup.conf aendern: auf "enabled"


    Habe ich wie folgt:

    Code
    ENABLED="yes"


    Hier noch die vollständige Conf-Datei: [1]
    Da bin ich mir nicht sicher ob der Fehler auch stecken könnte:

    Zitat

    # SPECIALSHUTDOWN="lilo -R PowerOff ; shutdown -r now"
    SPECIALSHUTDOWN=""


    Müsste ich hier vielleicht einen Eintrag stehen haben ?


    /etc/sudoers

    Code
    Defaults	env_reset  
    # User privilege specification root	
    ALL=(ALL) ALL   
    wohnchris Wohnzimmer = NOPASSWD: /usr/sbin/xfsm-shutdown-helper  
    # set_timer 
    vdr ALL=NOPASSWD: /usr/sbin/set_timer


    Hier könnte evtl. der Konflikt mit den Rechten entstehen ?


    /usr/share/vdr/shutdown-hooks/S90.nvram-wakeup

    Code
    # NVRAMCMD=/usr/sbin/nvram-wakeup 
    # set_timer - discription from "http://www.vdr-portal.de/board/thread.php?threadid=55324#post527032" 
    NVRAMCMD="sudo /usr/sbin/set_timer"


    Code
    # $LOG "$NVRAMCMD -ls $TIMER $COMMANDLINE"  
    # $NVRAMCMD -ls $TIMER $COMMANDLINE  
    # set_timer - discription from "http://www.vdr-portal.de/board/thread.php?threadid=55324#post527032" 
    $LOG "$NVRAMCMD $1 $2" 
    $NVRAMCMD $1 $2


    Die vollständige findet Ihr im Anhang [2]


    Die RTC Zeit im BIOS habe ich auf den 31. um 23.59 und 59 sek. gestellt.


    Wie schaut das mit dem Shutdown Skript aus ?
    Ist da ein Problem zu suchen ?
    Was müsste ich hier prüfen, oder ggf. tun ?


    Das Skript timediff habe ich nicht finden können. Wird aber lt. diesem Artikel benötigt: Weckdienst
    Was hat es damit auf sich ?


    Es muss doch möglich sein, dass ich meinen VDR zum automatischen Start überredet bekomme.

  • Wenn ich in der "vdr-nvram-wakeup.conf"

    Code
    ENABLED="yes"

    setze, alle anderen Möglichkeiten sind dabei auskommentiert, dann möchte der VDR nach einer Zeit x sich ausschalten.


    Das macht ER nur wenn ich wie oben beschrieben konfiguriere.


    Was wird hier angestoßen mit dem

    Code
    ENABLED="yes"

    ?


    Was mir weiterhin verdächtig vorkommt ist das fehlende "vdrshutdown" Skript welches ich unter /usr/share/doc/nvram-wakeup/examples/ gefunden habe.


    Für mich sieht das so aus, als ob überhaupt kein Shutdownscript gezogen wird.


    Auch das fehlende timediff Skript ist merkwürdig. So kann "set_timer" nicht funktionieren.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

    2 Mal editiert, zuletzt von VDRFirtie ()

  • Hallo,


    ich habe folgendes jetzt gemacht:


    Das Skript "set_timer" habe ich nach /usr/sbin kopiert.


    In der /etc/init.d/bootmisc.sh habe ich den Eintrag entsprechend auf /usr/sbin angepasst.


    In der /etc/vdr/vdr-nvram-wakeup.conf habe ich für den Eintrag SPECIALSHUTDOWN="" folgendes ergänzt: SPECIALSHUTDOWN="shutdown -r now" und

    Code
    # Set to "yes" to enable nvram-wakeup for VDR
    ENABLED="yes"

    gesetzt.


    Jetzt erhalte ich zwar nicht mehr die Fehlermeldungen, aber ein Test Timer hat leider auch nicht den gewünschten Erfolg des automatischen Aufwachens gebracht.


    In dem Skript set_timer steht folgendes:

    Zitat

    # The System should not update the hardware clock in the shutdown process.
    # In Debian Woody set HWCLOCKACCESS=no in /etc/default/rcS


    --> Nun verwende ich aber Debian Lenny und habe genau das gemacht. Ist das für Lenny falsch und wenn ja, was muss ich dann tun ?


    Weiterhin steht dort:

    Zitat

    # The wake up time must be set to 23:59:59 the day must be set to 31
    # if your board supports a month setting for the wakeup, set it to July


    Klingt jetzt nicht wie eine Bedingung und sollte auch ohne den Monat Juli funktionieren, da mein Board das mit dem Monat nicht unterstützt.


    Hier wieder der Hinweis auf das vdrshutdown Skript:

    Zitat

    # in vdrshutdown replace:
    # $NVRAMCMD -ls $1
    # by
    # $PATH_TO_SET_TIMER/set_timer $1 $2


    ... und wo muss ich folgendes eintragen:

    Zitat

    # and add the following line to your start script before vdr is started
    # $PATH_TO_SET_TIMER/set_timer


    --> Wäre das schon /etc/init.d/bootmisc.sh ?


    Hier die Rede von time_diff:

    Zitat

    # files to use:
    TIME_DIFF=/video/time_diff


    Wo bekomme ich diese den nun her ?


    In folgendem Wiki, wird etwas zu der ctVDR Version geschrieben: http://www.vdr-wiki.de/wiki/index.php/C%27t-VDR_-_Set_timer
    In der /usr/share/vdr/shutdown-hooks/shutdown90.custom.sh steht ein bisserl was anderes wie in der Anleitung (s. erster Beitrag) die ich benutzt habe.


    Grundsätzlich benutze ich den VDR nicht mit root Rechten !!!


    Stimmt das was ich bisher gemacht habe grundsätzlich ?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

    3 Mal editiert, zuletzt von VDRFirtie ()

  • OK, verstehe ich das richtig, dass time_diff kein Skript ist, sondern lediglich dort etwas gespeichert wird ?


    Code
    TIME_DIFF=/video/time_diff


    Das Verzeichnis video habe ich gefunden, liegt bei mir aber unter /var/lib/video.


    Demzufolge müsste die Änderung in set_timer so aussehen:

    Code
    TIME_DIFF=/var/lib/video/time_diff


    Verstehe ich das so richtig ?


    Kann ich das Skript manuell testen ohne den VDR ?
    Wenn ja, wie müsste das als Aufruf aussehen (bin da echt unterbelichtet). Kann mir jemand ein Bsp. geben ?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

    Einmal editiert, zuletzt von VDRFirtie ()

  • Wenn ich

    Code
    set_timer 1 600

    ausführe, dann erhalte ich folgendes:


    Code
    Wohnzimmer:~# set_timer 1 600
    /usr/sbin/set_timer needs the time command from nvram-wakeup


    Folgendes steht in dem Skript set_timer:


    Code
    # programs to use:
    HWCLOCK=/sbin/hwclock
    TIME=/usr/local/sbin/time


    In /usr/local/sbin gibt es kein Skript namens time.


    Also habe ich den Pfad auf /usr/bin angepasst wo das Skript time liegt.


    Führe ich erneut den Aufruf aus, erhalte ich folgendes:


    Code
    Wohnzimmer:~# set_timer 1 600
    /usr/bin/time: cannot run 1588204975: No such file or directory
    Command exited with non-zero status 127
    0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+72minor)pagefaults 0swaps
    /usr/bin/time: cannot run 996616499: No such file or directory
    Command exited with non-zero status 127
    0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+72minor)pagefaults 0swaps


    Wie kann ich erreichen, dass set_timer die Übergabe nicht von nvram-wakeup erwarte ?
    Was hat es mit dem Skript time auf sich ?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Hi,


    fang nochmal ganz von vorn an:


    1) Wenn Du die Aufwachzeit im Bios auf den 31. Tag um 23:59:59 einstellst und die BiosZeit auf 23:49:59 einstellst, dann das Bios mit speichern verlassen und 10 Minuten warten, wacht der Rechner dann auf?


    2) Funktioniert 1) kannst Du die Bioszeit wiederauf normalzeit einstellen und den Rechner normal hochfahrn und weiter mit set_timer experimentieren.


    Wie schaltest Du den VDR ab? Per Power-Taste der FB, bzw. löst der VDR den shutdown aus?
    Schau mal nach, was bei nvram_wakeup alles an Dateien installiert wird, und wo die Dateien landen, dann solltest Du das richtige "time" finden


    Nochmal kurz zur funktionsweise von set_timer:
    Wenn der VDR per FB runtergefahren wird, wird normalerweise ein shutdownscript angestoßen. Dieses Script übergibt die Zeit des nächsten Timers an set_timer. Set_timer setzt dann die Bios Uhr entsprechend und erstellt die Datei Time_diff, welche beim Aufwachen dafür sorgt, dass die Zeit wieder richtig eingestellt wird. Dazu wird auch beim start set:timer automatisch ausgeführt, welches die time_diff datei einliest und die Uhr korrekt einstellt.



    MfG
    Daniel

  • Hallo,


    den 1. Versuch hatte ich bereits für ACPI schon gemacht. Das hat funktioniert. Deswegen bin ich auch darauf gekommen, dass NVRAM funktionieren könnte.


    Werde ich aber nochmals wiederholen wenn der Rechner nicht gerade (so wie heute Abend) beschäftigt ist.


    Grundsätzlich ist mir die Funktionsweise von set_timer schon klar. Das ist auch nicht mein eigentliches Problem.


    Das vdrshutdown Skript liegt unter /usr/share/doc/vdr/examples und ich kann mir nicht vorstellen, dass dieses wirklich benutzt wird. Auf der anderen Seite fährt der Rechner über deb VDR runter.


    Wo müsste den das Shutdown Skript liegen, damit der VDR dies nutzt ?
    Wenn ich das richtig gelesen habe, dann wird bei der Installation von nvram-wakeup das bereits vorhandene vdrshutdown Skript ausgetauscht. Aber da ist ja der Hacken.


    Dazu nutze ich auf der Tastatur (habe noch keine FB) "v" = Poweroff und dann löst VDR den Shutdown aus.


    time ist ein Deb-Paket, was aber meines Erachtens nichts mit nvram-wakeup zu tun hat. Das müsste ich ja dann in den Sourcen finden, oder ?
    Vielleicht hat das time was set_timer meint

    Code
    TIME=/usr/local/sbin/time

    auch mit dem time was ich als Paket meine nichts zu tun.


    Wenn Du mal bei den Sourcen von nvram-wakeup schaust, dann gibt es dort zwei Dateien die vielleicht passen könnten:


    Code
    time.8


    Code
    time.c


    Erstere sieht für mich eher wie eine Beschreibung aus. Zweite ist ein Skript.


    Die muss ich auf dem Rechner mal suchen gehen. Aber liegen beide nict da, wo set_timer sie erwartet.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

    Einmal editiert, zuletzt von VDRFirtie ()

  • Hi,


    time.8 und time.c sind sourcecodes und müssen kompiliert werden, mit gcc.
    Wie hast Du nvram-wakeup installiert? Über apt-get? Dann schau Dir mal die .deb Datei an, da müßte eigentlich alles drinn sein, wenn mich mein Wissen von Debian nicht täuscht, nutze das ja selber schon ewig nicht mehr. Damit sollte sich auch herausfinden lassen, wo das richtige "time" liegt.
    Ansonsten kannst Du auch mal folgendes in die Konsole eingeben, am besten als root:

    Code
    find / -name time


    Damit sollte er alle Dateien finden, die time heißen. Kann aber ne weile dauern ;)


    Zitat

    Wo müsste den das Shutdown Skript liegen, damit der VDR dies nutzt ?


    Gute Frage, kann ich Dir nicht beantworten. Normalerweise wird das Shutdownscript dem VDR beim starten mitgegeben, ich glaube mit dem Parameter "-s". Da sollte sich mal einer der Debian-Leute melden.


    btw: Wenn das ein reiner VDR Rechner wird, warum nutzt Du keine VDR-Distri wie Gen2VDR oder YaVDR oder oder oder? Dort läuft meistens alles ootb ;)


    MfG
    Daniel

  • Habe das richtige "time" wohl gefunden und von /usr/bin nach /usr/local/sbin kopiert. In /usr/bin habe ich umbenannt.


    Code
    TIME=/usr/local/sbin/time

    damit sollte das nun passen.


    Was ich jetzt seit ein paar Tagen habe: Rechner fährt hoch und die Systemzeit ist jedes mal komplett verstellt. Scheinbar immer auf 00:00 Uhr (UTC=23:00 Uhr).


    Verstehe ich nicht ganz.


    Das ist seit dem ich auf der Konsole versucht habe

    Code
    set_timer 1 600

    abzusetzen.


    Mir fehlt aber noch die Nr. mit dem vdrshutdow Skript und die diversen Anpassungen in der aus "set_timer" die dort beschrieben sind.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

Jetzt mitmachen!

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