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
연결을 끊을 때마다, 즉 자동으로 다시 연결될 때마다 자동으로 명령을 실행하려면 어떻게 해야 합니까?
답변1
wlan1
에서 상태를 얻을 수 있습니다 /sys/class/net/wlan1/carrier
. 다음은 다시 연결하기 전에 2초마다 Wi-Fi 인터페이스의 상태를 확인하는 샘플 스크립트입니다( sleep 2
1초마다 연결을 확인하여 대체됨 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
하면 다시 연결됩니다.