Updated through tag hostap_2_5 from git://w1.fi/hostap.git
[mech_eap.git] / libeap / tests / hwsim / stop.sh
1 #!/bin/sh
2
3 if pidof wpa_supplicant hostapd valgrind.bin hlr_auc_gw > /dev/null; then
4     RUNNING=yes
5 else
6     RUNNING=no
7 fi
8
9 sudo killall -q hostapd
10 sudo killall -q wpa_supplicant
11 for i in `pidof valgrind.bin`; do
12     if ps $i | grep -q -E "wpa_supplicant|hostapd"; then
13         sudo kill $i
14     fi
15 done
16 sudo killall -q wlantest
17 if grep -q hwsim0 /proc/net/dev; then
18     sudo ifconfig hwsim0 down
19 fi
20
21 sudo killall -q hlr_auc_gw
22
23 if [ "$RUNNING" = "yes" ]; then
24     # give some time for hostapd and wpa_supplicant to complete deinit
25     for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
26         if ! pidof wpa_supplicant hostapd valgrind.bin hlr_auc_gw > /dev/null; then
27             break
28         fi
29         if [ $i -gt 10 ]; then
30             echo "Waiting for processes to exit (1)"
31             sleep 1
32         else
33             sleep 0.06
34         fi
35     done
36 fi
37
38 if pidof wpa_supplicant hostapd hlr_auc_gw > /dev/null; then
39     echo "wpa_supplicant/hostapd/hlr_auc_gw did not exit - try to force them to die"
40     sudo killall -9 -q hostapd
41     sudo killall -9 -q wpa_supplicant
42     sudo killall -9 -q hlr_auc_gw
43     for i in `seq 1 5`; do
44         if pidof wpa_supplicant hostapd hlr_auc_gw > /dev/null; then
45             echo "Waiting for processes to exit (2)"
46             sleep 1
47         else
48             break
49         fi
50     done
51 fi
52
53 for i in `pidof valgrind.bin`; do
54     if ps $i | grep -q -E "wpa_supplicant|hostapd"; then
55         echo "wpa_supplicant/hostapd(valgrind) did not exit - try to force it to die"
56         sudo kill -9 $i
57     fi
58 done
59
60 count=0
61 for i in /tmp/wpas-wlan0 /tmp/wpas-wlan1 /tmp/wpas-wlan2 /tmp/wpas-wlan5 /var/run/hostapd-global /tmp/hlr_auc_gw.sock /tmp/wpa_ctrl_* /tmp/eap_sim_db_*; do
62     count=$(($count + 1))
63     if [ $count -lt 7 -a -e $i ]; then
64         echo "Waiting for ctrl_iface $i to disappear"
65         sleep 1
66     fi
67     if [ -e $i ]; then
68         echo "Control interface file $i exists - remove it"
69         sudo rm $i
70     fi
71 done
72
73 if grep -q mac80211_hwsim /proc/modules 2>/dev/null ; then
74     sudo rmmod mac80211_hwsim
75     sudo rmmod mac80211
76     sudo rmmod cfg80211
77     # wait at the end to avoid issues starting something new immediately after
78     # this script returns
79     sleep 1
80 fi