This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

协调器已设置HOLD_AUTO_START,设备主动请求退网,其他节点又将其加入网络,请各位大神帮忙分析一下

rt

如果网络中没有其他的路由器,只有一个路由器和协调器,路由器主动请求退网,是可以成功退掉的,

如果有其他的路由器在,该路由器退网后又会加入到网络中,所有的路由器也同时设置了HOLD_AUTO_START

各位大神  有没有什么解决办法?

  • 你的退网是怎么退的,退的时候Rejoin 是FALSE还TRUE

    你要看入网时Associate入网,还是Rejoin入网的,你可以抓包看下。

  • 我试了两种退网方式  一种是

    zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);

    一种是

    NLME_LeaveReq_t tmp_LeaveReq ;

    tmp_LeaveReq.removeChildren = FALSE ;
    tmp_LeaveReq.rejoin = FALSE ;
    tmp_LeaveReq.silent = FALSE ;
    tmp_LeaveReq.extAddr = NULL ;
    NLME_LeaveReq(&tmp_LeaveReq);

    都是可以退掉的

    抓包还没有抓  我抓好了把抓包文件发出来

  • 你设置了HOLD_AUTO_START,初始化以后应该是hold在那边的,不会自动加网的,你是通过方式触发加网的。

    你说的退网后都能加成功,只是人为的去触发加网吗?退网后自动加了?

  • 入网是通过NLME_PermitJoiningRequest((byte)(*tmpP_8));开放网络 和  NLME_PermitJoiningRequest(0); 关闭网络的方式

    我这边有做抓包    我上传您帮忙看看  能不能发现问题   

    抓包数据.zip
  • VV 您好:

        这个问题好像是解决了 ,  通过在路由器初始化中加入NLME_PermitJoiningRequest( 0 ) ;  ,其他的路由器退网之后便不会再自动加入网络  。 

    之前路由器有设置HOLD_AUTO_START,  但没有加上NLME_PermitJoiningRequest( 0 ) ;  。这是是设置出现问题  还是说  本来就应该这么使用  ?