Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 60
  1. #1
    Senior Mitglied Avatar von b0mbasti
    Registriert seit
    01.04.2014
    Ort
    NRW
    Beiträge
    427
    Thanks (gegeben)
    48
    Thanks (bekommen)
    35
    Total Downloaded
    138,5 KB
    Total Downloaded
    138,5 KB
    ReceiverDanke
    Box 1:
    Gigablue trio 4K
     
     

    Netzwerk startet manchmal nicht

    Hi!

    Hin und wieder kommt es vor, dass das Netzwerk beim Start nicht funktioniert. Wenn ich es dann neu starte, ist alles in Ordnung.

    Jetzt hat man doch die Möglichkeit, über das Menü ein Skript zu starten, wenn OpenATV fertig mit Booten ist.

    Kann mir da vielleicht einer helfen, wie ich das am besten anstellen kann?

    Ich dachte an ein Skript, dass nach dem Booten einen Ping verschickt und im Falle einer Zeitüberschreitung das Netzwerk neu startet.

    Ginge das ungefähr so?

    Code:
    if ping -c 4 router &> /dev/nullthen
      exit
    else
      Befehl für Netzwerk neu starten, was soll hier rein?
    fi
    Und wie genau füge ich das jetzt über die Autostart Funktion im Menü ein?

    Ich will es also nicht via init.d realisieren.

    Danke im Voraus!

    b0mbasti
    Geändert von b0mbasti (02.06.2014 um 09:31 Uhr)

    •   Alt Advertising

       

  2. #2
    Pike_Bishop
    Gast
    Hi,

    Ok alles klar, ja mit /sbin/ifup eth0 kann man das Netzwerk starten
    und mit;
    /sbin/ifdown eth0
    kann mans stoppen.

    Hab grade /sbin/ifdown eth0 per telnet gemacht und mich so natürlich ausgesperrt
    Ich schieb mal kurz ein Script auf die Box mit /sbin/ifup eth0 und seh mal ob ichs so starten kann (ist ja davon auszugehen).


    Grüsse
    Biki3

  3. Thanks Thomas4711, b0mbasti bedankten sich
  4. #3
    Pike_Bishop
    Gast
    Hi,

    Ok ein erster Entwurf - das klappt schonmal;

    Code:
    #!/bin/sh
    
    Netzwerk=eth0
    /sbin/ifup $Netzwerk 
    
    if [ "$?" = "0" ] ; then
        echo "$Netzwerk erfolgreich gestartet"
    else
        echo -e "! $Netzwerk starten fehlgeschlagen !\nErneut versuchen" && exit 1
    fi
    
    exit
    Is aber natürlich noch nicht fertig aber ich konnte damit schonmal mein Netzwerk starten ich habs network_start.sh benannt.

    Jetzt brauchst noch sowas wie ne Abfrage ob das Netzwerk läuft.

    Aber vorher müssen wir noch was klären du willst das tatsächlich alle Minuten per Cronjob automatisieren ?
    Dazu ne Frage das Netzwerk Problem is das nur nach dem Hochbooten ab und an da oder passiert das auch mitten im Betrieb der Box
    obwohl das Netzwerk da zuvor schon funktionierte ?


    Grüsse
    Biki3

  5. Thanks Thomas4711 bedankten sich
  6. #4
    Pike_Bishop
    Gast
    Hi,

    Gut ich sag mal so;

    Wenn das Netzwerk nur ab und zu beim Hochfahren der Box versagt und nicht mitten im Betrieb wenns mal läuft auch
    hätte ich ne Idee dazu - eigentlich aber ist die Idee von @hounce denn er hat mich in ner anderen Sache mal auf sowas Verwegenes gebracht.

    Das Ganze könnte man dann wie folgt lösen um es zu automatisieren;
    1. Box fährt hoch - ein Init Script legt nen Cronjob an
    2. Der Cronjob wiederum startet ein zweites Script welches nachsieht ob Netzwerk läuft (dieses Script läuft erstmal jede Minute)
    3. Sollte Das Script feststellen das das Netzwerk nicht läuft startet es das Netzwerk und zwar so lange bis das mal klappt (sollte eigentlich eh gleich beim ersten ausführen klappen).
    4. Konnte das Script das Netzwerk dann also erfolgreich starten löscht es den Cronjob und somit wird es kein unnötiges weiteres Mal ausgeführt.

    Dieser Vorgang passiert bei jedem Hochbooten der Box und wenn das Netzwerk mal von Haus aus klappt löscht das Script den Cronjob sofort da er dann ja nicht notwendig ist.
    Ist das in etwa das was du dir vorstellst ?


    Grüsse
    Biki3
    Geändert von Pike_Bishop (02.06.2014 um 21:06 Uhr)

  7. Thanks Thomas4711 bedankten sich
  8. #5
    Senior Mitglied Avatar von b0mbasti
    Registriert seit
    01.04.2014
    Ort
    NRW
    Beiträge
    427
    Thanks (gegeben)
    48
    Thanks (bekommen)
    35
    Themenstarter
    Total Downloaded
    138,5 KB
    Total Downloaded
    138,5 KB
    ReceiverDanke
    Box 1:
    Gigablue trio 4K
     
     
    Im Grunde genommen muss das Skript nur einmal beim Start gestartet werden, da ich dort hin und wieder den Fehler habe. Mittendrin stürtzt das Lan nicht ab.

    Ich frage mich nur, was schlauer ist. Via Ping oder "if ifconfig | grep -q eth0" prüfen, ob die Schnittstelle an ist.

  9. #6
    Pike_Bishop
    Gast
    Hi,

    Wegen der Abfrage erstmal das könnte man so machen;
    Code:
    ping -c 1 IP des Routers | grep "64 bytes" | cut -b 1-2
    muss man in nem Script aber etwas anders verpacken - is nur mal der reine Befehl (eine Zeile genügt doch also Parameter -c 1 oder müssen es unbedingt 4 Zeilen Output zum Ping sein ?)
    Da muss dann das rauskommen wenn Netzwerk ok;
    64
    und wenn nicht wird Netzwerk eben gestartet (arbeite grade daran).


    Grüsse
    Biki3

  10. #7
    Senior Mitglied Avatar von b0mbasti
    Registriert seit
    01.04.2014
    Ort
    NRW
    Beiträge
    427
    Thanks (gegeben)
    48
    Thanks (bekommen)
    35
    Themenstarter
    Total Downloaded
    138,5 KB
    Total Downloaded
    138,5 KB
    ReceiverDanke
    Box 1:
    Gigablue trio 4K
     
     
    Da hast Du Recht.

    Wenn der Router nicht antwortet, kann man im Gegensatz zu einer Website davon ausgehen, dass man ein Problem mit dem LAN hat.

    Ergo reicht ein Ping aus.

  11. #8
    Pike_Bishop
    Gast
    Hi,

    Im Grunde genommen muss das Skript nur einmal beim Start gestartet werden, da ich dort hin und wieder den Fehler habe. Mittendrin stürtzt das Lan nicht ab.
    Na dann damit das automatisiert und auch wirklich nur anläuft wenn Bedarf besteht (also Netzwerk mal nicht läuft nach dem Hochbooten)
    is das hier;
    http://www.opena.tv/forum/showthread...ll=1#post57466
    die passende Lösung denn per nur Init Script würde das ja immer ausgeführt werden bei jedem Hochbooten egal ob Netzwerk läuft oder nicht (was Blödsinn wäre)
    mit dieser Lösung aber wird das Script zwar immer mindestens einmal ausgeführt um nachzusehen ob Netzwerk läuft und dementsprechend zu handeln
    Läuft Netzwerk gleich out of the box nach dem Hochbooten dann wird der Cronjob gelöscht und das wars (keine weitere Aktion mehr).
    Läuft Netzwerk nicht out of the box nach dem Hochbooten dann startet das Script das Netzwerk und sobald das geklappt hat löscht es wieder den Cronjob (wieder keine unnütze weitere Aktion mehr).


    Ich frage mich nur, was schlauer ist. Via Ping oder "if ifconfig | grep -q eth0" prüfen, ob die Schnittstelle an ist.
    Is erstmal egal funktionell is beides ich mach dir das jetzt mal mit dem Ping - kriegst bald.


    Grüsse
    Biki3
    Geändert von Pike_Bishop (02.06.2014 um 21:01 Uhr)

  12. Thanks b0mbasti bedankten sich
  13. #9
    Pike_Bishop
    Gast
    Hi b0mbasti,

    Gut jetzt mal das folgende Script (zweiter Entwurf mit Abfrage ob Netzwerk läuft) is jetzt nicht gross getestet sollte aber tun;
    Code:
    #!/bin/sh
    
    Netzwerk=eth0
    ROUTER_IP=XXX.XXX.XXX.XX
    
    PING="$(ping -c 1 $ROUTER_IP | grep "64 bytes" | cut -b 1-2)"
    
    if [ "$PING" = "64" ];then
        echo "$Netzwerk laeuft bereits"
    else
        /sbin/ifup $Netzwerk
        
            if [ "$?" = "0" ] ; then
                echo "$Netzwerk erfolgreich gestartet"
            else
                echo -e "! $Netzwerk starten fehlgeschlagen !\nErneut versuchen" && exit 1
            fi
    fi
    
    exit
    Leg dir mit nem Linux Editor (Notepad++) ein File an benenn es network_start.sh
    und kopier den obigen Code da rein.
    Dann musst noch das im Script;
    Code:
    ROUTER_IP=XXX.XXX.XXX.XX
    für dich anpassen also die IP deines Routers statt der XXX.XXX.XXX.XX - habs rot markiert was du ersetzen musst - alles andere passt.
    Dann kopierst das Script mit Namen network_start.sh auf der Box nach /usr/scripts
    Sollte das Verzeichnis /usr/scripts noch nicht existieren dann zuvor wie folgt per telnet anlegen;
    Code:
    mkdir /usr/scripts
    Zum Schluss musst das Script noch in telnet per;
    Code:
    chmod 755 /usr/scripts/network_start.sh
    ausführbar machen.


    Dann kannst es ja erstmal manuell übers Info Panel testen falls dein Netzwerk mal versagt hat
    Logging is noch nicht drinnen da man ja eh die Ausgaben sehen sollte durch die echos später ändern wir das in Logging
    da es dann ja automatisiert ablaufen soll.

    Wie auch immer das Automatisieren machen wir dann morgen - Gute Nacht derweil

    EDIT !
    Kannst auch leicht absichtlich testen indem du dann per telnet mittels;
    Code:
    /sbin/ifdown eth0
    das Netzwerk stoppst (hierbei kommst dann in telnet zu keinem Promt mehr da ja Netzwerk dann gestoppt ist also Curser blinkt dann ständig.
    und dann gehst zur Box und führst das Script da im Info Panel aus - danach sollte telnet auch wieder klappen.


    Grüsse
    Biki3
    Geändert von Pike_Bishop (02.06.2014 um 20:52 Uhr)

  14. #10
    Pike_Bishop
    Gast
    Hi b0mbasti,

    Und bitte Feedback, also ein paar mal am Besten absichtlich (wie beim Edit ! im letzten Post zu sehen) testen damit ich weiss das es im Prinzip klappt (also tut was es soll)
    und dann machen wir Morgen weiter mit der Automatisierung.
    Hast mir ja ein schönes Ei gelegt - dachte im anderen Thread das du bereits ein fertiges Script hast, nein egal ich mach das eh ganz gern ab und zu
    so ein bisschen basteln


    Grüsse
    Biki3


Seite 1 von 6 123 ... LetzteLetzte

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 5,56%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com