Entladen der Treibermodule bei VDR Nichtbenutzung

  • Hallo,


    Wäre es irgendwie möglich, daß man den VDR beendet und die DVB Treiber entlädt sobald, der VDR nicht mehr zum TV schauen benutzt wird?
    Natürlich sollte der VDR dann automatisch wieder gestartet werden, sobald eine Aufnahme gestartet wird.
    Wäre dann praktisch so eine Art Pseudo StandBy. Soweit ich weiß, werden die DVB Karten weniger heißt, wenn keine Treiber geladen sind oder?
    Für mich wäre das ganz praktisch, weil bei mir auf dem VDR noch ein Apache und ein paar andere Sachen laufen.


    Oder gibt es sowas schon? Hab bei der Suche jetzt irgendwie nix gefunden...


    Viele Grüße


    Andreas

  • hi,


    also die module des dvb-treiber kannst du einfach mittels rmmod entladen (in der richtigen reihenfolge). hierfür müsstest du dir also ein skript schreiben, daß den vdr beendet und danach mittels rmmod die module entlädt. etwas trickreicher wird es da schon, wenn du möchtest, daß der vdr sich automatisch wieder startet, wenn ein timer ansteht. hierfür müsstest du z.b. beim stoppen des vdr den nächsten timer auslesen lassen und dann z.b. einen at-job generieren, der den vdr zum zeitpunkt des nächsten timers wieder startet. wenn der vdr gestoppt ist, wird ansonsten keine aufnahme stattfinden.


    gruß
    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • Einfach beim Beenden ein Cronjob erstellen lassen der 1x ausgefuehrt wird.
    Am Besten noch mit Zeitabfrage , falls der Rechner doch mal ausgeschaltet
    wird und bei Neustart der Cronjob nicht ausgefuehrt wird.
    Waere am saubersten.


    Klingt ziemlich einfach und wer nen Apache laufen hat , der sollte dazu in der
    Lage sein ;)


    bye

  • Hallo,
    erstmal danke für die Antworten.


    Was ich mich noch Frage ist, inwieweit es möglich ist den VDR dann via Fernbedienung zu beenden. Geht das irgendwie, daß man normal beim drücken der Power Taste auf der Fernbedienung den VDR Beendet und die Treiber entlädt und wenn man die Power Taste 5sek oder so drückt der PC runtergefahren wird, egal ob der VDR läuft oder nicht?
    Von Lirc hab ich keine ahnung, sollte aber irgendwie gehen oder?


    Viele Grüße


    Andreas

  • hi,
    wäre cool wenn du das mit dem timer hinbekommst und auch veröffentlichst. Das mit dem laden und entladen der treiber mit irexec funktioniert bei mir seit fast einem jahr ohne probs.
    hier kannst mal sehen wie meine lircrc datei aussieht:


    Code
    begin
    button = power
    prog = irexec
    config = if pidof vdr >/dev/null; then killall vdr; killall runvdr; sleep 2; cd /usr/local/src/DVB/driver; make rmmod;  else at now -f /usr/local/src/VDR/runvdr; fi
    end

    VDRHD-System: Intel Celeron E3200 Dualcore 2,4GHZ; MB GIGABYTE GA-P31-ES3G; G-Skill PC-800 DDR Ram 2GB; VGA Gainward Bliss Geforce GT 9500 1024MB; Technotrend Budget S2-1600; Technotrend Skystar 2; Ausgabe über HDMI

  • Zitat

    Originally posted by Morone
    Einfach beim Beenden ein Cronjob erstellen lassen der 1x ausgefuehrt wird.


    Genau dafür gibt's den at-Daemon.


    Da braucht man nicht umständlich den Eintrag wieder aus der Crontab löschen.


    marvel

  • hi,


    Zitat

    Original von theblackraven
    wäre cool wenn du das mit dem timer hinbekommst und auch veröffentlichst.


    das mit dem start vom vdr für eine aufnahme hab ich per at-daemon wie folgt schon seit einigen monaten laufen - funzt bei mir wunderbar:


    dazu brauchst du mal in dem skript, welches beim shutdown vom vdr aufgerufen wird, in etwa folgendes:


    Code
    echo /usr/local/bin/runvdr | at `/usr/local/bin/amtime.pl -d $(($1 - 60)) +"%R %D"` > /video/atjob 2>&1

    damit wird ein at-job für den aufnahmezeitpunkt ($1 minus 60 sekunden) mit dem entsprechenden startbefehl für den vdr (in diesem fall /usr/local/bin/runvdr) angelegt und gleich die ganze ausgabe in eine textdatei geschrieben (hier: /video/atjob). da beim anlegen des at-jobs die "sekundenzeit" nicht angenommen wird, hab ich mich zur zeitformat-umwandlung eines existierenden perl-skripts (amtime.pl) bedient, welches hier zu finden ist.


    im startskript für den vdr hab ich dann noch folgendes stehen:


    Code
    if [ -r /video/atjob ]; then
        awk '{ print $2 }' /video/atjob > /tmp/jobnr
        atrm `cat /tmp/jobnr`
        rm /video/atjob
        rm /tmp/jobnr
      fi

    das soll bezwecken, dass wenn der vdr nicht zum aufnahmezeitpunkt gestartet wird, dass dann der atjob sinnvollerweise wieder gelöscht wird. dazu wird die vorher angelegte textdatei (/video/atjob) verwendet, um an die jobnummer heranzukommen.


    ja, ich glaub, das wars eigentlich schon - ich hoff, ich hab nichts vergessen... ;)


    hth & cheers,
    michael

  • hi,
    ist zwar nun lange her, aber jetzt will ich es endlich realiseren. ich kenn mich zwar garnicht mit scripten aus, aber ich finde in deinem script nirgendes einen eintrag, dass erst mal der timer des vdr ausgelesen wird, damit at weiß wann runvdr wieder ausgeführt wird. wäre net wenn mir das jemand erklären könnte.


    theblackraven

    VDRHD-System: Intel Celeron E3200 Dualcore 2,4GHZ; MB GIGABYTE GA-P31-ES3G; G-Skill PC-800 DDR Ram 2GB; VGA Gainward Bliss Geforce GT 9500 1024MB; Technotrend Budget S2-1600; Technotrend Skystar 2; Ausgabe über HDMI

Jetzt mitmachen!

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