start.sh 1.8 KB

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