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
10 if [ -z "$LOGDIR" ] ; then
12 LOGDIR="$DIR/logs/$DATE"
14 rm -rf $DIR/logs/current
15 ln -sf $DATE $DIR/logs/current
18 if groups | tr ' ' "\n" | grep -q ^admin$; then
24 sed "s/ GROUP=.*$/ GROUP=$GROUP/" "$DIR/sta-dummy.conf" > "$LOGDIR/sta-dummy.conf"
26 sed "s/ GROUP=.*$/ GROUP=$GROUP/" "$DIR/p2p$i.conf" > "$LOGDIR/p2p$i.conf"
29 if [ "$1" = "concurrent" ]; then
31 CONCURRENT_ARGS="-N -Dnl80211 -ista%d -c $LOGDIR/sta-dummy.conf"
38 if [ "$1" = "valgrind" ]; then
40 VALGRIND_WPAS="valgrind --log-file=$LOGDIR/valgrind-wlan%d"
41 VALGRIND_HAPD="valgrind --log-file=$LOGDIR/valgrind-hostapd"
51 if [ "$1" = "trace" ]; then
59 test -f /proc/modules && sudo modprobe mac80211_hwsim radios=5
60 if [ "$CONCURRENT" = "y" ]; then
61 sudo iw wlan0 interface add sta0 type station
62 sudo iw wlan1 interface add sta1 type station
63 sudo iw wlan2 interface add sta2 type station
65 sudo ifconfig hwsim0 up
66 sudo $WLANTEST -i hwsim0 -n $LOGDIR/hwsim0.pcapng -c -d > $LOGDIR/hwsim0 &
68 sudo $(printf -- "$VALGRIND_WPAS" $i) $WPAS -g /tmp/wpas-wlan$i -G$GROUP -Dnl80211 -iwlan$i -c $LOGDIR/p2p$i.conf \
69 $(printf -- "$CONCURRENT_ARGS" $i) -ddKt$TRACE -f $LOGDIR/log$i &
71 sudo $VALGRIND_HAPD $HAPD -ddKt$TRACE -g /var/run/hostapd-global -G $GROUP -ddKt -f $LOGDIR/hostapd &
74 sudo chown -f $USER $LOGDIR/hwsim0.pcapng $LOGDIR/log* $LOGDIR/hostapd
75 if [ "x$VALGRIND" = "xy" ]; then
76 sudo chown -f $USER $LOGDIR/*valgrind*
79 if [ -x $HLR_AUC_GW ]; then
80 $HLR_AUC_GW -m $DIR/auth_serv/hlr_auc_gw.milenage_db > $LOGDIR/hlr_auc_gw &
83 $HAPD -ddKt $DIR/auth_serv/as.conf > $LOGDIR/auth_serv &
85 # wait for programs to be fully initialized
87 for j in `seq 1 10`; do
88 if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then
91 if [ $j = "10" ]; then
92 echo "Could not connect to /tmp/wpas-wlan$i"
99 for j in `seq 1 10`; do
100 if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then
103 if [ $j = "10" ]; then
104 echo "Could not connect to /var/run/hostapd-global"