YAVDR 4.0 XBMC Frontend wakeonlan beim client einrichten um Server zu starten

  • Hallo zusammen,


    ich möchte mit meinem Client den Server starten. Per Putty kann ich ihn aufwecken. Ich habe dieses Skript in eine "serverwecken" Datei eingefügt (natürlich mit meiner MAC Adresse):


    start on net-device-up IFACE=eth0
    script
    /usr/bin/wakeonlan 00:00:00:00:00:00
    end script


    und dies in die /etc/network/if-up.d/ kopiert. Wie kann ich es jetzt installieren? Mit "update-upstart serverwecken defaults" ?

    YaVDR Server: Intel DH67BL B3 + Intel G1610/ 4x1GB Kingston RAM/64GB SSD/2TB HDD/CineS2 V6/Netzteil Be Quiet Pure Power BQT L7-300W 300Watt / YaVDR- 0.5.0a Headless
    Client 1: Intel DH67CF-B3/ 2x2GB Kingston/ 64 GB SSD/Zotac GeForce GT 640/Origenae M10/ Yavdr 0.5.0
    Client 2: Macbook xbmc
    Client 3: Andoid Tablet Ainol Novo 7 Elf XBMC
    Client 4: Raspberry PI: Openelec Gotham

  • Oder kann ich es einfach so machen:


    sudo nano /etc/network/if-up.d/ethtool


    und am Ende von dem script dies einfügen:


    start on started network
    script
    for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
    done
    end script


    und mit STRG+C speichern.


    Bevor ich so etws mache wüßte ich gerne, ob ich mir allles zerschiesse, ob noch etwas fehlt (andere Dateien) oder ob es so läuft ?

    YaVDR Server: Intel DH67BL B3 + Intel G1610/ 4x1GB Kingston RAM/64GB SSD/2TB HDD/CineS2 V6/Netzteil Be Quiet Pure Power BQT L7-300W 300Watt / YaVDR- 0.5.0a Headless
    Client 1: Intel DH67CF-B3/ 2x2GB Kingston/ 64 GB SSD/Zotac GeForce GT 640/Origenae M10/ Yavdr 0.5.0
    Client 2: Macbook xbmc
    Client 3: Andoid Tablet Ainol Novo 7 Elf XBMC
    Client 4: Raspberry PI: Openelec Gotham

  • So startet der Client den Server. Jubel. Wenn es keine Verbesserungsvorschläge gibt, dann werde ich es als gelöst markieren.


    cd /etc/init.d/
    sudo nano


    #! /bin/sh
    # MAC address of backend
    SERVER_MAC=xx:xx:xx:xx:xx:xx Achtung ! Hier die Mac eures Servers eintragen.
    #
    case "$1" in
    start)
    # Issue wakeonlan at intervals until our own network interface
    # is active and the magic packet is successfully sent.
    #
    until /usr/bin/wakeonlan $SERVER_MAC > /dev/null 2>&1 ; do
    sleep 1
    done
    ;;
    *)
    esac
    exit 0


    Habe ich als wol.sh gespeichert, nicht als wol.


    sudo chmod +x /etc/init.d/wol
    cd /etc/init.d
    sudo update-rc.d wol defaults

    YaVDR Server: Intel DH67BL B3 + Intel G1610/ 4x1GB Kingston RAM/64GB SSD/2TB HDD/CineS2 V6/Netzteil Be Quiet Pure Power BQT L7-300W 300Watt / YaVDR- 0.5.0a Headless
    Client 1: Intel DH67CF-B3/ 2x2GB Kingston/ 64 GB SSD/Zotac GeForce GT 640/Origenae M10/ Yavdr 0.5.0
    Client 2: Macbook xbmc
    Client 3: Andoid Tablet Ainol Novo 7 Elf XBMC
    Client 4: Raspberry PI: Openelec Gotham

  • So, die obige Lösung geht grundsätzlich aber:
    1. Es dauert lange, bis der Server startet und
    2. Der Client ist schneller in XBMC und kann die Pfade nicht mounten, da der Server noch nicht hochgefahren ist.


    Bedeutet, der Client muss den Server starten und warten, bis der Server hochgefahren ist. Ein möglicher Ansatz ist dieser:
    Skipt in /etc/init anlegen:
    description "Start Server"
    author "AndreasJacobs"


    start on started vdr-net


    task


    script
    /usr/sbin/etherwake 00:00:00:00:00:00 #Add this line with the servers MAC- address
    sleep 20
    touch /srv/vdr/video.00/.update #Add this line to make sure the video directory is abilable


    end script


    Da ich das Skript aber in etc/init.d als wol.sh angelegt habe, startet mein Client nicht mehr.


    Muss ich neu installieren oder mit usb-stick booten? Wie mache ich es richtig ?

    YaVDR Server: Intel DH67BL B3 + Intel G1610/ 4x1GB Kingston RAM/64GB SSD/2TB HDD/CineS2 V6/Netzteil Be Quiet Pure Power BQT L7-300W 300Watt / YaVDR- 0.5.0a Headless
    Client 1: Intel DH67CF-B3/ 2x2GB Kingston/ 64 GB SSD/Zotac GeForce GT 640/Origenae M10/ Yavdr 0.5.0
    Client 2: Macbook xbmc
    Client 3: Andoid Tablet Ainol Novo 7 Elf XBMC
    Client 4: Raspberry PI: Openelec Gotham

  • Hat jemand eine Idee wie ich den client einrichte, dass er den Server startet und wartet bis er hochgefahren ist?

    YaVDR Server: Intel DH67BL B3 + Intel G1610/ 4x1GB Kingston RAM/64GB SSD/2TB HDD/CineS2 V6/Netzteil Be Quiet Pure Power BQT L7-300W 300Watt / YaVDR- 0.5.0a Headless
    Client 1: Intel DH67CF-B3/ 2x2GB Kingston/ 64 GB SSD/Zotac GeForce GT 640/Origenae M10/ Yavdr 0.5.0
    Client 2: Macbook xbmc
    Client 3: Andoid Tablet Ainol Novo 7 Elf XBMC
    Client 4: Raspberry PI: Openelec Gotham

  • ich habe das gleiche Anliegen, nur sind Server und Client bei mir noch im (Hardware-) Aufbau. Dennoch habe ich mal ein wenig danach gesucht und bin im Upstart-Artikel von ubuntuusers auf folgenden Forumsbeitrag aufmerksam geworden: pam-mount-restart . Da geht es zwar nicht im entferntesten um VDR, aber um die WoL mit NFS Thematik. Im Grunde würde meiner Meinung nach ein Script der Form



    reichen, wobei ich leider noch nicht dazu gekommen bin, zu gucken, wohin genau das nun bei yaVDR einzuhängen ist; vllt. hat einer der alten Hasen vllt. einfach mal 'nen kurz Tipp, wo man das Script am besten hinschiebt und wo man gegebenenfalls noch ein "start on stopped my_wol_wait-script" hinsetzen muss...




    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • Ich halte es für keine gute Idee zu warten. Benutzt doch einfach den avahi-mounter der die Verzeichnisse mountet sobald sie da sind.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • nach ein wenig Einlesen hört sich das ja hervorragend an. Hätte da aber noch ein paar Fragen, die Doku (von yaVDR) gibt da leider nicht mehr her als ein "to do".


    würde es reichen einfach auf dem Server die /etc/exports zu bearbeiten und z.B.

    Code
    /srv/serien *(rw,fsid=1,sync,no_subtree_check,all_squash,anongid=666,anonuid=666)

    einzufügen, oder muss man zusätzlich die /etc/default/avahi-mounter auf dem Client bearbeiten? (oder doch vllt. zusätzlich noch ein service für "serien" in /etc/avahi/services/ anlegen? )


    und: das /srv/video Verzeichnis wird ja im Client voreingestellt eingebunden: werden dann auch sämtliche Aufnahmen, die man am Client startet auch direkt auf dem Server hinterlegt? (oder was müsste man dafür tun?)


    whitedwarf




    P.S.: bin gerne bereit, das ausstehende "to do" zu füllen, wenn ich weiß wie es denn geht...

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • Hallo, ich habe mir avahi-mounter noch nicht im Detail angesehen (daher fehlt das auch noch in der Doku ;)), aber mein rudimentäres Verständnis für das Hinzufügen einer neuen Kategorie wäre folgendes:
    Auf dem Server:

    • Verzeichnis erstellen und per NFS exportieren
    • neuen service in /etc/avahi/services/ anlegen


    Auf dem Client:

    • Verzeichnis fürs mounten erstellen
    • /usr/bin/avahi-mounter anpassen, dass es den neuen Service-Typ erkennt und einbindet


    Momentan habe ich einfach zwei Unterordner im video-Pfad (Filme + Serien), XBMC ist es ja egal, wenn es in einem Ordner tiefer nach den Filmen und Serien suchen muss (kann man ja einstellen, wo gesucht werden soll).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Endlich Zeit gehabt (/gemacht) mich damit zu beschäftigen; und es läuft! ;)


    Vielen Dank für die Hinweise!


    Und für alle, die's nachmachen wollen, ganz konkret; hab folgendes gemacht: (ich beschreibe es an Hand des Beispiels "serien")


    Auf dem Server:


    - Verzeichnis erstellt: mkdir /media/serien


    - selbiges exportiert in /etc/exports mit der hinzugefügten Zeile


    Code
    /media/serien *(rw,sync,no_subtree_check,all_squash,anongid=666,anonuid=666)


    - neuen Service angelegt: /etc/avahi/services/media-serien.service





    auf dem Client:


    - Verzeichnis erstellt: mkdir /media/serien


    - /usr/bin/avahi-mounter angepasst:


    in der Klasse "Mount" in der Funktion "__init__" hinter

    Code
    elif subtype == "picture": 
    self.local = config.picture

    folgendes eingefügt:

    Code
    elif subtype == "serien": 
    self.local = config.serien + '/'


    und weiter unten Class "Config", func "__init__" nach

    Code
    self.media = self.config.get('dir','media','/media')

    das hier eingefügt

    Code
    self.serien = self.config.get('dir','serien','/media/serien')


    (hierbei steht das letzte '/media/serien' übrigens nur für den Standardwert, wenn man die /usr/bin/avahi-mounter bereits so angepasst hat und später einfach nur das Verzeichnis wecheln möchte, lässt sich der Standardwert mit einem Eintrag in /var/lib/vdr/.avahi-mounter (bzw. /etc/default/avahi-mounter) der Form

    Code
    serien=/media/serien_neu

    kurz nach "[dir]" ändern)




    So viel zu avahi.


    Noch 'ne kurze Frage zum eigentlich WoL-Thema: hab /usr/bin/wakeonlan xx:xx:xx:xx:xx:xx mit meiner Mac-Adresse in das Start-Script von vdr (/etc/init/vdr.conf) geschrieben. Das klappt soweit, nur ist das zum einen sehr spät und zum andern sicher nicht die feine englische ... äh .. yaVDR'sche Art. Sicher wär ein separates Script besser und dazu die Frage: was sind die minimalen "start on"-Anforderungen für ein erfolgreiches Ausführen von wakeonlan, "start on started network" ?




    whitedwarf




    P.S.: @seahawk: reicht dir das obige als Copy-Paste für die Doku zu avahi?

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • Versuchs mal mit:

    Code
    start on stopped networking


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • leider nicht erfolgreich. Server bleibt down.


    Es gibt eine wol.conf mit folgendem Inhalt:


    Code
    start on net-device-up IFACE=*[0123456789]
    #enable wake on lan for eth0...
    script
    ethtool -s eth0 wol g
    end script


    Wäre denn started on net-device-up denkbar, oder ist damit tatsächlich nur das Device, nicht aber die Verbindung gemeint?



    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • net-device-up funktioniert, ist aber genau so "schnell" wie als erster Eintrag im VDR. Vllt. geht es einfach nicht schneller...



    Dennoch eine Frage zu avahi-mount: avahi mounted das video.00-Verzeichnis des Servers (wie alle Medien-Freigaben) im Unterordner mit dem Namen des Servers. Jetzt zeigt der Client die Aufzeichnungen im Menü aber nicht an. Ist das richtig so? Kann er vllt. mit diesem Unterverzeichnis nicht umgehen?




    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • Doch kann er - es gibt aber ein bestehendes Problem das bei komplett neuen Installationen das touch auf die .update Datei falsch gemacht wird, was zum nueinlesen führen sollte

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • in der /usr/bin/avahi-mounter ist es wohl "os.utime("/srv/vdr/vide00/.update",None)", das das machen sollte: funktioniert der Aufruf selbst nicht? kurzes Googlen ergab, dass es wohl Probleme mit utime und den Berechtigungen für die darüberliegenden Verzeichnisse gibt: muss man da vllt. was ändern?


    Kurz um: gibt es ein Workaround?



    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • (bis auf einen etwaigen späteren Test) Herzlichen Dank ;)


    whitedwarf



    Edit: oder muss das dann jedes Mal gemacht werden? (sprich vllt. in /etc/init/vdr.conf versenken) ?

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

Jetzt mitmachen!

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