Komisch - Mein Raspi ist nicht sichtbar

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi Leute,
    ich nutze einen Raspi, zum regeln meiner Fußbodenheizung.
    Nach sporadischer Zeit, kann ich nicht mehr (SSH, ping, Portscanner usw.) auf ihn zugreifen. Der Raspi hat nur einen WLAN stick als Verbindung. (WLAN Verbindung ist gut)

    Allerdings schreibt er nach wie vor Daten alle 5 min, via php in eine externe MYSql. :no_sad:

    Jetzt hab ich 2 Ausfallroutinen:
    1. kleines Script, was die Verbindung alle 5 min (cronjob) zu meinem NAS prüft. –> reboot
    2. bcm2708 hardware watchdog

    Er bootet nicht neu. Sendet nach wie vor Daten. Ist aber im (W)LAN nicht sichtbar.

    Ich verstehe es nicht. :helpnew:
    Erst wenn ich ihn vom Strom nehme und wieder anstecke läuft er im Schnitt 2 Tage durch, bis ich am Win7 Rechner merke, dass Samba, Apache2 nicht mehr funktionieren. und ich ihn vergebens pinge.

    Hat jemand eine Idee, was es sein könnte?

    Viele Grüße aus LA
    --
    ralphi

  • Hi,


    ...
    - 2A Netzteil. :no_sad:
    ...


    da kann viel draufstehen ... :fies:

    Was für ein RPi? B? B+?
    Stromversorgung gechecked ( -> click <- ) und sichergestellt (messen!), dass kein Spannungseinbruch erfolgt (das hört sich nämlich irgendwie sehr danach an).

    cu,
    -ds-

  • Hallo Ralphi,

    als ich Deine Beschreibung durchgelesen habe, habe ich nur an eines gedacht: "Mysterium".

    Nutze mal die Suchfunktion dieses Forums und suche danach.

    Im Wesentlichen findest Du neben vielen ähnlichen Beschreibungen eine Diskusion zum Thema und ein Programm von mir, dass das Mysterium beseitigt, wenn es aufgetreten ist.

    Wenn es das auch bei Dir zutrifft, dann liegt es definitiv an der Stromversorgung.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (8. Oktober 2017 um 21:03)

  • Nun - raspi B wie in der Kopfzeile.

    Bei Spannungsspitzen, bzw. kurzen Stromunterbrechungen, bootet er normalerweise neu bzw. läuft nicht mehr :s

    Ich lass jetzt einen CPU-Temp-logger mitlaufen. schreibt alle 5min in eine ext. DB.

    Code
    $stats=exec("cat /sys/class/thermal/thermal_zone0/temp");


    vielleicht ist es doch ein Temp-problem.

    Aktuell hat er 51,92 °C
    Ist nach aus/einstecken wieder (noch) sichtbar. Mal kucken. :denker:


  • Er bootet nicht neu. Sendet nach wie vor Daten. Ist aber im (W)LAN nicht sichtbar.

    Hast Du einen Linux-Rechner (oder gleichwertig, evtl. Linux-Live-CD/DVD) in deinem (W)LAN? Wenn ja, dann mach mal einen arping auf den Pi und poste die Ausgabe von:

    Code
    arp -av


    vor und nach dem arping auf den Pi:

    Code
    sudo arping -c 3 -w 2 -I <Interface-Linux-Rechner-im-W/LAN> -s <IP-Adresse-Linux-Rechner-im-W/LAN> <IP-Adresse-des-Pi>

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich hatte bei meinen WLAN-Stick (TP-Link WN725N) ein ähnliches Phänomen, welches mich am Ende dazu gebracht hat doch ein LAN-Kabel zu kaufen.

    Der WLAN-Stick war auch bei mir nach einen Zeitraum X nicht mehr von außen erreichbar. Es war aber auch relativ unregelmäßig und lange Zeiträume, weshalb es sowas wie sleep-mode und Co. eigentlich nicht in Frage kamen. Ich hab dann auch erst mal auf die Stromversorgung getippt, weshalb ich mir dann auch ein 2A Netzteil gekauft habe. Hat aber auch nix gebracht. Der Pi (Modell B) hat definitv auch nicht neu gebootet, da ich ein LCD-Display dran hatte was die Zimmertemperatur ausgegeben hat.

    Ich hab bis heute keine Lösung gefunden und ich hatte dann auch keine Lust mehr rumzuprobieren, da ein 2€ LAN-Kabel die Sache dann gelöst hat.

    Einmal editiert, zuletzt von MrWagner (1. November 2014 um 17:08)

  • Hi all,

    Andreas

    Zitat

    als ich Deine Beschreibung durchgelesen habe, habe ich nur an eines gedacht: "Mysterium".

    Hab ich zur häfte gelesen (ganz schöner Schlauch geworden).
    Angenommen es ist das selbe Problem, kann man doch schon einiges ausschließen. :thumbs1:

    Nun - schau ma mal ob /etc/init.d/networking restart was bring.
    Ich probier jetzt folgendes:

    dazu prüfe ich von extern (meinem Nas)
    [code=php]<?php
    if(file_get_contents("http://192.168.123.3/test.htm") == false){
    echo "nix good";
    } else {
    echo "ok";
    }
    ?>[/php]
    192.168.123.3 ist mein Raspi.

    und rufe es vom Raspi auf (cron alle 5 min)

    [code=php]include "config2.php"; // öffne ext DB
    $status = file_get_contents("http://192.168.123.2/MyWeb/home/raspi_check/logger.php");
    if($status != "ok"){
    exec ("/etc/init.d/networking restart");
    $in_DB = "offline";
    //echo "nix good";
    } else {
    echo "passt";
    $in_DB = "ok";
    }

    $sql2 = "SELECT * FROM heizung ORDER BY zeitstamp DESC LIMIT 1;";
    $res = mysql_query($sql2);
    $row = mysql_fetch_array($res);


    $sql = 'UPDATE heizung SET logger_status = "'.$in_DB.'" WHERE zeitstamp = '. $row['zeitstamp'] . ';';

    //echo $sql.'\n';
    mysql_query($sql);
    exit; [/php]


    Jetzt wart ich ab was passiert. :sleepy:

  • Nur mal ein kleiner Tipp bezüglich PHP und boolesche Vergleiche :


    [code=php]
    <?php
    if(file_get_contents("http://192.168.123.3/test.htm") == false){
    }
    ?>
    [/php]


    In der Zeile kannst du Tipparbeit sparen. Indem du einfach sagst :

    [code=php]
    <?php
    if(!file_get_contents("http://192.168.123.3/test.htm")){
    echo "nix good";
    } else {
    echo "ok";
    }
    ?>
    [/php]

    Das macht in diesem Beispiel nicht viel her, kann aber bei komplexeren Dingen von großer Bedeutung sein.

    Das Ausrufezeichen vor file_get_contents ist eine Negierung. Ist also auch ein Vergleich, ob file_get_contents == false - wirkt sich somit nicht auf die Funktionalität aus.

    Wenn du Vergleichen willst, ob file_get_contents true wäre, lässt du einfach das Ausrufezeichen weg.

    Aber selbst das kurze Script bietet noch mehr Einsparungspotential - und zwar in der if-Bedingung.

    Mein Vorschlag wäre :

    [code=php]
    <?php
    if(!file_get_contents("http://192.168.123.3/test.htm"))
    {
    echo "nix good";
    die();
    }
    echo "ok";
    ?>
    [/php]

    Warum? Das die() nach der "Nix good" - Ausgabe sorgt dafür, dass an der Stelle dein Script beendet wird. Du sparst dir das else.

    Und nun nochmal ein Vorschlag, wenn ein weiteres Script das Ergebnis auswerten soll.

    [code=php]
    <?php

    function piCheck()
    {
    if (!file_get_contents(http://192.168.123.3/test.htm))
    {
    return false;
    }
    return true;
    }
    ?>
    [/php]

    Mit der Funktion kannst du jederzeit prüfen, ob dein Pi noch da wäre.

    [code=php]
    <?php
    if (!piCheck)
    {
    echo "Nix good";
    die();
    }
    echo "Geht doch!";
    ?>
    [/php]

    Ich habe aufgehört, mit dem Feuer zu spielen. Mir wurde die Sache zu heiß.

    Einmal editiert, zuletzt von Pi-Tüftler (1. November 2014 um 18:44)

  • Hi Tüftler,

    klasse, dass du dir Gedanken über Code-Optimierung machst. :thumbs1: Machen sich wenige, so auch ich bei der Adhoc Lösung (Fehlerlogger).

    Trotzdem ein paar Anmerkungen:

    Das if ( ! function ) funktioniert bei einigen Funktionen nicht. Weil ich mir nicht merken kann bei welchen schreib ich es immer aus.
    Ich finde es auch für Anfänger besser lesbar. ;)

    Funktionen nutz ich eigentlich nur, wenn ich sie mehrfach Aufrufe habe, oder um bei langen Codes eine bessere Übersicht zu haben.
    Hier ist, denke ich, eine chronologische Codierung besser nachvollziehbar.

    die(); kann noch mehr als nur beenden. Was du meinst ist exit;

    ralphi

  • rpi444

    Ich hab jetzt die Route statisch gesetzt.
    sowohl Win7 als auch Debian-server (Notebook)

    Code
    arp -s 192.168.123.3 xx-xx-xx-xx-xx-xx Win
    arp -s 192.168.123.3 xx:xx:xx:xx:xx:xx   Linux

    wahrscheinlich merk ich jetzt gar nicht mehr wenn er ausfählt :rolleyes:
    obwohl - ich log ja den Zugriff vom NAS mit.
    Hoffentlich wars das.

    Darf's nur nicht vergessen, wenn ich den WLAN Stick wechsel :^^:

    Warte immer noch auf den nächsten Ausfall :sleepy:


  • wahrscheinlich merk ich jetzt gar nicht mehr wenn er ausfählt :rolleyes:

    Dein Pi ist doch gar nicht ausgefallen, denn Du schreibst doch in deinem 1. Beitrag:

    Zitat


    Sendet nach wie vor Daten. Ist aber im (W)LAN nicht sichtbar.

    Evtl. ist dein Pi von den Geräten die ihn nach einer bestimmten Zeit im (W)LAN nicht mehr "sehen" können, "abgemeldet" worden weil er evtl. auf arp-requests dieser Geräte nicht geantwortet hat. Wenn der statische arp-Cache-Eintrag nicht hilft, dann kannst Du als Test den Pi per cronjob und arping, auch " gratuitous arp-ping im unsolicited-arp-mode nur mit arp-reply-packets als Mitteilung an die anderen Geräte" in deinem (W)LAN senden lassen oder geziehlt arp-requests an die Geräte im (W)LAN die den Pi nach einer bestimmten Zeit nicht mehr sehen und somit "vergessen" haben. Für die Zeitdauer des Tests kannst Du die arp-Datenpakete auf deinen Geräten (Linux) und auf deinem Pi, auch per tcpdump loggen. Z. B.:

    Code
    sudo tcpdump -vvveni any arp

    BTW: Ein Verhalten des Abmeldens von Geräten durch meinen Router (FritzBox) im (W)LAN kann ich reproduzieren, wenn ich in diesen Geräten das Antworten (mit arp-reply) auf arp-requests des Routers (bzw. anderer Geräte), nicht erlaube (d. h. in den Geräten blocke).

    EDIT:

    In manchen (W)LANs kann die Funktion/Rolle von arp-requests/-replys auch von netbios/avahi/samba/etc. (und/oder gleichwertig) übernommen bzw. ergänzt werden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (2. November 2014 um 07:55)

  • Ggf. ist dein WLAN in powersave gegangen - war bei mir mal ähnlich:
    Meine /etc/network/interface sieht jetzt wie folgt aus:

    iface wlan0 inet static
    wpa-ssid MeinNetz!
    wpa_psk xxxxxx
    address 192.168.2.102
    netmask 255.255.255.0
    gateway 192.168.2.1
    wireless-power off

    ergänze mal in deiner /etc/network/interface "wireless-power off". Sollte den powersave abschalten.

    Viel Erfolg!

    Einmal editiert, zuletzt von WernerPI (2. November 2014 um 08:16)

  • Den Zustand von "power management" für wlan0, kannst Du temporär und periodisch abfragen und loggen/senden lassen. Z. B.:

    Code
    iwconfig wlan0 | grep -i management

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Werner  rpi
    Gut zu wissen, dass es sowas gibt :thumbs1:
    Hab ich abgeschaltet.

    warte noch auf den nächsten Ausfall :sleepy:

    In der Zeit, überleg schon, ob ich nicht alle Raspis mit Bananas (40,- €) ersetze.
    Einen Banana hab ich schon mit allen möglichen Aufgaben getestet. Braucht weniger Saft.
    Ich hab auch das Gefühl der läuft stabiler wie ein Raspi und ungefähr so schnell wie mein AMD 2x 1.9GHz Notebook

    Einmal editiert, zuletzt von ralphi (2. November 2014 um 23:22)

  • Hi all,
    Problem gefunden und eliminiert – Danke an Alle. :bravo2:

    was ich verschwiegen habe:
    Ich hab noch einen 2. Raspi, mit den gleichen Programmen. Einziger Unterschied: Er erfasst Messdaten anderer Zimmer.
    Das Problem war identisch.

    Der 2. Raspi hat das Power-Management für WLAN noch drin. Schreibt auch auf die DB vom NAS und war heute für meinen Win7 Rechner unsichtbar.
    Für das NAS war er noch sichtbar und in der arp –a Liste vorhanden. (ist logisch, hat ja auch von sich aus Kontakt aufgenommen).

    Nach dem setzen einer statischen Route beim Win 7

    Code
    arp –s 192.168.123.4 xx-xx-xx-xx-xx-xx


    war der Raspi auch wieder unter Win7 sichtbar. OHNE Neustart des Raspi.

    Daraus schlussfolgere ich, das der Raspi, nach einiger Zeit, den WLAN schlafen legt. :sleepy:
    Ob es auch auf das “Mysterium” Problem zutrifft, die ja das Problem mit LAN hatten (haben) weiß ich nicht.

    Danke noch mal an WernerPi und rpi444 :danke_ATDE:
    ralphi
    PS: meine Fehlerroutine ist nicht angesprungen, da das NAS mit dem die Routine läuft ja noch Kontakt (sichtbar) hatte.


  • Nach dem setzen einer statischen Route beim Win 7

    Daraus schlussfolgere ich, das der Raspi, nach einiger Zeit, den WLAN schlafen legt. :sleepy:

    Da es umständlich ist bzw. auch nicht immer möglich ist, für alle Geräte in deinem (W)LAN einen statischen arp-cache-Eintrag für deine PIs zu machen, könntest Du auf deinen PIs, als root über crontab regelmäßig ein ausführbares (chmod 755 ...) Script starten lassen. Z. B. mit folgendem Inhalt (oder gleichwertig):

    Bash
    #!/bin/sh
    #
    [ ! `/sbin/ip -4 a | /bin/grep -Eq ': wlan0:.*state UP'` ] || exit 0
    /usr/bin/arping -q -c 2 -w 2 -I wlan0 -s <IP-Adresse-PI> <IP-Adresse-Router> > /dev/null 2>&1
    /usr/bin/arping -q -c 2 -w 2 -A -I wlan0 <IP-Adresse-PI> > /dev/null 2>&1


    Der mögliche Eintrag für die /etc/crontab-Datei:

    Code
    */5 *    * * * root /home/<user>/send_arping.sh > /dev/null 2>&1


    (BTW: arping aus dem Paket "iputils-arping"). Das Script kannst Du auf deinen PIs, mit:

    Code
    sudo tcpdump -vvveni any arp


    testen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (3. November 2014 um 12:15)

  • hi arp-ler,

    die Heizungssteuerung und Erfassung, erfolgt ausschließlich über DB-Tabellen, die der Raspi abfragt bzw. setzt.
    Von dem her ist es für den Betrieb nicht zwingend erforderlich.

    Natürlich möchte ich gerne wissen was er macht. – deshalb die Panik, dass er weg ist. :daumendreh2:

    Sollte “wireless-power off” nicht klappen. Werde ich gerne die ARP-Geschichte einbauen. :danke_ATDE:

    Du arbeitest gerne mit arp. :thumbs1:
    Sag mal:
    Ist es möglich mit einer public IP am eigenen Arbeitsrechner (nicht über Router), die MAC-Adresse von anderen Rechnern/Routern im Internet auszulesen? :s
    Habs nicht ausprobiert.


  • Ist es möglich mit einer public IP am eigenen Arbeitsrechner (nicht über Router), die MAC-Adresse von anderen Rechnern/Routern im Internet auszulesen?

    I. d. R. nicht, denn es wird als IN-MAC-Adresse, die MAC-Adresse des (default) Gateways von deinem Internet-Provider angezeigt. Das kannst Du dir z. B. mit:

    Code
    route -n
    arp -av
    sudo tcpdump -c 20 -vvveni any


    (oder gleichwertig) von/mit deinem "border device" anzeigen lassen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (3. November 2014 um 18:47)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!