Auto reconectar ao wifi uma vez desconectado?

5

No Ubuntu 14.04, estou usando um adaptador sem fio USB para conectar a uma rede sem fio. A conexão é frequentemente desconectada (tentei resolver o problema, mas não sei por quê. Essa é outra questão. Veja a saída de dmesg | grep wlan aqui ).

Meu Network Manager às vezes pode se reconectar automaticamente, mas às vezes não é possível.

Então, quando se desconecta, muitas vezes tenho que correr

sudo dhclient -v wlan1

para se reconectar. Se isso não funcionar, eu vou correr

sudo wpa_supplicant -B  -i wlan1 -c /etc/wpa_supplicant.conf
sudo dhclient -v wlan1

Se isso não funcionar, também recarregarei seu driver rt2800usb first:

sudo modprobe -r rt2800usb
sudo modprobe rt2800usb
sudo wpa_supplicant -B  -i wlan1 -c /etc/wpa_supplicant.conf
sudo dhclient -v wlan1

Como devemos executar automaticamente os comandos sempre que desconectar, ou seja, tornar a reconexão automática?

Existe um problema que principalmente o nome lógico do meu adaptador USB é wlan1 , mas às vezes é wlan0 .

    
por Tim 10.05.2015 / 04:08

1 resposta

1

Você pode obter o estado de wlan1 de /sys/class/net/wlan1/carrier , este é um exemplo de script para verificar o estado de sua interface Wi-Fi a cada 2 segundos e reconectar (substitua sleep 2 para verificar a conectividade a cada n segundos ):

while true
     do
     i=$(cat /sys/class/net/wlan1/carrier)
if [ $i == 1 ]
then
       echo "connected"

else
       echo "reconnecting"
       killall wpa_supplicant
       modprobe -rv rt2800usb
       modprobe -v rt2800usb
       wpa_supplicant -i wlan1 -c/etc/wpa_supplicant.conf -B
       dhclient wlan1
       echo "reconnected successfully"
       fi
sleep 2
done

teste

Execute este script, abra um novo terminal e execute killall wap_supplicant , você será reconectado novamente.

    
por 22.10.2017 / 14:17

Tags