xref: /OK3568_Linux_fs/buildroot/board/forlinx/ok3568/fs-overlay/usr/bin/fltest_wifi.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/sh
2
3cnt1=`ps aux | grep hostapd | grep -v grep  | wc -l`
4if [ "$cnt1" != "0" ];then
5        killall hostapd > /dev/null
6fi
7
8/etc/init.d/S80dnsmasq stop > /dev/null
9
10
11function usage()
12{
13    echo "Usage: -i <wifi> -s <ssid> -p <password>"
14    echo "eg: ./wifi.sh -i mlan0 -s bjforlinx -p 12345678 "
15    echo "eg: ./wifi.sh -i mlan0 -s bjforlinx -p NONE "
16    echo " -i : mlan0 or mlan1"
17    echo " -s : wifi ssid"
18    echo " -p : wifi password or NONE"
19}
20
21function parse_args()
22{
23    while true; do
24        case "$1" in
25            -i ) wifi=$2;echo wifi $wifi;shift 2 ;;
26            -s ) ssid=$2;echo ssid $ssid;shift 2 ;;
27            -p ) pasw=$2;echo pasw $pasw;shift 2 ;;
28            -h ) usage; exit 1 ;;
29            * ) break ;;
30        esac
31    done
32}
33
34if [ $# != 6 ]
35then
36    usage;
37    exit 1;
38fi
39
40parse_args $@
41
42if [ -e /etc/wpa_supplicant.conf ]
43then
44    rm /etc/wpa_supplicant.conf
45fi
46    echo \#PSK/TKIP >> /etc/wpa_supplicant.conf
47	echo ctrl_interface=/var/run/wpa_supplicant >>/etc/wpa_supplicant.conf
48	echo ctrl_interface_group=0 >>/etc/wpa_supplicant.conf
49	echo update_config=1 >>/etc/wpa_supplicant.conf
50	echo network={ >>/etc/wpa_supplicant.conf
51    echo ssid=\"$ssid\" >>/etc/wpa_supplicant.conf
52	echo scan_ssid=1 >>/etc/wpa_supplicant.conf
53    if [ $pasw == NONE ]
54	then
55		echo key_mgmt=NONE >>/etc/wpa_supplicant.conf
56	else
57		echo psk=\"$pasw\" >>/etc/wpa_supplicant.conf
58		echo key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE >>/etc/wpa_supplicant.conf
59		echo group=CCMP TKIP WEP104 WEP40 >>/etc/wpa_supplicant.conf
60	fi
61    echo } >>/etc/wpa_supplicant.conf
62
63ifconfig -a|grep mlan0 |grep -v grep  > /dev/null
64if [ $? -eq 0 ]
65then
66	ifconfig mlan0 down > /dev/null
67fi
68
69ifconfig -a|grep mlan1 |grep -v grep  > /dev/null
70if [ $? -eq 0 ]
71then
72	ifconfig mlan1 down > /dev/null
73fi
74
75ifconfig -a|grep eth0 |grep -v grep  > /dev/null
76if [ $? -eq 0 ]
77then
78	ifconfig eth0 down > /dev/null
79fi
80
81ifconfig -a|grep eth1 |grep -v grep  > /dev/null
82if [ $? -eq 0 ]
83then
84	ifconfig eth1 down > /dev/null
85fi
86
87ps -fe|grep wpa_supplicant |grep -v grep > /dev/null
88if [ $? -eq 0 ]
89then
90	kill -9 $(pidof wpa_supplicant)
91fi
92
93sleep 1
94ifconfig $wifi up > /dev/null
95sleep 1
96
97(wpa_supplicant -Dnl80211,wext -i$wifi -c/etc/wpa_supplicant.conf  >/dev/null) &
98echo "waiting..."
99sleep 3
100wpa_cli -i$wifi status |grep COMPLETED |grep -v grep >/dev/null
101if [ $? -eq 0 ]
102then
103	udhcpc -i $wifi
104	echo "Finshed!"
105else
106	echo "try to connect again..."
107	sleep 3
108	wpa_cli -i$wifi status |grep COMPLETED |grep -v grep >/dev/null
109		if [ $? -eq 0 ]
110		then
111        		udhcpc -i $wifi
112				echo "nameserver 114.114.114.114" > /etc/resolv.conf
113       			echo "Finshed!"
114		else
115        		echo "************************************************"
116       	 		echo "connect faild,please check the passward and ssid"
117  		      	kill -9 $(pidof wpa_supplicant)
118			exit 1
119		fi
120fi
121