tests: Add support for using Linux kernel tracing functionality
[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
9 if [ "x$1" = "xvalgrind" ]; then
10     VALGRIND=y
11 else
12     unset VALGRIND
13 fi
14
15 if [ "x$1" = "xtrace" ]; then
16     TRACE="T"
17 else
18     TRACE=""
19 fi
20
21 $DIR/stop-wifi.sh
22 sudo modprobe mac80211_hwsim radios=5
23 mkdir -p $DIR/logs
24 DATE=`date +%s`
25 sudo ifconfig hwsim0 up
26 sudo $WLANTEST -i hwsim0 -c -d > $DIR/logs/$DATE-hwsim0 &
27 sudo tcpdump -ni hwsim0 -s 2500 -w $DIR/logs/$DATE-hwsim0.dump > $DIR/logs/$DATE-tcpdump 2>&1 &
28 if [ "x$VALGRIND" = "xy" ]; then
29     for i in 0 1 2; do
30         chmod a+rx $WPAS
31         sudo valgrind --log-file=$DIR/logs/$DATE-valgrind-wlan$i $WPAS -g /tmp/wpas-wlan$i -Gadmin -Dnl80211 -iwlan$i -c $DIR/p2p$i.conf -ddKt > $DIR/logs/$DATE-log$i &
32     done
33     chmod a+rx $HAPD
34     sudo valgrind --log-file=$DIR/logs/$DATE-valgrind-hostapd $HAPD -ddKt -g /var/run/hostapd-global -G admin -ddKt > $DIR/logs/$DATE-hostapd &
35 else
36     for i in 0 1 2; do
37         sudo $WPAS -g /tmp/wpas-wlan$i -Gadmin -Dnl80211 -iwlan$i -c $DIR/p2p$i.conf -ddKt$TRACE > $DIR/logs/$DATE-log$i &
38     done
39     sudo $HAPD -ddKt -g /var/run/hostapd-global -G admin -ddKt > $DIR/logs/$DATE-hostapd &
40 fi
41 sleep 1
42 sudo chown $USER $DIR/logs/$DATE-hwsim0.dump
43 if [ "x$VALGRIND" = "xy" ]; then
44     sudo chown $USER $DIR/logs/$DATE-*valgrind*
45 fi
46
47 # wait for programs to be fully initialized
48 for i in 0 1 2; do
49     for j in `seq 1 10`; do
50         if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then
51             break
52         fi
53         if [ $j = "10" ]; then
54             echo "Could not connect to /tmp/wpas-wlan$i"
55         fi
56         sleep 1
57     done
58 done
59
60 for j in `seq 1 10`; do
61     if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then
62         break
63     fi
64     if [ $j = "10" ]; then
65         echo "Could not connect to /var/run/hostapd-global"
66     fi
67     sleep 1
68 done