Wake on Lan vor Timeraufnahme

  • Hi,


    ich hab da ne Frage. Ich würde gerne meine Filme direkt auf meine NAS aufnehmen. Die NAS kann Wake-On-Lan (WOL) und das Verzeichnis ist per NFS gemountet. Klappt soweit.


    Meine Idee ist nun, die Timer zu programmieren und direkt auf das gemountete Verzeichnis zu schreiben. Dafür sollte vor der aufnahme (ca. 1 Min vorher) ein Magic Packet an die NAS geschickt werden. Alternativ wäre z.B. ein Skriptaufruf, der mittels ethtool oder etherwake das Magic Packet schickt denkbar. Wo muß ich hier ansetzen?


    Zum Beispiel könnte man bevor das Popup ("Eine Aufnahme wurde gestartet") das Skript aufrufen. Welche Dateien sind denn hier wichtig? Bzw. gibt es irgendwo eine Developer-Doku bzgl. Enigma?


    Ich finde es im Moment "lästig" die Filme auf die Dreambox aufzunehmen und anschl. auf die NAS zu kopieren...



    Gruesse
    MausFan

    DM8000 via NFS an QNAP TS439 4TB RAID 5

  • Schade, bislang keine Antworten. Ich suche genau die gleiche Funktionalität. Mir ist zudem aufgefallen, dass auf meiner dm800 das busybox kein etherwake inne hat.


    Mein Work-around ist das nachfolgende Python-Script, welches ich dann per

    Code
    python wakeonlan.py

    aufrufe:



    wobei in der vorletzten Zeile die Zeichenkette

    Code
    \x00\x01\x02\x03\x04\x05

    durch die MAC-Adresse des aufzuweckenden Hosts zu erstetzen ist.


    Wenn jetzt noch jemand die Frage von MausFan beantwortet, wäre die Stromsparlösung fast perfekt...


    Gruß
    boardschauer

  • Ich habe mir ein kleines Skript geschrieben, mit dem die Timer-Datei überprüft wird und kurz vor dem Timer ein Programm aufgerufen werden kann. Das ganze läuft unter Enigma2 auf einer Dreambox 800, müsste ohne großen Aufwand auch auf Enigma1 angepasst werden können.


    Damit das Skript funktioniert muss folgendes erledigt werden:


    • Crontab-Verzeichnis anlegen: mkdir -p /var/spool/cron/crontabs/
    • Cron-Daemon starten (dies müsste unbedingt bei Systemstart erfolgen, also ein System-Skript um diesen Befehl erweitern: /usr/sbin/crond
    • Mein obiges python-Skript anlegen unter /var/script/wakeonlan.py - dort die MAC-Adresse des Rechners eintragen
    • Mittels crontab -e folgenden Eintrag erzeugen:

      Code
      * * * * * /var/script/scan-timers.sh


    • crontab speichern ("ESC:wq")


    Und hier das eigentliche Skript /var/script/scan-timers.sh:




    Es ist noch nicht perfekt, erfüllt aber seinen Zweck. Die Wake-On-LAN-Aktion wird in obigen Fall 10 Mal (jede Minute einmal) vor dem Start des Events durchgeführt.


    Gruß
    boardschauer

  • hmpf, ich hab versucht, das script "scan-timers.sh" über die crontab alle 5min aufzurufen, aber irgendwie scheint da nix zu passieren.
    Ic erhalte weder irgendeine Fehlermeldung, noch wird mir im \tmp das log-File angelegt.
    Da scheint´s an was Grundlegendem zu scheitern.


    - Cron-Dienst läuft
    - Job in der Crontab angelegt, der mir zyklisch die \usr\script\scan-timers.sh startet
    - scan-timers.sh auf 755 gesetzt
    - Den Aufruf des eigentlichen "WakeLan" ab ich derzeit noch rausgenommen, weil ich das Ganze erstmal grundsätzlich testen wollte...


    Was kann ich jetzt noch tun??



    edit:
    weitere Info: Wenn ich das script aus dem dateimanager ausführen möchte, bekomme ich die meldung /usr/script/scan-timers.sh: not found


    was findet er da jetzt nicht? die datei selbst wohl nicht. schliesslich hab ich sie ja ausgeführt...??

    9 von 10 Stimmen in meinem Kopf sagen, ich sei nicht verrückt.
    Die Zehnte summt die Melodie von Tetris... :dumdidumm:

    Einmal editiert, zuletzt von dexter_26 ()

  • Hallo dexter,


    hast du mittlerweile dein Problem lösen können?
    Bzw. das WOL vor dem Timerbeginn hinbekommen?



    Viele Grüße
    Keule

  • ja, hab das WOL über CRON-Job damals hinbekommen. Ich hab damals nochmal alles nochmal neu auf die Box kopiert, und dann lief es plötzlich...
    Hab das Thema dann aber nicht mehr weiter verfolgt, weil ich den Rechner, den ich als HomeServer verwendet hab, für andere Zwecke missbraucht hab.

    9 von 10 Stimmen in meinem Kopf sagen, ich sei nicht verrückt.
    Die Zehnte summt die Melodie von Tetris... :dumdidumm:

  • Hätt auch Interesse an Script o.ä. um von der DM8000 ein WOL-Paket an die MAC des PC zu senden. Hab kein lauffähiges etherwake, o.ä. für aktuelles Image gefunden... kann jemand helfen?

    Wir haben alle den gleichen Himmel, aber nicht alle den gleichen Horizont. *** DM8000 - OE2.0+GP3.2

  • tomde


    - dazu installierst du einmal das angehängte .ipk
    - trägst die entsprechend zu weckende MAC in das script (immer linux-fähigen editor nehmen wie Notepad++)
    - script nach /usr/script kopieren und rechte auf 775


    und dann kannste es z.b mit dem MultiQuickButton auf eine taste legen
    (green_long oder so)


    :winking_face:

  • super, danke, da bleibt nun nur ein Wunsch offen... auch die Box mal aufwecken zu können.

    Wir haben alle den gleichen Himmel, aber nicht alle den gleichen Horizont. *** DM8000 - OE2.0+GP3.2

  • Zitat

    in welcher situation, oder von wo aus?


    Ich schalte alle meine Geräte bei Nichtbenutzung immer aus bzw. in den Deepstandby.
    Meine Fritzbox beherrscht ether-wake und so kann ich jedes Gerät per Anruf mit WOL bzw. WakeOnCall einschalten, um dann remote draufzuzugreifen... Alle Geräte bis auf die Dm8000 - die reagiert im Tiefschlaf leider nur auf Timer, Infrarot oder Drucktaster - aber leider nicht auf ein WOL - Paket am Netzwerkanschluss :O

    Wir haben alle den gleichen Himmel, aber nicht alle den gleichen Horizont. *** DM8000 - OE2.0+GP3.2

  • " tomde


    - dazu installierst du einmal das angehängte .ipk
    - trägst die entsprechend zu weckende MAC in das script (immer linux-fähigen editor nehmen wie Notepad++)
    - script nach /usr/script kopieren und rechte auf 775


    und dann kannste es z.b mit dem MultiQuickButton auf eine taste legen
    (green_long oder so)"


    danke für diese Anleitung, ich schaff es aber leider nicht.
    Kann mir bitte jemand einen Tipp geben wie ich dieses Skript auf diese Taste legen kann? ich bin zu doof. Ich finde zwar die Einstellung für diesen Button aber in der Liste erscheint das Skript nicht.


    Beste Grüße und vielen DANK :face_with_rolling_eyes:

  • Der Thread ist zwar nicht mehr ganz neu. Aber da mich hat dieses Thema auch einige Zeit beschäftigt. Meine Lösung sieht so aus:


    0. "automount" muss funktionieren, was bei der letzten Gemini-Version der Fall sein sollte.


    1. Ich verwende das wakeonlan.py-Skript von boardschauer und speichere es als /var/script/wakeonlan.py


    2. Erstellen eines symlinks:
    $ ln -s /bin/busybox /usr/bin/mount


    3. Löschen eines anderen symlinks:
    $ rm /bin/mount


    4. Erstellen eines Skripts anstelle des alten mount-Befehls mit folgendem Inhalt:
    #!/bin/sh
    [ "$2" = "cifs" ] && python /var/script/wakeonlan.py
    /usr/bin/mount $*


    Da ich auf ein Samba-Share zugreife, wird der zweite Parameter auf "cifs" überprüft. Wer NFS benutzt muss halt nach "nfs" ausschau halten.



    Im moment scheint diese Lösung transparent zu funktionieren, als ob ich eine eingebaute Festplatte verwenden würde. Das NAS kann ich nach 2 Minuten Netzwerk-inaktivität in Standby schicken und ist genauso schnell wieder einsatzbereit, als wenn eine in die Dreambox eingebaute Festplatte anläuft.


    Ich denke, das ist eine praktikable Lösung, oder?


    [Edit: Ein Gleichheitszeichen war zuviel]

    Einmal editiert, zuletzt von mike11 ()

  • Hallo
    hab ne 500hd mit enigma2 drauf (gemini)



    wo sollte der alte mount befehl denn gelegen haben
    danke für die Info
    der 4. schritt deiner Anleitung ist mir nicht ganz klar
    sonst funzt alles.
    skript geht wacht auf,
    nur wenn ichs manuell ausführ.

  • Hallo matrix321!


    Der "alte" mount-Befehl ist ein symbolischer Link auf /bin/busybox und liegt im Verzeichnis /bin/ (busybox ist eine eierlegende Wollmilchsau und erkennt den auszuführenden Befehl anhand des Namen des symbolischen Links).


    Diesen alten mount-Befehl habe ich in Schritt 3 gelöscht. Da es ja nur ein symbolischer Link ist, kann man diesen ja ohne weiteres wieder herstellen - wie ja in Schritt 2 bereits geschehen.



    Nebenbei:
    Das einzige Problem, was ich noch habe, ist eine Fehlermeldung, wenn ich eine direkt-Aufnahme starte (also ich schaue gerade ein Fernsehprogramm an und drücke auf Aufnahme). Dann beschwert sich die Dreambox, dass auf dem Zielsystem angeblich weniger als 100MB frei wären. Die Dreambox meint wohl, dass die Aufnahme ins Flash geschrieben werden soll... Sobald das Netzverzeichnis aber (auto-)gemountet ist (z.B. wenn man sich die Liste der aktuell vorhandenen Aufnahmen anzeigen lässt), funktioniert auch die direkt-Aufnahme.


    mike11

  • Hallo Mike11!
    Danke für die Infos !


    also einfach eine Datei namens
    "mount" im Verzeichnis /bin erstellen (wo ich dann das Skript einfüge).
    ( Im usr/bin ist ja der Symlink zum reellen mount Befehl, der Symlink in usr/bin verweist zur busybox langsam aber doch glaub ich versteh ich linux ;)))


    :hurra: es geht :hurra:


    Die Meldung des Speicherproblems:
    Wird die Timer-Aufnahme gestartet, oder bleibt es dort auch bei der Fehlermeldung bis ich die Liste aktualisiert habe?
    hätte gern eine set und forget Lösung dh, automatisches Aufwachen meines Ubuntu Servers, wenn die Dreambox etwas drauf aufnehmen soll.
    Wenn das Problem nur bei der direkten Aufnhame auftritt, wär das nicht so schlimm.


    Danke nochmals
    Matrix321

  • matrix321,


    bei mir kommt die Fehlermeldung nur bei der Direktaufnahme.
    Bei vom Timer gesteuerten Aufnahmen wird mein NAS ohne Fehlermeldung automatisch geweckt und das CIFS-Laufwerk (Windows-Share) kann inkl. Wakeup innerhalb von 10-15 Sekunden (auto-)gemountet werden. (Bei NFS scheint es bei mir 60-90 Sekunden zu dauern, das ist mir zu lang - aber das nur am Rande)


    Viele Grüße


    Dieser Beitrag wurde 0 mal editiert, zum letzten Mal von mike11: 05.07.2010 09:19.

  • Zitat

    Original von NoDoubts
    Auch wenn das Thema schon älter ist, könnte mir jemand die scan-timers.sh mal zukommen lassen, ich bekomme das ganze nicht ans laufen auf meiner DM800. --> ihad@muellers-welt.com


    Wozu, das hängt doch weiter oben, copy&paste wirst du doch wohl hin bekommen.