diff --git a/src/core/meshcop/joiner.cpp b/src/core/meshcop/joiner.cpp index 33cb331cd..54d816efa 100644 --- a/src/core/meshcop/joiner.cpp +++ b/src/core/meshcop/joiner.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +81,8 @@ ThreadError Joiner::Start(const char *aPSKd, const char *aProvisioningUrl) SuccessOrExit(error = mNetif.GetDtls().SetPsk(reinterpret_cast(aPSKd), static_cast(strlen(aPSKd)))); SuccessOrExit(error = mNetif.GetDtls().mProvisioningUrl.SetProvisioningUrl(aProvisioningUrl)); + + mJoinerRouterPanId = Mac::kPanIdBroadcast; SuccessOrExit(error = mNetif.GetMle().Discover(0, 0, mNetif.GetMac().GetPanId(), HandleDiscoverResult, this)); exit: @@ -128,7 +131,7 @@ void Joiner::HandleDiscoverResult(otActiveScanResult *aResult) memcpy(&mJoinerRouter, &aResult->mExtAddress, sizeof(mJoinerRouter)); } } - else + else if (mJoinerRouterPanId != Mac::kPanIdBroadcast) { // open UDP port Ip6::SockAddr sockaddr;