Raspberry STRETCH wLan Adapter wlan0 reconnect funktioniert nicht

  • ich habe meine Raspberry pi 3 mit einem neuen STRETCH-Image aufgesetzt. wLan ist verbunden und funktioniert. Dann bricht die wLan-Verbindung ab. Grund habe ich noch nicht gefunden. Die WiFi-Signalstärke ist nur ein Balken (schwach). Die Entfernung zum Accesspoint ist weiter. Daher das schwache Signal. Das wLan funktioniert aber. manchmal schon nach 5 Minuten, manchmal nach 8 Stunden ist der Pi nicht mehr erreichbar. (Manchmal starte ich auch den Accesspoint neu. Der Pi sollte sich nun neu verbinden. Das tut er aber nicht.

    Normalerweise ist meine Accesspoint ESSID nicht sichtbar (unsichtbar). Das habe ich aber schon wegen der Wiederverbindungsprobleme geändert. ESSID wird jetzt vom Accesspoint jetzt gesendet (sichtbar).



    dhcpcd Service ist active

    in der

    /etc $ sudo nano dhcpcd.conf

    sind die statischen Netzwerkeinstellungen hinterlegt.


    Hat jemand eine Idee, wie man den RECONNECT des wLan-Adapters hinbekommt? Falls der nicht funktionierende Reconnect am onBoard WiFi-Adapter liegt, dann kann ich auch einen USB-wLan Adapter benutzen, aber dann muß die Netzwerkkonfiguration auf den zweiten USB-Adapter umgesetzt werden. Wie das bei STRETCH funktioniert weiß ich nicht.


    Danke für Ideen, Hinweise, Hilfe - Carsten

    2 Mal editiert, zuletzt von CaJo ()

  • Die WiFi-Signalstärke ist nur ein Balken (schwach). Die Entfernung zum Accesspoint ist weiter. Daher das schwache Signal. Das wLan funktioniert aber. manchmal schon nach 5 Minuten, manchmal nach 8 Stunden ist der Pi nicht mehr erreichbar. (Manchmal starte ich auch den Accesspoint neu. Der Pi sollte sich nun neu verbinden. Das tut er aber nicht.

    Den AP solltest Du nicht neu starten und einen USB-WLAN-Adapter brauchst Du auch nicht, denn das onboard-wifi ist OK. Was Du brauchst ist erstmal ein Repeater (oder gleichwertgig. Wenn Du mit dem Repeater dann auch noch Probleme hast, musst Du das onboard-wifi des PI optimieren (... z. B. mit einer eigenen service-unit für das WLAN auf dem PI und einem Script/cronjob, die das WLAN des PI überwachen und bei Bedarf wieder starten). Beispiele gibt es schon hier im Forum.


    EDIT:


    BTW: Poste mal die Ausgabe von:

    Code
    1. ls -la /lib/dhcpcd/dhcpcd-hooks
  • Hier das Ergebnis des Verzeichnisses /lib/dhcpcd/dhcpcd-hooks:


    Code
    1. pi@raspberrypi:~ $ ls -la /lib/dhcpcd/dhcpcd-hooks
    2. insgesamt 36
    3. drwxr-xr-x 2 root root 4096 Nov 13 14:22 .
    4. drwxr-xr-x 3 root root 4096 Nov 13 14:22 ..
    5. -rw-r--r-- 1 root root 283 Sep 10 10:31 01-test
    6. -rw-r--r-- 1 root root 120 Sep 10 10:31 02-dump
    7. -rw-r--r-- 1 root root 2930 Sep 10 10:31 10-wpa_supplicant
    8. -rw-r--r-- 1 root root 5588 Sep 10 10:31 20-resolv.conf
    9. -rw-r--r-- 1 root root 3503 Sep 10 10:31 30-hostname
    10. -rw-r--r-- 1 root root 3472 Sep 10 10:31 50-ntp.conf
  • Code
    1. Was soll das denn heißen?

    Naja, der wpa_supplicant wird durch das hook-Script des dhcpcd gestartet (wenn der dhcpcd startet). Aber wenn danach die WLAN-Verbindung verloren geht bzw. unterbrochen wird, kümmert sich der dhcpcd nicht darum, dass diese WLAN-Verbindung wieder hergestellt wird.

    Das kannst Du mit einem Script und einem cronjob machen.


    Wie sind auf deinem PI, die Ausgabe von:

    Code
    1. systemctl status dhcpcd
    2. ps aux | grep -i [w]pa_
    3. ls -la /var/run/wpa_supplicant

    wenn die WLAN-Verbindung mal _unterbrochen_ ist?

  • Zu 1:

    pi@raspberrypi:~/WATCHDOG $ systemctl status dhcpcd

    ● dhcpcd.service - dhcpcd on all interfaces

    Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)

    Active: active (running) since Sun 2019-02-10 00:31:32 CET; 11h ago

    Process: 307 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -b (code=exited, status=0/SUCCESS)

    Main PID: 337 (dhcpcd)

    CGroup: /system.slice/dhcpcd.service

    ├─337 /sbin/dhcpcd -q -b

    └─387 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext


    Feb 10 00:31:33 raspberrypi dhcpcd[337]: wlan0: deleting address hi:er:ei:ne:MAC

    Feb 10 00:31:34 raspberrypi dhcpcd[337]: wlan0: carrier acquired

    Feb 10 00:31:34 raspberrypi dhcpcd[337]: wlan0: IAID eb:08:54:82

    Feb 10 00:31:34 raspberrypi dhcpcd[337]: wlan0: adding address hi:er:ei:ne:MAC

    Feb 10 00:31:34 raspberrypi dhcpcd[337]: wlan0: probing address meineIP/24

    Feb 10 00:31:35 raspberrypi dhcpcd[337]: wlan0: soliciting an IPv6 router

    Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: using static address meineIP/24

    Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: adding route to meinNetzwerk.0/24

    Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: adding default route via meineIP

    Feb 10 00:31:48 raspberrypi dhcpcd[337]: wlan0: no IPv6 Routers available



    Zu 2:

    pi@raspberrypi:~/WATCHDOG $ ps aux | grep -i [w]pa_

    root 387 0.0 0.3 10048 3700 ? Ss 00:31 0:07 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext


    Zu 3:

    pi@raspberrypi:~/WATCHDOG $ ls -la /var/run/wpa_supplicant

    insgesamt 0

    drwxr-x--- 2 root netdev 80 Feb 10 00:31 .

    drwxr-xr-x 30 root root 900 Feb 10 10:50 ..

    srwxrwx--- 1 root netdev 0 Feb 10 00:31 p2p-dev-wlan0

    srwxrwx--- 1 root netdev 0 Feb 10 00:31 wlan0

  • Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: using static address meineIP/24

    Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: adding route to meinNetzwerk.0/24

    Feb 10 00:31:40 raspberrypi dhcpcd[337]: wlan0: adding default route via meineIP

    Feb 10 00:31:48 raspberrypi dhcpcd[337]: wlan0: no IPv6 Routers available

    Ist das so, dass die WLAN-Verbindung jetzt unterbrochen ist (oder war)? ... denn das Log ist ja vom frühen morgen:

    Code
    1. Feb 10 00:31:48

    Wenn ja, wie hast Du _jetzt_ festgestellt, dass die WLAN-Verbindung unterbrochen ist?


    Installiere mal auf deinem PI:

    Code
    1. sudo apt-get install iputils-arping tcpdump
  • Die wLan-Verbindung war die letzten !! 10 Stunden !! nicht unterbrochen. Aber gestern hatte ich im Laufe des Tages ca. 10 Abbrüche. Wenn der Pi dann keine wLan Verbindung mehr hat kann ich mich natürlich wegen des fehlenden RECONNECTS nicht wieder per SSH verbinden

    UND ich muss dann den Stecker ziehen. :o( An der Activity-LED (grün) kann ich aber noch Aktivität des Pi feststellen, bevor ich ihn dann kille.


    Software habe ich installiert.

    mache mal eine roboot ...

  • so, nach dem reboot lief 5 Minuten alles gut, dann war das wLan futsch.

    OK. Kannst Du im WLAN-Router nachschauen, was dort bzgl. der WLAN-Verbindung des PI angezeigt wird?

    Denn eine nur nicht zustande kommende ssh-Verbindung kann auch andere Ursachen haben.


    BTW: Stecker ziehe ist ganz schlecht und sollte man nicht machen. Dein PI3 hat ja auch noch ein LAN-Interface, über das Du eine direkte Kabel-Verbindung (d. h. ohne den Router und genau für solche Fälle) herstellen kannst. D. h. konfiguriere mal das LAN-Interface des PI mit einer festen IP-Adresse aus einem anderen Subnetz als das des WLAN-Interface.

  • in der FBox ist der Pi nicht mehr sichtbar und hat auch keinen erfolglosen Anmeldevorgang.


    Mit dem Lan-Kabel hast Du recht, aber ich habe gerade kein so langes LAN-Kabel ... :rolleyes: und einen Laptop habe ich auch nicht zur Hand :/. Ich werde mir ein (wLan) - Kabel besorgen. ich wollte schon immer mal eine alte Kabeltrommel mit Netzwerkabel bauen -> Nächstes Projekt.

  • Zitat

    Aber wenn danach die WLAN-Verbindung verloren geht bzw. unterbrochen wird, kümmert sich der dhcpcd nicht darum, dass diese WLAN-Verbindung wieder hergestellt wird.

    Das kannst Du mit einem Script und einem cronjob machen.

    dieses Watchdog.sh hatte ich schon in meiner crontab -e eingetragen jede Minute.

    Code
    1. ping -c4 192.168.XXX.XXX > /dev/null
    2. if [ $? != 0 ]
    3. then
    4. echo "No network connection, restarting wlan0"
    5. /sbin/ifdown 'wlan0'
    6. sleep 5
    7. /sbin/ifup --force 'wlan0'
    8. fi
  • pi@raspberrypi:~/WATCHDOG $ sudo arping -c 3 -I wlan0 -s 192.168.2.91 192.168.2.60

    ARPING 192.168.2.60 from 192.168.2.91 wlan0

    Unicast reply from 192.168.2.60 [CC:CE:1E:XX:XX:XX] 5.692ms

    Unicast reply from 192.168.2.60 [CC:CE:1E:XX:XX:XX] 5.591ms

    Unicast reply from 192.168.2.60 [CC:CE:1E:XX:XX:XX] 5.221ms

    Sent 3 probes (1 broadcast(s))

    Received 3 response(s)


    XX:XX:XX -> Mac-Adresse von der Fritzbox

  • Sent 3 probes (1 broadcast(s))

    Received 3 response(s)

    Und die Ausgaben von:

    Code
    1. iwconfig
    2. sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
    3. pwd

    ?


    EDIT:


    Versuch mal mit folgendem Script in der systemweiten "/etc/crontab":

    Code
    1. echo 1 > count_wpasup_restart.txt
    2. sudo nano /usr/local/bin/wpasup_restart

    Inhalt:

    (Pfad evtl. anpassen) nach dem speichern:

    Code
    1. sudo chmod 755 /usr/local/bin/wpasup_restart

    Eintrag in die systemweite crontab:

    Code
    1. sudo nano /etc/crontab

    als letzte Zeilen:

    Code
    1. */2 * * * * root /usr/local/bin/wpasup_restart > /dev/null 2>&1
    2. # - - - - - - - - -

    Warten und beobachten ob der wpa_supplicant neu gestartet wird.

    Code
    1. ps -fC wpa_supplicant
  • Zu 1:


    zu 2:

    pi@raspberrypi:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

    update_config=1

    country=DE


    network={

    ssid="MeineSSID"

    psk=aslkdjfaksdjflksadjflkasdjfljfasdlkjflksadjfklajsdfdasfasdf

    }



    zu 3:

    pi@raspberrypi:~ $ pwd

    /home/pi