WLAN reconnect nach Fritzbox Nachtschaltung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi,

    meine Fritzbox macht Nachts Sendepause, mein Raspi mit Edimax Wlan USB Stick verliert dabei die WLAN Verbindung (was ja logisch ist), connectet aber morgens um 6 nicht mehr automatisch.
    Nun habe ich einige Scripte im Netz gefunden, die per cron aufgerufen werden, um das wlan morgens wieder zu verbinden.

    Die Schose schaut so aus:

    wenn ich das wlan mit

    Code
    ifdown wlan0

    deaktiviere, dann ich es durch das Aufrufen des Scripts wieder aktivieren.
    Nach der Nachtschaltung funktioniert das aber nur bedingt.

    wenn der Ping auf google.com nicht funktioniert, dann schreibe ich das in ein Logfile

    Code
    echo "`date` Network Down ..........." >> /home/pi/wifi.ok

    Für den Fall: WLAN war aus, WLAN kommt wieder, Script wird ausgeführt, wird Network Down ........... geschrieben, WLAN 0 bekommt wieder IP Adresse, ifup --force $wlan wird ausgeführt. Rufe ich das Script auf


    wird also erkannt, das wlan down sein soll. Rufe ich es erneut auf, erscheint das gleiche (WLAN down, weil ping auf google.com nicht funzt)

    Code
    [ifconfig]
    wlan0     Link encap:Ethernet  HWaddr 80:1f:02:e2:8a:13
              inet addr:192.168.155.22  Bcast:192.168.155.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:16803 errors:0 dropped:4567 overruns:0 frame:0
              TX packets:121 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:8050425 (7.6 MiB)  TX bytes:4070963 (3.8 MiB)


    schaut gut aus
    ping klappt zwar innerhalb meines Netzwerks, aber nach außen eben nicht.
    ping -I wlan0 192.168.0.1 > OK
    ping -I wlan0 wlan0 193.99.144.80 > NOK

    Bedeutet für mich, es gibt ein Problem mit dem Gateway.
    Ich könnte jetzt jeden Morgen den Raspi per Cron rebooten, wäre jetzt aber irgendwie nicht wirklich die Lösung des Problems.

  • die meisten Seiten hatte ich schon durch, aber das hier ist mir neu:


    Well, there is a very simple solution:
    Go to /etc/ifplugd/action.d/ and rename the ifupdown file to ifupdown.original
    Then do: cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown
    Finally: sudo reboot

    That's all. Test this by turning off/on your AP; you should see that your Raspberry Pi properly reconnects.

    wird heute abend getestet, mal schaun ob der Raspi morgen noch WLAN hat.
    Ich berichte ... ;)


  • schaut gut aus
    ping klappt zwar innerhalb meines Netzwerks, aber nach außen eben nicht.
    ping -I wlan0 192.168.0.1 > OK
    ping -I wlan0 wlan0 193.99.144.80 > NOK

    Bedeutet für mich, es gibt ein Problem mit dem Gateway.
    Ich könnte jetzt jeden Morgen den Raspi per Cron rebooten, wäre jetzt aber irgendwie nicht wirklich die Lösung des Problems.

    Poste mal, wenn der Ping im WLAN funktioniert und der Ping ins Internet nicht funktioniert, die Ausgabe von:

    Code
    route -n

    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 (10. Juni 2014 um 16:30)

  • supi, also das hier funzt auf jeden Fall, heute morgen direkt nach der Nachtschaltung connectet das WLAN wieder:

    Well, there is a very simple solution:
    Go to /etc/ifplugd/action.d/ and rename the ifupdown file to ifupdown.original
    Then do: cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown
    Finally: sudo reboot

    Code
    route -n


    werde ich auch nochmal testen, die Modifikation oben rückgängig machen und das Script per Cron ausführen.

  • ifupdown zurück kopiert und alten Zustand wieder hergestellt
    Fritz Nachtschaltung und kein wlan reconnect am nächsten Morgen.
    Kabel angesteckt und eingeloggt, das Script wurde 2x erfolglos vom cron ausgeführt.
    dann nochmal manuell das Script ausgeführt, wlan kommt wieder.
    Kabel abgesteckt und per wlan eingeloggt.
    jetzt

    Code
    route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.0.0   0.0.0.0         255.255.255.0   U     0      0        0 wlan0

    es gibt keinen Gateway und deswegen klappts zwar intern aber eben nicht nach draussen.
    2 Fehler hat die Methode also, per Cron kommt das wlan0 nicht wieder. Nur manuell ausführen bringt das wlan zurück, dann aber ohne Gateway.

  • Zeig mal deine interfaces.

    der Fehler im ersten Thread hier :

    Code
    RTNETLINK answers: File exists
    Failed to bring up wlan0.


    Sagt das er das die Route nicht setzen kann weil diese schon existiert.
    Dann kommt das Interface ncht hoch.

    Eine möglichkeit ist über ifdown die Routing Tabels zu löschen :

    Code
    ip route flush table main


    Löscht aber alle Routen für alle Interfaces !

    Du kannst das so lösen :
    In der interfaces für wlan0 kein Gateway Eintrag, stattdessen :
    (192.168.2.1 durch deine GW IP ersetzen)

    Code
    up route add default gw 192.168.2.1
    down route del default gw 192.168.2.1

    Das Problem tritt meistens dann auf wenn eth0 und wlan0 beide für das selbe Netzwerk mit gateway x.x.x.x konfiguriert sind.
    Dann versucht das Interface welches als zweites hoch kommt eine Default Route zu setzen welche schon existiert.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (12. Juni 2014 um 11:09)

  • Ich habe folgende Änderungen vornehmen müssen, damit der Script via cron funktioniert:

    Code
    pingip='ip meines Routers' (Warum nach "draußen" pingen? Und dann noch dazu zu google ;-) )
    
    /sbin/ifdown $wlan        <<<<<<----- Hier musste ich den kompletten Pfad angeben
       sleep 5
    /sbin/ifup --force $wlan  <<<<<<----- Hier musste ich den kompletten Pfad angeben

    Damit läuft das Ganze wie am Schnürchen.

    Crontab vom user root sieht so aus:

    */1 * * * * /home/pi/wlan-reconnect.sh

    Ich prüfe im Moment also jede Minute.

  • Well, there is a very simple solution:
    Go to /etc/ifplugd/action.d/ and rename the ifupdown file to ifupdown.original
    Then do: cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown
    Finally: sudo reboot

    Das funktioniert bei mir nicht. Nur die Lösung mit dem Script als cron job. Habe einen Ralink wlan Adapter.

Jetzt mitmachen!

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