start.sh 1.8 KB

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