wifi断线后自动重连?

wifi断线后自动重连?

在 Ubuntu 14.04 上,我使用 USB 无线适配器连接到无线网络。连接经常断开(我已经尝试解决这个问题,但我不知道为什么。那是另一个问题。请参阅输出dmesg | grep wlan 这里)。

我的网络管理器有时可以自动重新连接,但有时却不能。

所以当它断开连接时,我经常不得不运行

sudo dhclient -v wlan1

重新连接。如果这不起作用,我会跑步

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

如果这不起作用,我也会rt2800usb先重新加载其驱动程序:

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

我们如何在每次断开连接时自动运行命令,即自动重新连接?

有一个问题是我的 USB 适配器的逻辑名称大部分是 ,wlan1但有时是wlan0

答案1

wlan1您可以获取from的状态/sys/class/net/wlan1/carrier,这是一个示例脚本,用于每 2 秒检查一次 wifi 接口的状态,然后重新连接(替换sleep 2为每秒检查一次连接n):

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

测试脚本

运行此脚本,然后打开一个新终端并运行killall wpa_supplicant,您将再次重新连接。

相关内容