Ich weiß nicht warum, aber wie Sie bereits erwähnt haben, findet der Netzwerkmanager das Netzwerk manchmal nicht wieder, wenn das WLAN ausfällt.
Ich denke, dass das Problem darin besteht, dass der Netzwerkmanager nach einem WLAN-Verbindungsfehler die WLAN-Liste nicht aktualisiert (und es scheint, dass der Netzwerkmanager das problematische Netzwerk verbirgt). Der Netzwerkmanager verfügt nicht über eine Menüoption zum erneuten Scannen. Durch Deaktivieren und Aktivieren des Kontrollkästchens für die drahtlose Verbindung im Menü des Netzwerkmanagers wird kein neuer WLAN-Scan erzwungen (wie beim Neustart des Dienstes).
Wenn der Netzwerkmanager meine drahtlose Verbindung verliert und mein WLAN nicht wieder findet (und ich wusste, dass das WLAN funktioniert), führe ich den folgenden Befehl aus:
sudo iwlist wlan0 scan
Es führt einen WLAN-Scan auf der wlan0-Schnittstelle durch (wlan0 ist der Name der drahtlosen Schnittstelle in meinem Laptop) und zeigt Ihnen die verfügbaren drahtlosen Netzwerke an. Als Nebeneffekt aktualisiert der Netzwerkmanager automatisch seine Liste und findet das verlorene Netzwerk.
Ich bevorzuge es, den Befehl manuell auszuführen, wenn dieses Problem auftritt (eine erneute Netzwerkverbindung stellt keine Wiederaufnahme der Kommunikation sicher, und einige Programme müssen neu gestartet werden).
Wie Sie bereits erwähnt haben, können Sie dies tun, ohne die Konnektivität zu testen (der Scanvorgang aktualisiert Ihre WLAN-Liste, schließt jedoch nicht Ihre aktuelle drahtlose Verbindung, wenn Sie verbunden sind).
Wenn Sie möchten, können Sie die Konnektivität mit Ping oder iwconfig testen. Wenn Sie nicht verbunden sind, starten Sie den Scan.
Etwas wie:
#!/bin/bash
if ! ping -c 1 -W 1 your_router_ip &> /dev/null
then
iwlist wlan0 scan
fi
Denken Sie jedoch daran, dass dieses Skript mit Root-Rechten ausgeführt oder ausgeführt werden muss. Es wird nur 1 Ping mit 1 Sekunde Timeout gesendet.