blob: df9c2155b9dc1936535441056ccd98f9369d67c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/bin/sh
start_wpa_supplicant(){
wpa_conf=${1?please supply wpa_supplicant.conf path}
killall wpa_supplicant
sleep 1
cat>$wpa_conf<<EOF
ctrl_interface=/var/run/wpa_supplicant
EOF
wpa_supplicant -i $interface -c $wpa_conf -B
sleep 4
}
connect_wifi(){
# bssid ssid encryption-string key
wpa_cli reconfigure
int=$(wpa_cli add_network | tail -1)
wpa_cli set_network $int ssid \"$2\"
wpa_cli set_network $int bssid $1
#wpa_cli set_network $int ap_scan 1
if [ "$3" = "[ESS]" ]; then
wpa_cli set_network $int key_mgmt NONE
else
wpa_cli set_network $int key_mgmt WPA-PSK
wpa_cli set_network $int psk \"$4\"
fi
wpa_cli enable_network $int
}
wifi_scan(){
# usage: iwlist_scan $wifi-itf
count=0
wpa_cli scan >/dev/null
sleep 10
wpa_cli scan_results 2>/dev/null | egrep "^..:" | sed 's/ / /g' | (while IFS=' ' read MAC FREQ QUALITY ENCRYPTION ESSID
do
: $((count+=1))
print_wifi_env
done; echo WIFI_COUNT=$count)
}
print_wifi_env(){
# takes environment:
# MAC
# FREQ
# QUALITY
# ENCRYPTION
# ESSID
for i in MAC FREQ QUALITY ENCRYPTION ESSID;do
eval echo ${i}_${count}=\\\"\$"${i}"\\\"
done
}
wpa_supplicant_is_usable(){
wpa_cli status >/dev/null 2>&1
}
|