关于终端节点开启NV_RESTORE后,重新入网的问题
问题描述:我的终端节点开启了NV_RESTORE,第一次上电,成功加入网络,那么其父设备(这里称之为router_A)地址被存在了NV中。。
现在我做了如下试验,如果把周围路由都断电,给终端节点上电,sniffer抓包,终端节点在发送了一帧orphan后,一直发送beacon。。这是正常的
然后我给router_A上电,终端节点也能以rejoin的方式加入到网络,但是,如果我不给router_A上电,给另外的router_B上电,终端节点却无法重新加入网络,
我跟踪了下代码,发现在:
ZDApp.c->ZDApp_ProcessOSALMsg:
if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
{
// Process the network discovery scan results and choose a parent
// device to join/rejoin itself
networkDesc_t *pChosenNwk;
if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) )
==============================================================================================
这里有pChosenNwk = ZDApp_NwkDescListProcessing()搜寻周围父设备,我的问题是,难道只有自己NV中存放的父设备地址的路由上电了,才能被搜寻到?
别的地址的路由上电,ZDApp_NwkDescListProcessing一直返回NULL?
hi
请问你这个问题解决了吗?
使用的zstack 版本是 多少的 ?
我这边也出现这样的问题, 掉线入不了网 之后 开启 permit join ,终端设备就可以入网了,(随便一台协调器!)。
感觉NV_RESTORE 不起作用!
谢谢!