Vertauscht nicht, aber ein Fehler trotzdem, ich darf hier natürlich nicht auf True oder False prüfen sondern:
Wie man's nimmt. Viele Wege führen nach Rom.
Vertauscht nicht, aber ein Fehler trotzdem, ich darf hier natürlich nicht auf True oder False prüfen sondern:
Wie man's nimmt. Viele Wege führen nach Rom.
Die schönere Lösung finde ich ist aber wie folgt:
Hammer! THX!
Allerdings hat sich da ein Fehler eingeschlichen. Bei write_zustand sind die Ausgaben vertauscht, hab das aber schon umgedreht.
Mal schaun, ob ich dem Problem so auf die Schliche komme ... ansonsten gab's ja hier noch andere Tips, die ich dann ausprobieren kann ...
Jetzt hat sich das gerade überschnitten, ich habe meinen Post nochmal editiert. Man muss die Ausgabepufferung ausschalten, in Perl geht das mit $|=1, aber wie geht das in Python?
Edit: Hab's selber gefunden: python3 -u
So kommst du an die Uhrzeit wann der Ping gestartet wird.
diese 0,0 und 2,1 etc kommen von dem print() das noch ausversehen im Code enthalten war.
Daran ist zu sehen: Erste Zahl: Ergebnis vom ping (0=Ziel ist erreichbar, alle anderen Zahlen = Ziel nicht erreichbar)
Die 2. Zahl gibt an wieviele Durchläufe schon gescheitert sind, bei größer gleich 5 wird neu gestartet. Sobald das Ziel wieder erreichbar ist, wird die 2. Zahl (fehlercounter) wieder auf 0 gesetzt.
Das print hab ich bei dem Code jetzt mal entfernt, wenn gewünscht kannst du es dir ja wieder rein schreiben.
Ah, merci.
Ich hab das print für den Status mal dringelassen und das Skript auf der Konsole gestartet. Da kommt die Uhrzeit, dann die Ausgabe von ping und dann der Status.
Im Logfile kommt aber immer nur die Ausgabe von ping. Und im bisherigen Logfile war das auch so, und dann auf einmal ganz viele Zeilen hintereinander mit dem Status. Was ist da los?
In der crontab von root habe ich drinstehen:
Wo ist der Fehler?
Edit: Kann ich das denn nicht auch in die systemweite crontab reinschreiben?
Edit2: Ich glaube, ich weiß jetzt den Grund für das Logfile-Problem. Ich kenne das von Perl. Da muss man die Ausgabepufferung abschalten, damit jede Ausgabe sofort geschrieben wird. Nur weiß ich nicht, wie das in Python geht ...
Das weiß ich dafür wieder nicht, weil ich nicht weiß was Perl kann, hier jedenfalls das Skript:
Das Skript läuft ja nun schon eine Weile und hat auch ein paar mal meinen Raspi neu gestartet, ich lasse die Ausgabe in ein Logfile schreiben, aber so richtig hilft mir das nicht weiter, weil ich keine Zeitstempel habe. Wie müsste man denn das Skript ändern, um Zeitstempel zu bekommen?
Hier ein Auszug aus dem Logfile:
PING 192.168.72.1 (192.168.72.1) 56(84) bytes of data.
64 bytes from 192.168.72.1: icmp_seq=1 ttl=64 time=0.615 ms
64 bytes from 192.168.72.1: icmp_seq=2 ttl=64 time=0.584 ms
--- 192.168.72.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1044ms
rtt min/avg/max/mdev = 0.584/0.599/0.615/0.028 ms
2 1
0 0
0 0
[...]
0 0
0 0
0PING 192.168.72.1 (192.168.72.1) 56(84) bytes of data.
64 bytes from 192.168.72.1: icmp_seq=1 ttl=64 time=0.589 ms
64 bytes from 192.168.72.1: icmp_seq=2 ttl=64 time=0.575 ms
--- 192.168.72.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.575/0.582/0.589/0.007 ms
Alles anzeigen
Die Zeilen mit 0 0 sind ganz viele, ich habe sie nicht gezählt ...
Wie ist denn 2 1 zu interpretieren?
Naja, Du solltest m. E. jetzt nach der Ursache des Problems, weiter suchen.
Klar sollte man die Ursache eines Problems suchen und beheben und nicht die Symptome bekämpfen. Aber das ist jetzt nicht lebensnotwendig, das hat jetzt keine so hohe Priorität. Da hätte mir auch die Lösung mit dem Script von Hofei gereicht. Aber wenn ich hier die entsprechende Unterstützung bekomme, suche ich natürlich gerne weiter.
Da ich allerdings gerne verstehen würde, was ich mache, wäre es nett, wenn du kurz erläuterst, wofür das gut ist, was du mir aufgeschrieben hast. Ok, der 2. Codeblock ist klar, wofür die crontab gut ist, ist mit auch klar, aber was die Befehle machen und was man daraus sehen soll, ist mir nicht klar. Und kann das parallel zum Script von Hofei laufen?
Achja, mit <Interface> ist wohl eth0 gemeint? Also bei mir heißt die Netzwerkschnittstelle eth0, mann war das damals eine Sucherei mit Google, bis ich herausgefunden habe, wie man diese kryptische Bezeichnung wegbekommt ... und mir ist auch nicht klargeworden, wozu das gut sein soll.
Hast Du keine Laptop den Du da schnell mal rüber stellen kannst?
Soll ja nicht dauernd dran hängen sondern eben nur zur Diagnose.
Klar - verstehe ich - Du kannst da keine Wäscheleine quer durch die Bude spannen.
Der steht sogar noch daneben. Der hat's allerdings hinter sich. Also nö, ich habe momentan keinen Schleppi, der funktioniert.
Nein, die bleibt natürlich nicht bestehen ... aber wenn Du da einen tail -f /var/syslog machst, werden immer die leztzten Zeilen der Logdatei angezeigt ... und die bleiben im Terminalfenster natürlich sichtbar
Sorry, hab mich falsch ausgedrückt. Ich meinte, ob das Fenster offenbleibt ...
btw: 4mm USB Kabel zu umständlich? ... Dann könntest Du Dich bei einem Ausfall evtl. einloggen ... Aber ok, wenn's zu umständlich ist ...
Naja, das Kabel wäre dann sehr lang und ginge durch die halbe Wohnung ... ob's nicht sogar zu lang wäre?
Alles anzeigenJetzt wären halt noch die Logs zum Zeitpunkt des Verbindungsverlustes oder was immer das ist, interessant ...
Vielleicht kannst Du ja mal eine ssh-Verbindung evtl. zusätzlich mit screen offen halten?
Oder ... kommst Du an die UART-Pins des Pi dran?
Dann vielleicht mal ein PL2303 Kabel dran und die serielle Konsole aktivieren ...
So ist halt schwierig die Ursache zu finden ...
cu,
-ds-
Hmmm ... eine ssh-Verbindung könnte ich natürlich offenlassen, aber bleibt die dann offen, wenn der Raspi neu startet? ICh kann's ja probieren.
An die UART-Pins käme ich zwar grundsätzlich dran, aber ein Kabel zum PC wäre zu umständlich ...
THX! Funzt.
Damit ich nachsehen kann, was so los war, leite ich die Ausgabe des Skripts in ein Logfile um. Gibt's da irgendwie Bordmittel, um das Logfile jeden Tag umzubenennen und die, die älter als 7 Tage sind, zu löschen? Wär ja blöd, wenn irgendwann die SD-Karte volläuft.
Ansonsten muss ich mir dafür halt ein Perl-Skript bauen, das kriege ich hin.
Auch wenn das jetzt die Ursache des Problems nicht löst, finde ich die Lösung gut.
Alles anzeigenDas Netzteil scheint zu passen.
Das weiß ich dafür wieder nicht, weil ich nicht weiß was Perl kann, hier jedenfalls das Skript:
[...]
In Zeile 23 die IP Adresse vom Router anpassen, das wars an den nötigen Änderungen.
Das Skript wird dir jede 5 Minuten den Pi neu starten, falls innerhalb dieser Zeit der ping nicht erfolgreich ist. Wird 5 Mal durchgeführt bevor ein reboot ausgelöst wird.
Das Skript kannst du automatisch per Cronjob starten, benötigt für den reboot root Rechte!
Erst mal danke für das Skript.
Hmmm ... das scheint ja in einer Endlosschleife zu laufen, d. h. es braucht nur einmal gestartet werden. Ein Cronjob ist ja dafür da, etwas zeitgesteuert immer wieder zu starten. Kann man mit einem Cronjob überhaupt etwas einmalig nach dem Systemstart starten? Oder wie macht man das am besten?
Trotzdem nochmal zum Netzteil. Ist die Himbeere aufgedruckt oder "eingearbeitet" und steht 5,1V / 2,5A hinten drauf?
Die Himbeere ist mit im Guß drin, als Vertiefung.
STONTRONICS
MODEL: DSA-13PFC-05 FCA 051250
P/N: T6090DV
INPUT: 100-240V 50/60Hz 0.5A
OUTPUT: +5.1V 2.5A
Hi,
also vermutest Du nur, dass sich Dein Pi aufhängt und weisst es scheinbar nicht.
Die Symptomatik sieht eher nach einem Verlieren/Kappen der Netzwerkverbung aus ... das gab's hier in letzter Zeit öfter als Anfrage. Einfach mal suchen ...
In der Tat war das meine Vermutung. Dass die Netzwerkverbindung verloren gehen könnte, hätte ich nie gedacht. Sieht aber tatsächlich so aus, weil ich für Zeiten, an denen keine Daten an FR24 gesendet wurden (und ich annahm, der Raspi sei abgestürzt), Syslog-Einträge gefunden habe.
Bei Interesse poste ich dir das Pythonskript welches den Pi neu startet sollte es den Router nicht mehr anpingen können.
Hmm ... mit Python hab ich halt so gar nix am Hut. Geht das auch mit Perl? Läuft das dann als Cronjob?
Wie ist dein PI3 mit der FritzBox verbunden? Per Kabel oder per WLAN?
Teste mal ob dein PI3, wenn er sich "aufhängt", evtl. noch per arping oder per arp-scan erreichbar ist.Wie war bzw. wie ist deine Vorgehensweise, wenn sich dein PI3 "aufgehängt" hat?
Kabel. Bei mir ist alles per Kabel verbunden, was eine Netzwerkbuchse hat.
arping? arp-scan? Wie geht das (unter Windows)? Ich kenne nur arp -a.
Vorgehensweise war Netzteil aus- und wieder einstecken. Die harte Tour halt.
Sieht nicht nach Netzteil aus, nach dem, was ich jetzt herausgefunden habe. Das Netzteil sieht auch "offiziell" aus, hat ein Raspi-Logo drauf.
Das ist eine rote LED, die leuchtet.
Seidem es *nix gibt, gibt es Logfiles. Bei Linux unter /var/log/
THX. Sind aber 'ne Menge Logs, aber mit dem syslog bin ich jetzt weitergekommen ...
Kann es sein, dass Du einen sudo rpi-update gemacht hast?
Nope, nur apt-get update, apt-get upgrade und apt-get dist-upgrade. So hin und wieder.
Eine Frage hätt' ich dann noch ...
Nach jedem Reboot haut die Verbindung mit FR24 nicht hin, weil's da irgendwie Probleme mit IPv6 gibt. Abhilfe schafft sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 (hab ich von dort aus dem Forum). Wo muss das rein, damit es automatisch beim booten ausgeführt wird?
CU Robo
Hallo,
ich betreibe einen Empfänger für Flightradar24 mit einem Raspberry Pi. Das Problem ist, dass sich der Raspi immer wieder aufhängt, in unregelmäßigen Abständen. Mal läuft er keine 24 Stunden, mal eine Woche und mehr durch. Wie kann ich nun rausfinden, was das Problem ist? Die Schwierigkeit dabei ist, dass weder Monitor noch Tastatur dranhängen und auch nicht angeschlossen werden können, einerseits weil ich für den Raspi weder Monitor noch Tastatur habe, andererseits weil das am Installationsort aus Platzgründen gar nicht möglich ist, anzuschließen. Ich greife immer nur über SSH (PuTTY) oder RDP zu.
Wenn sich der Raspi aufhängt, leuchtet zwar noch eine LED, aber er ist weder anzupingen, noch erscheint er in der Liste der angeschlossenen Geräte meiner FritzBox.
Bei Windows würde ich erst mal ins Event-Log schauen, was mach ich denn beim Raspi?
Linux-Grundkenntnisse habe ich zwar, allerdings sind die auch schon etwas eingerostet.
Nun noch zur Hardware ...
Gekauft habe ich das Raspberry Pi 3-Starterkit komplett mit Gehäuse, SD-Karte und Netzteil im Dez. 2017. Bei Amazon ist das mit dem Code B01M3VQBK1 zu finden.
Dran hängt ein DVBT-Stick, den ich, wie von FR24 empfohlen, bei jetvision gekauft habe.
pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@raspberrypi:~ $ uname -r
4.14.52-v7+
pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Achja, falls es wichtig ist. Ich habe NICHT das Image von FR24 runtergeladen, sondern die Software wie in https://forum.flightradar24.com/threads/8908-N…66479#post66479 im zweiten Abschnitt (manually step by step) beschrieben installiert.
Robo