web-dev-qa-db-ja.com

切断したら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である場合もあります という問題があります。

5
Tim

wlan1の状態は/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 wap_supplicantを実行すると、再接続されます。

1
GAD3R