Status des Netzwerkadapters überwachen

    • Status des Netzwerkadapters überwachen

      Da sich seit CCcam 2.2.0 / 2.2.1 schonmal die Netzwerkverbindung in der DM8000 komplett verabschiedet, d.h. kein Ping, WEBIF, Telnet, FTP mehr und natürlich auch kein CS mehr, würde ich gerne den Status des Netzwerkadapters in der DM8000 überwachen lassen, so dass dieser neugestartet wird, wenn irgendwas im Netz nicht mehr erreichbar ist.
      Hat da jemand eine Idee, wie man das Scriptmässig umsetzen könnte?
    • RE: Status des Netzwerkadapters überwachen

      ich würde mich eher mal auf die Suche machen, was das Netzwerk killt ...

      aber ich würde mal so anfangen: ein Script in /usr/script erstellen, dass nach aussen pingt (z.B. den Router).
      Wenn der Ping fehl schlägt:
      1. RAM/ Prozessorauslastung ansehen und in ein logfile schreiben
      2. Netzwerk neustarten


      /usr/script/nwtest.sh (chmod 755)

      Shell-Script

      1. #!/bin/sh
      2. # zwei pings an den Router schicken und Ausgabe, wieviel % verloren
      3. # wenn 100% -> Netzwerk neustarten
      4. date
      5. check=`ping -c 2 -w 5 192.168.100.1 | grep loss | cut -d',' -f3 | cut -d' ' -f2 | cut -d'%' -f1`
      6. case $check in
      7. 100)
      8. # wenn 100% verloren
      9. echo $check"% ping lost - Gateway not reachable!"
      10. echo
      11. echo "CPU/RAM workload"
      12. top -b -n1
      13. echo
      14. echo "Restart Network"
      15. #Netzwerk neustarten
      16. /etc/init.d/networking restart
      17. echo
      18. echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
      19. echo
      20. ;;
      21. *)
      22. # wenn 0 oder 50% verloren
      23. echo $check"% of ping lost - nothing to do!"
      24. exit
      25. ;;
      26. esac
      Alles anzeigen



      per crontab alle x Minuten ausführen und Ausgabe nach /tmp/nwtest.log loggen (Beispiel: jede Minute)

      Quellcode

      1. */1 * * * * /usr/script/nwtest.sh 2&>1 >> /tmp/nwtest.log

      Wenn das mit dem Netzwerkneustart nicht klappt:
      stattdessen bzw. und emu neustarten (vermutete Fehlerquelle)

      Quellcode

      1. camdctrl restart


      oder Enigma2 neustarten (hard reset)

      Quellcode

      1. init 4
      2. sleep 15
      3. init 3
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Danke, ich werde es mal testen.

      Eins weiß ich jetzt, es liegt nicht an CCcam 2.2.1
      Heute morgen war das Netzwerk wieder tot, aber natürlich schön am Blinken auf der Rückseite der Box und CCcam 2.2.1 lief und meine Karten entschlüssseln auch. Es war nur kein Client oder Server mehr verbunden. Also mal wieder die Box neugebootet, da im Netzwerk nicht erreichbar.

      Danke für das Script, ich werde das mal testen.

      Alternativ habe ich mir das so gedacht:

      Shell-Script

      1. #!/bin/sh
      2. # check and log if a host is reachable by ping
      3. #CONFIGURATION
      4. #IP of host probier mal die ip der dream (192.168.1.10) ansonsten fritzbox (192.168.1.222)
      5. WATCH_IP="192.168.1.222"
      6. #path to logfile
      7. LOGFILE="/var/log/watchip.log"
      8. #duration between pings (würd ich nicht zu niedrig setzen, wegen CPU Last)
      9. PAUSE=10
      10. #how many failed pings before log
      11. TESTS=2
      12. #how many failed ethreset before reboot
      13. RBCOUNT=3
      14. #Prüf Funktion
      15. check ()
      16. {
      17. MISSED=0
      18. touch $LOGFILE
      19. if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then
      20. ((MISSED++))
      21. else
      22. if [ $MISSED -ge $TESTS ]; then
      23. echo `date` '-' $WATCH_IP "is up again." >> $LOGFILE;
      24. fi
      25. MISSED=0
      26. fi;
      27. if [ $MISSED -eq $TESTS ]; then
      28. echo `date` "-" $WATCH_IP "is down." >> $LOGFILE; /etc/init.d/networking restart &
      29. ((COUNTER++))
      30. fi
      31. }
      32. #Endlosschleife der Checkfunktion (bis $COUNTER den Wert von RBCOUNT erreicht hat)
      33. COUNTER=0
      34. while [ $COUNTER -lt $RBCOUNT ];
      35. do
      36. check
      37. sleep $PAUSE
      38. done
      39. #Wenn die eingestellte RBCOUNT Zahl erreicht wurde, wird neugestartet
      40. if [ $COUNTER -eq $RBCOUNT ]; then
      41. reboot
      42. fi
      43. done
      Alles anzeigen
    • Router ist eine Fritzbox 7390, DHCP kann ich als Fehlerquelle ausschließen, da die DM8000 eine feste IP-Adresse hat.
      Außerdem bleiben alle anderen Geräte wie z.B. die DM800se im Netzwerk erreichbar und können miteinander kommunizieren, es ist nur keine Verbindung mehr zur DM8000 möglich.
    • #!/bin/sh
      #
      log=/var/log/network.log
      #
      while true
      if ! ping -c 1 google.de; then
      /etc/init.d/networking restart
      date > $log
      echo "Netzwerk wurde neu gestartet" >> $log
      fi
      do
      sleep 30
      done
      exit 0

      hilft das?
      wenn ja, finde ich das merkwürdig, da ich null probleme mit dem netzwerk auf der 8k habe
      wackeliger am kabel?
    • Danke für dein Hilfe.
      Kabel habe ich bereits getauscht, Gigabit Switch an dem auch MAC, PS3, Xbox360, DM800se hängen auch getauscht, keine Besserung.


      UPDATE:

      Mein Problem ist wohl vielen Usern als LAN Bug bekannt, dass Dreamboxen traditionell bei zu vielen offenen Paketen abschmieren. Leider bekommt das DMM wohl seit Jahren nicht gefixed.
      Da muss ich wohl einfach die Anzahl Clients / Server / hops weiter reduzieren.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von reppo ()

    • hmm, ich habe die dream als proxy laufen, surfen also hier im heimnetz nur über den proxy der dream mit seitenfilterung auf der dream möglich, der router ist für alle anderen zu
      folglich sind hier immer etliche threads offen, das packt die maschine so weg, entschlüsselt noch tv und nimmt auf, 2 andere dreams greifen intern auf die 8k zu, ich hab noch nie so ein netzwerkproblem gehabt....ich lese das mal nach

      identifizierts du das prob mit CCcam 2.2?
      das heißt mit CCcam 2.1.4 alles o.k.?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von wwunsch ()

    • So, ich teste seit heute Abend das script von Fred Bogus Trumper und werde berichten.

      Ausgangskonfiguration nochmal genau:

      DM8000 SSC mit NewNigma 3.1.4
      interne 500GB 2.5"
      DVD-Brenner intern
      2GB USB Stick für Swap und Picons
      2 Karten in Sci0 und Sci1
      3 Karten in drei Smargos an passivem Kensington Rondell USB Hub
      CCcam 2.2.1 mit ca. 40 Clients und 40 Servern - momentan Begrenzung auf Hop2 und 1 Level Reshare bei einigen Clients.

      Das ganze Jahr 2010 war obere Konfiguration absolut keine Problem ausser das ich oscam und CCcam 2.1.3 genutzt habe, aber es waren vergleichbar viel Clients und Server und ich habe immer nur NewNigma Images genutzt und häufig geupdated, ich hatte nie ein Netzwerkproblem bis zum 16.12.2010. Ab diesem Tag fing es an, dass manchmal mehrmals am Tag oder auch mal ein paar Tage nicht, die Box nicht mehr im Netzwerk erreichbar war.
      Seit Erscheinen von CCcam 2.2.0 bzw. CCcam 2.2.1 bin ich umgestiegen und brauche daher auch kein Oscam mehr.
    • hmm, ich würde zur fehlereingrenzung nochmal oscam-cccam-kombi benutzen
      wenn der fehler weg ist, ist es kein 8k netzproblem, sondern liegt an cccam

      oder du heilst das symtom mit nem script, das ruckelt dann aber bei den clients
    • Ich teste jetzt erstmal das Script und bin gespannt, wie oft es das Netzwerk neustarten muss.
      Klar bin ich auch schon auf die Idee gekommen wieder auf CCcam 2.1.3 und Oscam zurück zu wechseln, aber das wäre Step 2.
      Ansonsten habe ich gerade gelesen, dass viele das gleiche Problem haben und daher einen WLAN Stick verwenden und damit ist das Problem wohl weg.
      Das werde ich auch mal testen, da die DM8000 ja WLAN hat.
    • ifconfig
      eth0 Link encap:Ethernet HWaddr
      inet addr:192.168.1.10 Bcast:0.0.0.0 Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:315028 errors:0 dropped:0 overruns:0 frame:0
      TX packets:314378 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:28601188 (27.2 MiB) TX bytes:42641595 (40.6 MiB)
      Interrupt:16

      lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:22 errors:0 dropped:0 overruns:0 frame:0
      TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:9344 (9.1 KiB) TX bytes:9344 (9.1 KiB)

      Also die 192.168.1.10 ist die richtige IP, meine Fritzbox hat die 192.168.1.222

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von reppo ()

    • dann liegt´s nicht am zeroconfig :rolleyes:

      PS:
      würde zumindest die MAC aus deinem letzen Post rauseditieren ;)
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Heute Mittag ist die Box nach knapp 10 Stunden wieder nicht erreichbar gewesen, Skript wurde jede Minute ausgeführt, hat aber nichts geholfen, da das Netzwerk anscheinend nicht mehr neu startbar war vielleicht.

      Jedenfalls muss ich wohl nen Reboot einleiten oder reicht eventuell:

      init 4
      sleep 10
      init 3

      ???
    • auch ne blöde idee:
      wenn die box tot ist, leuchtet doch die netzwerkdiode hatte ich glaube ich oben gelesen....
      geh dann mal mit deinem läppi und crossoverkabel ran und ping mal die box

      und ne, init 3 startet dasnetzwerk nicht, sondern rcS.d
      weiter oben hab ich dir doch ein script gezeigt.
      kannst auch in dem script die box selbst pingen, wenn sie sich selbst nicht mehr antwortet, netzwerk neustart, wenn da nix geloggt wird, ist es nicht das netzwerk der box, sondern was mit der fritz

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von wwunsch ()

    • Also die Fritzbox kann ich zu 100% ausschließen, da an dem Port an der Fritz nen 8fach Gigabit Switch hängt, an dem auch die 800se und andere Dinge hängen, die alle noch erreichbar sind.
      Und das, was in deinem Script stand, ist das gleiche wie bei Fred Bogus Trumper und das bringt anscheinend nix, da das Netzwerk bis zum Reboot tot blieb.


      Quellcode

      1. Mem: 114108K used, 42012K free, 0K shrd, 412K buff, 55148K cached
      2. CPU: 0.9% usr 0.8% sys 0.0% nic 95.7% idle 0.0% io 0.0% irq 2.3% si
      3. Load average: 0.00 0.00 0.00 2/94 3415
      4. PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
      5. 958 1 root S 137m 89.7 0 0.5 /usr/bin/CCcam2_2_1
      6. 949 934 root S 88924 56.7 1 0.5 /usr/bin/enigma2
      7. 969 1 root S 137m 89.7 0 0.3 /usr/bin/CCcam2_2_1
      8. 3415 3413 root R 2832 1.8 0 0.2 top
      9. 955 1 root S 137m 89.7 0 0.1 /usr/bin/CCcam2_2_1
      10. 976 934 root S 88924 56.7 0 0.1 /usr/bin/enigma2
      11. 25 9 root SW< 0 0.0 0 0.1 [usb-storage]
      12. 556 9 root SW< 0 0.0 0 0.1 [dmx0]
      13. 957 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      14. 938 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      15. 977 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      16. 1048 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      17. 939 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      18. 970 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      19. 1551 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      20. 940 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      21. 941 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      22. 942 1 root S 137m 89.7 1 0.0 /usr/bin/CCcam2_2_1
      23. 943 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      24. 944 1 root S 137m 89.7 0 0.0 /usr/bin/CCcam2_2_1
      Alles anzeigen


      Krank, meine Nic ist zu 95% ausgelastet...

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von reppo ()

    • mhm naja bringt ja alles nichts du scheinst ja der einzige mit dem Fehler zu sein.
      Musst du mal von Grund auf anfangen und systematisch alles ausschließen... anders wird kein Schuh draus.