Pi Zero W im Dauerbetrieb / WLAN Abbrüche, wie reconnect?

  • Hallo zusammen,


    ich benutze für einen digitalen Kalender den Pi Zero W an einem Monitor. Das klappt soweit auch prima, allerdings ist der Pi nach ca. 1-2 Tagen nicht mehr im Netz erreichbar. Aufgehängt hat er sich nicht, die Anzeige (Uhrzeit) funktioniert weiterhin, nur kann man eben nicht mehr auf ihn über SSH zugreifen, auch nicht anpingen. Nach einem Neustart klappt das wieder. Auch eine fest IP-Adresse (konfiguriert in der Fritzbox) brachte leider keine Besserung. Jetzt habe ich im Netz folgendes Script gefunden: https://p4web.de/raspberry-pi-…-automatische-verbindung/ , bin mir aber nicht sicher ob das mein Problem löst, da auch von einer alten Software ausgegangen wird, ich nutze das aktuelle PIOS.


    Vielleicht kennt ja jemand dieses Problem und hat eine Lösung?


    Danke & Grüße

    Ölheizer

  • Die Probleme sind bekannt, da waren schon ein paar Threads dazu.

    Ich habe 3 Scripte dafür, das erste musst du auf deinen Router anpassen und hat bei mir nie richtig funktioniert, das zweite benötigt einen Eintrag in der /etc/network/interfaces, weshalb der dhcpd meckert, das letzte muss an die Länge des Namens der Testseite angepasst werden und startet den Pi gleich neu.

    Das zweite benötigt diesen Eintrag in der /etc/network/interfaces:

    Code
    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    iface default inet dhcp
    Bash
    #!/bin/bash
    SERVER=9.9.9.9
    /bin/ping -c2 ${SERVER} > /dev/null
    if [ $? != 0 ]
      then
    # Neustart des WLAN Interface
      /sbin/ifdown --force wlan0
      /sbin/ifup wlan0
      /sbin/ip link set wlan0 up
    fi

    Das dritte startet gleich den Pi neu:

    Kannst du gerne kombinieren, erweitern etc., aber alle 3 müssen als root in der crontab -e eingetragen werden.

  • wow super, danke für die schnelle Antwort, das werde ich sobald ich zu Hause bin in Angriff nehmen!


    THX

    Ölheizer

  • - das 2te Script benötigt ja Einträge in /etc/network/interfaces, die ist bei mir aber leer (mit einem Verweis auf die ebenfalls leere /interfaces.d)

    - das 3te Script startet den Pi komplett neu, der Reboot dauert aber gerne ein paar Minuten, muss also nicht unbedingt sein.


    das erste Script hört sich also am besten an, hier muss ich dann nur noch "grep -qi 01:23:45:67:89:a0 " durch meine MAC-Adresse vom Router ersetzen? Geht das ggf. auch mit IP-Adressen?


    Danach starte ich das Script alle paar min via cronjob und das war´s?


    Sorry falls die Fragen schon mal woanders gestellt und beantwortet wurden, ich habe gerade keinen anderen Thread zu den Scripten gefunden.


    Danke & Grüße

    Ölheizer

  • Danach starte ich das Script alle paar min via cronjob und das war´s?

    BTW: Die WLAN-Verbindung kannst Du auch mit dem wpa_cli (als daemon) und einen action-Script überwachen und bei Bedarf wieder herstellen lassen. Siehe dazu, die manpage für wpa_cli.

    Quote

    wpa_cli is a text-based frontend program for interacting with wpa_supplicant. It is used to query current status, change configuration, trigger events, and ...

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

  • Wir hatten dieses Problem vor Jahren hier im Forum hoch und runter ventiliert...

    Stichwort "Mysterium"...


    Die Kernfrage ist doch: Warum hängt sich dein RP vom WLAN ab?


    Bei mir hier läuft ein RP zero seit 168 Tage (uptime) ohne hangup... (lief schon länger, aber ein Stromausfall hat ihn unterbrochen..)


    Auch andere RPs hier im Haus laufen monatelang ohne Disconnect...


    Womit versorgst du deinen RP zero (Also was nimmst du zur Stromversorgung)?

  • Da gibt es doch irgendwo eine "lease time" wo nach so und soviel Sekunden eine neue IP angefordert wird. Ist es der dhclient??? dhcp???
    Das ist aber schon so eingestellt das ein Tag läuft und dann eine neue geholt wird :)

  • Da gibt es doch irgendwo eine "lease time" wo nach so und soviel Sekunden eine neue IP angefordert wird. Ist es der dhclient??? dhcp???

    Bei der FritzBox ist die lease time z. B. 10 Tage. Aber das ist kein Grund für eine Unterbrechung der WLAN-Verbindung und fehlerhafte/instabile WLAN-Verbindungen gibt es auch mit statischen IP-Adressen (d. h. ohne DHCP). Die WLAN-Verbindung ist auch unabhängig davon, ob dem Interface eine IP-Adresse zugewiesen ist oder nicht zugewiesen ist.

    Bei stabilen 24/7-WLAN-Verbindungen geht es nicht ohne Optimierung (WLAN-Client und WLAN-Router) bzw. nicht ohne Redundanz/Absicherung.

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

  • ch benutze für einen digitalen Kalender den Pi Zero W an einem Monitor. Das klappt soweit auch prima, allerdings ist der Pi nach ca. 1-2 Tagen nicht mehr im Netz erreichbar.

    Welchen Kalender benutzt Du?

    Bei mir hier läuft ein RP zero seit 168 Tage (uptime) ohne hangup... (lief schon länger, aber ein Stromausfall hat ihn unterbrochen..)


    Auch andere RPs hier im Haus laufen monatelang ohne Disconnect...

    Hier auch.
    Zero W mit Radicale als Syncserver für 4 Kalender und 2 Telefonbücher auf 5 Rechnern. Der wird nur ab und zu mal beim staubwischen im Schrank entdeckt. Beste Ehefrau von allen: "Wofür war der noch mal?"

    3A+ mit moodeaudio als Musikplayer
    3B - plus als Schachserver

    Alle funktionieren ohne Unterbrechung. Aber vielleicht habe einfach nur Glück gehabt... oder die richtigen Netzteile.
    Grüsse
    MacNobi

  • Womit versorgst du deinen RP zero (Also was nimmst du zur Stromversorgung)?

    mit einem alten Samsung Smartphone Netzteil (5V, 1A). Das werde ich aber mal duch ein stärkeres 5V 2A ersetzen, vielleicht hilft das ja auch.

    Welchen Kalender benutzt Du?

    DAKBoard, das ist optisch echt eine Wucht und funktional genau das was ich benötige.




    Das erste Script von fred0815 funktioniert nun mal schon soweit, dass ein Verbindungsabbruch erkannt wird, allerdings bootet er dann komplett neu anstelle nur das WLAN neu aufzubauen, und ich erhalte immer via DHCP eine neue IP (obwohl ich in der Fritzbox angegeben habe, dass der Raspberry Pi immer die selbe IP nutzen soll).

    Ich würde mich als nächstes mal an die dhcpcd.conf wagen und dort eine feste IP angeben, da muss ich wohl anstelle static_eth0 static_wlan0 angeben oder?


    Grüße

    Ölheizer

  • ..., und ich erhalte immer via DHCP eine neue IP (obwohl ich in der Fritzbox angegeben habe, dass der Raspberry Pi immer die selbe IP nutzen soll).

    Das zeigt schon mal, dass auch die FritzBox nicht richtig optimiert ist, denn diese hat evtl. noch nicht mal mitbekommen, dass der PI nicht mehr per WLAN mit ihr verbunden ist bzw. rebootet hat, ... und weist deshalb (per DHCP) dem PI eine neue IP-Adresse zu.

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

  • Wie optimiert man denn eine Fritzbox? WLAN läuft auf einem nicht zu frequentierten Kanal, außerdem hängen alle Geräte (TV, Verstärker, Drucker, Radio usw) soweit möglich am LAN-Kabel. Dazu gibt´s noch zwei Repeater (EG - Fritzbox, 1. und 2. Etage je ein Repeater)

    Ich habe jetzt die dhcpcd.conf angepasst und habe nun eine statische IP, die außerhalb des DHCP-Bereichs der Fritzbox liegt. Werde das mal beobachten (Putty-Session läuft nebenher auf dem Notebook um ggf. Verbindungsabbrüche anzuzeigen).


    Viele Grüße

    Oelheizer

  • kurzes Update:

    - der Pi ist nun (mit neuem stärkeren Netzteil) seit ca. 3 Tagen unter der selben IP erreichbar, das erste Script von fred0815 funktioniert so wie es soll, auch ohne System-Neustarts! (vielen Dank schonmal dafür!)

    - alle 12-15 Stunden wird die WLAN-Verbindung allerdings (warum auch immer) beendet (Putty verliert die Session), aber dann auch schnell wieder neu aufgebaut.

    - also eigentlich alles gut nun, bleibt nur die Frage warum das WLAN generell so instabil ist? @Zentris was hast Du zur Optimierung konfiguriert?

  • - der Pi ist nun (mit neuem stärkeren Netzteil) seit ca. 3 Tagen unter der selben IP erreichbar, ...

    - alle 12-15 Stunden wird die WLAN-Verbindung allerdings (warum auch immer) beendet (Putty verliert die Session), aber dann auch schnell wieder neu aufgebaut.

    Wie ist vor und nach dem wiederherstellen der Putty-Verbindung (täglich und über einen Zeitraum von ca. 1 Woche), auf deinem PI die Ausgabe von:

    Code
    ps aux | grep -i [w]pa

    ?


    EDIT:


    Wie sind jetzt auf deinem PI, die Ausgaben von:

    Code
    cat /etc/crontab
    ls -la /etc/modprobe.d
    modinfo brcmfmac | grep -i parm
    arp -av

    ?

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

    Edited once, last by rpi444 ().

  • aktuell:

    Code
    pi@raspberrypi:~ $ ps aux | grep -i [w]pa
    root       318  0.0  0.0  10724   376 ?        Ss   Nov06   0:04 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
    root       374  0.0  0.2  11112  1248 ?        Ss   Nov06   1:32 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
  • aktuell:

    Code
    root       374  0.0  0.2  11112  1248 ?        Ss   Nov06   1:32 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext

    OK, ... mal schauen wie lange der wpa_supplicant diese PID 374 hat. Gestartet wurde er nicht mit dem 1. Script, denn hier steht "-Dnl80211,wext" und im 1. Script ist "-Dnl80211" (was auch richtig ist).

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

  • Code
    1) Crontab:  
    30 7 * * * root vcgencmd display_power 1
    30 22 * * * root vcgencmd display_power 0
    */10 * * * * root /home/pi/wlan_check.sh

    --> also alle 10 min Check auf WLAN


    Code
    2)pi@raspberrypi:~ $  ls -la /etc/modprobe.d
    insgesamt 16
    drwxr-xr-x   2 root root 4096 Aug 20 12:39 .
    drwxr-xr-x 112 root root 4096 Nov  6 09:45 ..
    -rw-r--r--   1 root root   17 Nov  5  2019 blacklist-8192cu.conf
    -rw-r--r--   1 root root   19 Mär  2  2017 blacklist-rtl8xxxu.conf
    -rw-r--r--   1 root root    0 Aug 20 12:39 raspi-blacklist.conf
    Code
    pi@raspberrypi:~ $ modinfo brcmfmac | grep -i parm
    parm:           txglomsz:Maximum tx packet chain size [SDIO] (int)
    parm:           debug:Level of debug output (int)
    parm:           p2pon:Enable legacy p2p management functionality (int)
    parm:           feature_disable:Disable features (int)
    parm:           alternative_fw_path:Alternative firmware path (string)
    parm:           fcmode:Mode of firmware signalled flow control (int)
    parm:           roamoff:Do not use internal roaming engine (int)
    parm:           iapp:Enable partial support for the obsoleted Inter-Access Point Protocol (int)
    parm:           ignore_probe_fail:always succeed probe for debugging (int)
    Code
    pi@raspberrypi:~ $ modinfo brcmfmac | grep -i parm
    parm:           txglomsz:Maximum tx packet chain size [SDIO] (int)
    parm:           debug:Level of debug output (int)
    parm:           p2pon:Enable legacy p2p management functionality (int)
    parm:           feature_disable:Disable features (int)
    parm:           alternative_fw_path:Alternative firmware path (string)
    parm:           fcmode:Mode of firmware signalled flow control (int)
    parm:           roamoff:Do not use internal roaming engine (int)
    parm:           iapp:Enable partial support for the obsoleted Inter-Access Point Protocol (int)
    parm:           ignore_probe_fail:always succeed probe for debugging (int)


    Vielen Dank für´s nachsehen!

  • @Zentris was hast Du zur Optimierung konfiguriert?

    "Stärke" eines Netzteils definiert sich nicht allein über die Amperezahl, die drauf steht.

    Viel wichtiger ist für den Betrieb einer RP, ob das NT in der Lage ist, die Spannung bei Last zu halten.


    Vielen Handy-NT ist das nämlich total wuppe... die brechen bei den angeblichen 2A. die sie liefern sollen, gerne mal auf 4,5... 4,7 V ein.

    Dem Handy macht das nix, das regelt einfach den Ladestrom runter.


    Beim RP ist das dramatisch anders: der braucht seine 5,0V.

    (Um dem zuvor zu kommen => "Der raspi braucht mindestens 5,1V": NEIN!


    WARUM?

    Der RasPi hat einen sehr dynamischen Stromverbrauch. Stromspitzen ms-Bereich (Wenn z.B. WLAN sendet).

    Sowas sieht man normalerweise nur mit einem Oszi... Abtastrate 1Mhz reicht aus.


    Wenn das NT nicht in der Lage ist, während dieser Stromspitze die Spannung über min. 4,8V zu halten (+- Fertigungs-/Bauteiltoleranzen), schlägt die "Unterspannung" durch die 3,3V-Regelung auf die CPU-Versorgung durch und es treten Störungen auf.


    Diese Überhöhen der Spannung auf 5,1 .. 5,3V "verschiebt" nur den Arbeitspunkt des NT nach oben, bedeutet:

    Wo das NT vorher (5.0V) während der Stromspitze auf 4,6V eingebrochen ist, bricht es jetzt (bei 5,2V) eben auf 4,8V ein und es scheint zu tun...


    Viel sinnvoller ist es,

    • Einerseits ein richtiges "hartes" NT zu verwenden (eins, welches eben auch bei kurzzeitigen Strompulsen eben nicht einbricht).
    • Weiterhin sinnvoll:
      Puffern der USB-Versorgungsspannung per ELKO >= 1000müF + (!) Einsatz eines Tantal-Kondensator (Notfalls auch ein Keramik-C) PARALLEL dazu mit 2-5müF (Tantal) / 100-500nF (Keramik).

    Ich finde aktuell den Foren-Thread von "damals" nicht (Mysterium), da habe ich das alles mit Messungen auf Oszi-Bildern unterlegt...