在 Ubuntu 14.04 上,我使用 USB 无线适配器连接到无线网络。连接经常断开(我已经尝试解决问题,但我不知道为什么。那是另一个问题。请参阅dmesg | grep wlan 此处的输出)。
我的网络管理器有时可以自动重新连接,但有时不能。
所以当它断开连接时,我经常不得不跑
sudo dhclient -v wlan1
Run Code Online (Sandbox Code Playgroud)
重新连接。如果那不起作用,我会跑
sudo wpa_supplicant -B -i wlan1 -c /etc/wpa_supplicant.conf
sudo dhclient -v wlan1
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,我还将rt2800usb首先重新加载其驱动程序:
sudo modprobe -r rt2800usb
sudo modprobe rt2800usb
sudo wpa_supplicant -B -i wlan1 -c /etc/wpa_supplicant.conf
sudo dhclient -v wlan1
Run Code Online (Sandbox Code Playgroud)
我们如何在每次断开连接时自动运行命令,即自动重新连接?
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
Run Code Online (Sandbox Code Playgroud)
测试脚本
运行此脚本,然后打开一个新终端并运行killall wpa_supplicant,您将再次重新连接。
| 归档时间: |
|
| 查看次数: |
9668 次 |
| 最近记录: |