Create wireless.sh
This commit is contained in:
parent
2da218b528
commit
97e3b7108a
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# dependencies: bash wireless-tools
|
||||||
|
|
||||||
|
DIR=$(dirname $0)
|
||||||
|
|
||||||
|
source "$DIR/wireless.conf"
|
||||||
|
|
||||||
|
WIFI=$(uci get wireless.@wifi-iface[0].ssid)
|
||||||
|
|
||||||
|
echo "current wifi: $WIFI"
|
||||||
|
|
||||||
|
if [ $(iw dev wlan0 scan|grep "$WIFI"|wc -l) -eq 0 ];then
|
||||||
|
uci set wireless.@wifi-iface[0].disabled=1
|
||||||
|
uci commit
|
||||||
|
/etc/init.d/network restart
|
||||||
|
sleep 15
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
for wifi in "${essids[@]}" ; do
|
||||||
|
ESSID="${wifi%%:*}"
|
||||||
|
PASS="${wifi##*:}"
|
||||||
|
echo "checking: $ESSID ..."
|
||||||
|
#echo "$PASS"
|
||||||
|
|
||||||
|
if [ $(iw dev wlan0 scan|grep "$ESSID"|wc -l) -ne 0 ];then
|
||||||
|
echo "wifi: $ESSID is detected."
|
||||||
|
|
||||||
|
if [ "$WIFI" != "$ESSID" ]; then
|
||||||
|
uci set wireless.@wifi-device[0].channel="auto"
|
||||||
|
uci set wireless.@wifi-iface[0].ssid="$ESSID"
|
||||||
|
uci set wireless.@wifi-iface[0].key="$PASS"
|
||||||
|
uci delete wireless.@wifi-iface[0].bssid
|
||||||
|
uci set wireless.@wifi-iface[0].disabled=0
|
||||||
|
if [ -z "$PASS" ]; then
|
||||||
|
uci set wireless.@wifi-iface[0].encryption="none"
|
||||||
|
uci delete wireless.@wifi-iface[0].key
|
||||||
|
else
|
||||||
|
uci set wireless.@wifi-iface[0].encryption="psk-mixed"
|
||||||
|
fi
|
||||||
|
uci commit
|
||||||
|
/etc/init.d/network restart
|
||||||
|
fi
|
||||||
|
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
Loading…
Reference in New Issue