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 HAPD_AS=$DIR/../../hostapd/hostapd
8 WLANTEST=$DIR/../../wlantest/wlantest
9 HLR_AUC_GW=$DIR/../../hostapd/hlr_auc_gw
12 if [ -z "$LOGDIR" ] ; then
13 LOGDIR="$DIR/logs/$DATE"
16 if [ -e $LOGDIR/alt-wpa_supplicant/wpa_supplicant/wpa_supplicant ]; then
17 WPAS=$LOGDIR/alt-wpa_supplicant/wpa_supplicant/wpa_supplicant
19 if [ -e $LOGDIR/alt-hostapd/hostapd/hostapd ]; then
20 HAPD=$LOGDIR/alt-hostapd/hostapd/hostapd
22 if [ -e $LOGDIR/alt-hostapd-as/hostapd/hostapd ]; then
23 HAPD_AS=$LOGDIR/alt-hostapd-as/hostapd/hostapd
25 if [ -e $LOGDIR/alt-hlr_auc_gw/hostapd/hlr_auc_gw ]; then
26 HLR_AUC_GW=$LOGDIR/alt-hlr_auc_gw/hostapd/hlr_auc_gw
30 if test -w "$DIR/logs" ; then
31 rm -rf $DIR/logs/current
32 ln -sf $DATE $DIR/logs/current
35 if groups | tr ' ' "\n" | grep -q ^admin$; then
42 sed "s/ GROUP=.*$/ GROUP=$GROUP/" "$DIR/p2p$i.conf" > "$LOGDIR/p2p$i.conf"
45 sed "s/group=admin/group=$GROUP/" "$DIR/auth_serv/as.conf" > "$LOGDIR/as.conf"
46 sed "s/group=admin/group=$GROUP/;s%LOGDIR%$LOGDIR%" "$DIR/auth_serv/as2.conf" > "$LOGDIR/as2.conf"
48 if [ "$1" = "valgrind" ]; then
50 VALGRIND_WPAS="valgrind --log-file=$LOGDIR/valgrind-wlan%d"
51 VALGRIND_HAPD="valgrind --log-file=$LOGDIR/valgrind-hostapd"
54 chmod -f a+rx $HAPD_AS
55 HAPD_AS="valgrind --log-file=$LOGDIR/valgrind-auth-serv $HAPD_AS"
63 if [ "$1" = "trace" ]; then
73 if [ x${TMP%=[0-9]*} = "xchannels" ]; then
74 NUM_CH=${TMP#channels=}
80 test -f /proc/modules && sudo modprobe mac80211_hwsim radios=6 channels=$NUM_CH support_p2p_device=0
81 sudo ifconfig hwsim0 up
82 sudo $WLANTEST -i hwsim0 -n $LOGDIR/hwsim0.pcapng -c -dt -L $LOGDIR/hwsim0 &
84 sudo $(printf -- "$VALGRIND_WPAS" $i) $WPAS -g /tmp/wpas-wlan$i -G$GROUP -Dnl80211 -iwlan$i -c $LOGDIR/p2p$i.conf \
85 -ddKt$TRACE -f $LOGDIR/log$i &
87 sudo $(printf -- "$VALGRIND_WPAS" 5) $WPAS -g /tmp/wpas-wlan5 -G$GROUP \
88 -ddKt$TRACE -f $LOGDIR/log5 &
89 sudo $VALGRIND_HAPD $HAPD -ddKt$TRACE -g /var/run/hostapd-global -G $GROUP -ddKt -f $LOGDIR/hostapd &
92 sudo chown -f $USER $LOGDIR/hwsim0.pcapng $LOGDIR/hwsim0 $LOGDIR/log* $LOGDIR/hostapd
94 if [ -x $HLR_AUC_GW ]; then
95 cp $DIR/auth_serv/hlr_auc_gw.milenage_db $LOGDIR/hlr_auc_gw.milenage_db
96 sudo $HLR_AUC_GW -u -m $LOGDIR/hlr_auc_gw.milenage_db -g $DIR/auth_serv/hlr_auc_gw.gsm > $LOGDIR/hlr_auc_gw &
99 touch $LOGDIR/hostapd.db
100 sudo $HAPD_AS -ddKt $LOGDIR/as.conf $LOGDIR/as2.conf > $LOGDIR/auth_serv &
101 if [ "x$VALGRIND" = "xy" ]; then
103 sudo chown -f $USER $LOGDIR/*valgrind*
106 # wait for programs to be fully initialized
108 for j in `seq 1 10`; do
109 if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then
112 if [ $j = "10" ]; then
113 echo "Could not connect to /tmp/wpas-wlan$i"
120 for j in `seq 1 10`; do
121 if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then
124 if [ $j = "10" ]; then
125 echo "Could not connect to /var/run/hostapd-global"