| #!/usr/bin/env bash |
| |
| cd "`dirname $0`" |
| |
| if [ "shell" = "$1" ] |
| then |
| WANTS_SHELL=1 |
| fi |
| |
| possibly_enter_shell() { |
| if [ "$WANTS_SHELL" = "1" ] |
| then |
| echo " *** Entering adb shell:" |
| adb shell |
| fi |
| } |
| |
| die () { |
| set +x # Turn off printing commands |
| echo "" |
| echo " *** fatal error: $*" |
| possibly_enter_shell |
| exit 1 |
| } |
| |
| if [ -z $ANDROID_BUILD_TOP ]; then |
| echo "You need to source and lunch before you can use this script" |
| exit 1 |
| fi |
| |
| adb wait-for-device || die |
| |
| echo "Running join command test. . ." |
| sleep 2 |
| |
| adb shell killall wpantund 2> /dev/null |
| |
| adb shell wpantund -I wpan5 -s 'system:ot-ncp\ 1' -o Config:Daemon:ExternalNetifManagement 1 & |
| WPANTUND_1_PID=$! |
| adb shell wpantund -I wpan6 -s 'system:ot-ncp\ 2' -o Config:Daemon:ExternalNetifManagement 1 & |
| WPANTUND_2_PID=$! |
| trap "kill -HUP $WPANTUND_1_PID $WPANTUND_2_PID 2> /dev/null" EXIT INT TERM |
| |
| sleep 2 |
| |
| kill -0 $WPANTUND_1_PID || die "wpantund failed to start" |
| kill -0 $WPANTUND_2_PID || die "wpantund failed to start" |
| |
| sleep 2 |
| |
| echo "+ adb shell lowpanctl -I wpan5 status" |
| adb shell lowpanctl -I wpan5 status || die |
| echo "+ adb shell lowpanctl -I wpan5 form blahnet --panid 1234 --xpanid 0011223344556677 --channel 11" |
| adb shell lowpanctl -I wpan5 form blahnet --panid 1234 --xpanid 0011223344556677 --channel 11 || die |
| echo "+ adb shell lowpanctl -I wpan5 status" |
| adb shell lowpanctl -I wpan5 status || die |
| echo "+ adb shell lowpanctl -I wpan5 show-credential" |
| adb shell lowpanctl -I wpan5 show-credential || die |
| |
| CREDENTIAL=`adb shell lowpanctl -I wpan5 show-credential -r` || die |
| |
| echo "+ adb shell lowpanctl -I wpan6 status" |
| adb shell lowpanctl -I wpan6 status || die |
| echo "+ adb shell lowpanctl -I wpan6 scan" |
| adb shell lowpanctl -I wpan6 scan || die |
| echo "+ adb shell lowpanctl -I wpan6 join blahnet --panid 1234 --xpanid 0011223344556677 --channel 11 --master-key ${CREDENTIAL}" |
| adb shell lowpanctl -I wpan6 join blahnet --panid 1234 --xpanid 0011223344556677 --channel 11 --master-key ${CREDENTIAL} || die |
| |
| sleep 2 |
| |
| echo "+ adb shell lowpanctl -I wpan6 status" |
| adb shell lowpanctl -I wpan6 status || die |
| |
| WPAN5_LL_ADDR=`adb shell lowpanctl -I wpan5 status | grep fe80:: | sed -e 's:^[^a-f:0-9]*\([a-f:0-9]*\)/.*:\1:i'` |
| WPAN6_LL_ADDR=`adb shell lowpanctl -I wpan6 status | grep fe80:: | sed -e 's:^[^a-f:0-9]*\([a-f:0-9]*\)/.*:\1:i'` |
| |
| echo "+ ping6 -c 4 -w 6 ${WPAN5_LL_ADDR}%wpan6" |
| adb shell ping6 -c 4 -w 6 ${WPAN5_LL_ADDR}%wpan6 || die |
| echo "+ ping6 -c 4 -w 6 ${WPAN6_LL_ADDR}%wpan5" |
| adb shell ping6 -c 4 -w 6 ${WPAN6_LL_ADDR}%wpan5 || die |
| |
| possibly_enter_shell |
| |
| echo "Finished join command test." |