1
2
3
4
5 __usage() {
6 cat <<EOF
7 $0 <interface> nwid "<ssid>" wpakey "<wpa_passwd>"
8 OR
9 $0 <interface> list
10 EOF
11 exit 1;
12 }
13
14 _cfg='network={
15 ssid="%s"
16 scan_ssid=1
17 key_mgmt=WPA-PSK
18 psk="%s"
19 }'
20
21 _nwid=""
22 _wpakey=""
23
24
25
26 [ -z "$1" ] && __usage
27 _if="$1" ; shift
28
29 if [ "$1" = "list" ] ; then
30 iw "$_if" scan | awk '/SSID:/{$1="";print $0}' | sed -ne's/^ //p'
31 exit 0;
32 fi
33
34 _temp="$(mktemp)"
35
36 while [ $# -gt 0 ] ; do case $1 in
37 nwid) _nwid="$2"; shift; shift ;;
38 wpakey) _wpakey="$2"; shift; shift ;;
39 *) __usage ;;
40 esac ; done
41
42 [ -z "$_nwid" ] && __usage
43 [ -z "$_wpakey" ] && __usage
44
45
46 printf "$_cfg" "$_nwid" "$_wpakey" > "$_temp"
47
48
49 tmux new-session -s wpa wpa_supplicant -i "$_if" -c "$_temp" \;\
50 new-window busybox udhcpc -i "$_if" -f
51
52