Ubuntu Mate 15.04 als Server über WLAN

  • Hallo,
    Versuche meinen PI 2 als Server über WLAN zu betreiben. Das klappt ganz gut, allerdings ist die WLAN Verbindung schlecht.
    Wenn sie abreißt, oder falls der Router neu gestartet wird ist der Raspberrry PI 2 nicht mehr zu erreichen. Habe hier http://askubuntu.com/questions/3756…connection-lost
    ein Script gefunden, welches versucht google zu pingen und falls das nicht geht, die Wlanverbindung neu startet. Dieses
    Script habe ich etwas angepasst und über einen Chronjob eingebunden dar alle 10 Minuten ausgeführt wird.

    Wenn die Verbindung getrennt war schlägt bei meinen Versuchen der Ping fehl, aber mit den Befehlen

    Code
    nmcli nm wifi off
    
    
    nmcli nm wifi on


    kommt bei mir die Verbindung nicht wieder zustande.
    Hat mir jemand einen Tipp wie ich die Verbindung wieder aufbauen kann?

  • Ja, die Befehle funktionieren insofern als das die Verbindung getrennt und wieder aufgebaut wird.
    Verbinden nach Unterbruch konnte ich noch nicht testen, da der Pi im Heizraum eingebaut ist und
    ich ohne ihn auszubauen nur Zugriff per WLAN habe. Die Option ein Kabel zu verlegen habe ich leider nicht.


  • ... über einen Chronjob eingebunden ...

    Unter welchem user läuft der cronjob? BTW: Auch wenn Du hier WLAN nutzen musst und Kabel nicht möglich ist, ist dein Script nicht optimal für einen Server.

    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

  • Hallo,

    Zitat

    Die Option ein Kabel zu verlegen habe ich leider nicht.


    Dafür gibt's z.B. die Powerline Adapter von z.B. Devolo. Ein Steckdose gibt es ja ;)

    Zitat

    ist dein Script nicht optimal für einen Server.


    Grundsätzlich ist Ubuntu Mate keine gute Distribution für einen Server. Aber das ist ein anderes Thema ;)

    Wenn die `nmcli ...` Befehle im Skript nicht funktionieren, wird garantiert irgendwo hin eine Fehlermeldung geloggt (vermutlich nach `/var/log/syslog`). Da müsstest du dann mal rein schauen.

    Gruß, noisefloor

  • Hi,


    ...
    ... allerdings ist die WLAN Verbindung schlecht.
    ...
    Hat mir jemand einen Tipp wie ich die Verbindung wieder aufbauen kann?


    ... versuch' doch lieber mal rauszubekommen, warum die Verbindung abbricht ... alles andere ist imho doch nur reines Rumgefrickel
    Eventuell stimmt was mit Deiner Stromversorgung nicht oder das Signal ist zu schwach ... dann musst Du halt irgendwo einen preiswerten Repeater aufstellen.
    Der "Normalfall" sollte doch sein, dass das Teil über Wochen bzw. Monate ohne Verbindungsabbruch im WLAN ist.

    cu,
    -ds-


  • Der "Normalfall" sollte doch sein, dass das Teil über Wochen bzw. Monate ohne Verbindungsabbruch im WLAN ist.

    Ja, aber leider ist es nicht so. Ich habe das mal mit einem WLAN-Client und meiner FritzBox getestet. Das Problem sind vermutlich "externe Einflüsse", die den Datenaustausch beim rekeying (EAPOL) stören. Wenn der WLAN-Client nicht auf die rekeying-Anfrage des Router/Repeater antwortet, dann wird dieser WLAN-Client vom Router/Repeater abgemeldet.

    EDIT:

    BTW: Was nutzt eine WLAN-Verbidung, die zum "Server" z. B. 4 Monate stabil ist und dann am 1 Tag eines 3-wöchigen Urlaubs abbricht? Ich denke, wenn es beim "Server" nur eine WLAN-Verbindung sein muss/kann, dann nicht ohne Absicherung.

    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 (14. August 2015 um 18:15)

  • Der Pi läuft als "Datalogger mit WLAN-Anbindung". Deshalb viel die Wahl auf Ubuntu Mate, damit ließ sich der
    Datalogger recht einfach implementieren. Die Page wird nur sporadisch aufgerufen (ein paar mal pro Woche),
    aber dann sollte es halt funktionieren. Powerline wird wahrscheinlich nicht funktionieren, da die Steckdose
    auf einem anderen Stromkreis (Zähler) läuft.
    Das Script wird als root ausgeführt. Auf dem Pi ist postfix installiert,
    da cron Mails mit Fehlermeldungen versendet wenn was schief läuft. Leider wird keine Mail gesendet.
    Das Script wird alle 10 min gestartet, das sehe ich im syslog, da ich da zu debugzwecken die Ausgabe eingebaut habe.
    Wenn ich den Router resete um einen Verbindungsabbruch zu simulieren sehe ich im Logfile das die mwcli Kommandos ausgeführt werden, aber es kommt keine neue Verbindung zustande. Diese wird erst wieder aufgebaut wenn ich den PI neu starte.


  • ....
    ... Ich denke, wenn es beim "Server" nur eine WLAN-Verbindung sein muss/kann, dann nicht ohne Absicherung.


    da hast Du ja recht ... nur ist eine Situation, in der mehrmals täglich die Verbindung abbricht keine zuverlässige Ausgangsbasis ;)


    ... Diese wird erst wieder aufgebaut wenn ich den PI neu starte.


    Die "anderen" Kandidaten wie z.B. powersafe Modus des WLAN-Sticks oder eben Stromversorgung kannst Du ausschliessen?
    Gibt es eine Möglichkeit, da Teil testweise mal näher zum Router zu bringen oder umgekehrt, um zu checken, ob nicht evtl. ein Repeater Abhilfe schaffen könnte?

    cu,
    -ds-


  • ...
    Das Script wird als root ausgeführt. ... sehe ich im Logfile das die mwcli Kommandos ausgeführt werden, aber es kommt keine neue Verbindung zustande.

    OK, d. h. Du verwendest die systemweite crontab.

    Ein evtl. Grund warum es nicht funktioniert, könnte sein, weil nmcli (NetworkManager) DBus benötigt, aber DBus bei einer Ausführung mit/aus cron, nicht zur Verfügung steht. cron stellt eine andere "Umgebung" zur Verfügung. Evtl. kann man das ändern/ergänzen, aber ich weiß z. Zt. nicht wie das geht.

    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

  • Ja verwende die Systemweite crontab.

    Habe mittlerweile ein Repeater in Betrieb. Wenn aber der Router neu startet (z.B. Autmatisches Firmwareupdate) ist die Verbindung weg. Der Fall ist selten, hätte ihn aber gerne auch abgedeckt.
    [/quote]
    Gibt es eine Möglichkeit, da Teil testweise mal näher zum Router zu bringen oder umgekehrt, um zu checken, ob nicht evtl. ein Repeater Abhilfe schaffen könnte?
    [/quote]

    Einmal editiert, zuletzt von uenz (14. August 2015 um 23:26)


  • Ja verwende die Systemweite crontab.

    Ich würde an deiner Stelle, den Networkmanager deinstallieren (d. h. nmcli nicht verwenden) und statt dessen, die Netzwerk-Konfiguration mit der interfaces-Datei machen bzw. die WLAN-Verbindung mit dem wpa_supplicant herstellen. D. h., statt nmcli, im Script zur Absicherung der Verbindung, den wpa_supplicant verwenden.

    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


  • ...
    Habe mittlerweile ein Repeater in Betrieb. Wenn aber der Router neu startet ...
    ...


    hm ... hast Du über die MAC die IP für den RPi reserviert? Bei mir ist das so ... und wenn ich den WLAN-Router mal neu boote, dann bekommt der RPi das auch nicht mit. Aber die Verbindung steht sofort wieder (ssh, nfs, ...).
    Eine gewisse Zeit der Unterbrechung managed das TCP/IP i.d.R. selbst.

    cu,
    -ds-

  • Danke für die Tipps, habe es hinbekommen. Hatte durch das viele Probieren doch noch einen Fehler im Scipt.

    Hier das Funktionierende script (gespeichert unter /root/wifi-check.sh):

    Bash
    #!/bin/bash
    if ! [ "$(ping -c 1 google.com)" ]; then
     logger "WifiChecker Warning: connection lost -- restart"  
     /usr/bin/nmcli radio wifi off
     sleep 5
     /usr/bin/nmcli radio wifi on
    #else
    #  logger "WifiChecker Info: Connection OK"
    fi

    Aufgefufen wird es über den /etc/crontab Eintrag:

    Code
    */10 * * * * root /bin/bash /root/wifi-check.sh >> /root/wifi-check.log 2>&1

    In die Datei nach dem >> werden allfällige Fehler geschrieben. Das ist zum Debuggen wesentlich einfacher als Mails von
    cron zu empfangen.

Jetzt mitmachen!

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