hwsim tests: Silence chown warnings
[mech_eap.git] / tests / hwsim / start.sh
1 #!/bin/sh
2
3 DIR="$( cd "$( dirname "$0" )" && pwd )"
4 WPAS=$DIR/../../wpa_supplicant/wpa_supplicant
5 WPACLI=$DIR/../../wpa_supplicant/wpa_cli
6 HAPD=$DIR/../../hostapd/hostapd
7 WLANTEST=$DIR/../../wlantest/wlantest
8 HLR_AUC_GW=$DIR/../../hostapd/hlr_auc_gw
9
10 if [ -z "$LOGDIR" ] ; then
11     LOGDIR="$DIR/logs/$(date +%s)"
12     mkdir -p $LOGDIR
13 fi
14
15 if groups | tr ' ' "\n" | grep -q ^admin$; then
16     GROUP=admin
17 else
18     GROUP=adm
19 fi
20
21 if [ "$1" = "concurrent" ]; then
22     CONCURRENT=y
23     CONCURRENT_ARGS="-N -Dnl80211 -ista%d -c $DIR/sta-dummy.conf"
24     shift
25 else
26     unset CONCURRENT
27     CONCURRENT_ARGS=
28 fi
29
30 if [ "$1" = "valgrind" ]; then
31     VALGRIND=y
32     VALGRIND_WPAS="valgrind --log-file=$LOGDIR/valgrind-wlan%d"
33     VALGRIND_HAPD="valgrind --log-file=$LOGDIR/valgrind-hostapd"
34     chmod -f a+rx $WPAS
35     chmod -f a+rx $HAPD
36     shift
37 else
38     unset VALGRIND
39     VALGRIND_WPAS=
40     VALGRIND_HAPD=
41 fi
42
43 if [ "$1" = "trace" ]; then
44     TRACE="T"
45     shift
46 else
47     TRACE=""
48 fi
49
50 $DIR/stop-wifi.sh
51 test -f /proc/modules && sudo modprobe mac80211_hwsim radios=5
52 if [ "$CONCURRENT" = "y" ]; then
53     sudo iw wlan0 interface add sta0 type station
54     sudo iw wlan1 interface add sta1 type station
55     sudo iw wlan2 interface add sta2 type station
56 fi
57 mkdir -p $LOGDIR
58 sudo ifconfig hwsim0 up
59 sudo $WLANTEST -i hwsim0 -c -d > $LOGDIR/hwsim0 &
60 sudo tcpdump -ni hwsim0 -s 2500 -w $LOGDIR/hwsim0.dump > $LOGDIR/tcpdump 2>&1 &
61 for i in 0 1 2; do
62     sudo $(printf -- "$VALGRIND_WPAS" $i) $WPAS -g /tmp/wpas-wlan$i -G$GROUP -Dnl80211 -iwlan$i -c $DIR/p2p$i.conf \
63          $(printf -- "$CONCURRENT_ARGS" $i) -ddKt$TRACE > $LOGDIR/log$i &
64 done
65 sudo $VALGRIND_HAPD $HAPD -ddKt$TRACE -g /var/run/hostapd-global -G $GROUP -ddKt > $LOGDIR/hostapd &
66
67 sleep 1
68 sudo chown -f $USER $LOGDIR/hwsim0.dump
69 if [ "x$VALGRIND" = "xy" ]; then
70     sudo chown -f $USER $LOGDIR/*valgrind*
71 fi
72
73 if [ -x $HLR_AUC_GW ]; then
74     $HLR_AUC_GW -m $DIR/auth_serv/hlr_auc_gw.milenage_db > $LOGDIR/hlr_auc_gw &
75 fi
76
77 $HAPD -ddKt $DIR/auth_serv/as.conf > $LOGDIR/auth_serv &
78
79 # wait for programs to be fully initialized
80 for i in 0 1 2; do
81     for j in `seq 1 10`; do
82         if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then
83             break
84         fi
85         if [ $j = "10" ]; then
86             echo "Could not connect to /tmp/wpas-wlan$i"
87             exit 1
88         fi
89         sleep 1
90     done
91 done
92
93 for j in `seq 1 10`; do
94     if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then
95         break
96     fi
97     if [ $j = "10" ]; then
98         echo "Could not connect to /var/run/hostapd-global"
99         exit 1
100     fi
101     sleep 1
102 done
103
104 exit 0