Ergebnis 1 bis 10 von 60
-
02.06.2014, 09:01 #1
- 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
Box 1:Gigablue trio 4KNetzwerk 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
Ich will es also nicht via init.d realisieren.
Danke im Voraus!
b0mbastiGeändert von b0mbasti (02.06.2014 um 09:31 Uhr)
-
Advertising
-
02.06.2014, 19:00 #2Pike_BishopGast
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
-
Danke - 2 ThanksThomas4711, b0mbasti bedankten sich
-
02.06.2014, 19:19 #3Pike_BishopGast
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
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
-
Danke - 1 ThanksThomas4711 bedankten sich
-
02.06.2014, 19:37 #4Pike_BishopGast
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
Biki3Geändert von Pike_Bishop (02.06.2014 um 21:06 Uhr)
-
Danke - 1 ThanksThomas4711 bedankten sich
-
02.06.2014, 19:45 #5
- 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
ThemenstarterBox 1:Gigablue trio 4KIm 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.
-
02.06.2014, 20:01 #6Pike_BishopGast
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
Da muss dann das rauskommen wenn Netzwerk ok;
64
und wenn nicht wird Netzwerk eben gestartet (arbeite grade daran).
Grüsse
Biki3
-
02.06.2014, 20:07 #7
- 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
ThemenstarterBox 1:Gigablue trio 4KDa 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.
-
02.06.2014, 20:10 #8Pike_BishopGast
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.
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.
Grüsse
Biki3Geändert von Pike_Bishop (02.06.2014 um 21:01 Uhr)
-
Danke - 1 Thanksb0mbasti bedankten sich
-
02.06.2014, 20:32 #9Pike_BishopGast
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
und kopier den obigen Code da rein.
Dann musst noch das im Script;
Code:ROUTER_IP=XXX.XXX.XXX.XX
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
Code:chmod 755 /usr/scripts/network_start.sh
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
und dann gehst zur Box und führst das Script da im Info Panel aus - danach sollte telnet auch wieder klappen.
Grüsse
Biki3Geändert von Pike_Bishop (02.06.2014 um 20:52 Uhr)
-
02.06.2014, 20:59 #10Pike_BishopGast
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
Lesezeichen