TI论坛
直播中

邹先莹

7年用户 222经验值
私信 关注
[问答]

请问终端设备无法重入网络使用的原因是什么?

测试环境:

        一个ZC ,5个ZED ,ZED 是电池设备  (均采用 zstack 1.2.2 或1.2.2a)
操作:
        重复重启 ZC, 造成 ZED 断网寻网 。

目的:
        验证  寻网一段时间,然后休眠一段时间  的新逻辑,(rejoin scan====》 rejoin backoff====》rejoin scan)




代码上增加:

       在应用层 loop 中的  ZDO_STATE_CHANGE 事件中,
       当DEV_NWK_DIS 时, 调用HAL_LED_BLINK() 函数     让LED1  一直闪
       当DEV_NWK_BACKOFF 时, 调用HAL_LED_SET() 函数 将LED1 关闭
       这样 断网的时候 LED1 就一直闪, 休眠(rejoin backoff)的时 ,灯就熄灭。

发现问题:
        重刷了很多次之后, 发现 有些设备  断网后,LED1 一直闪,rejoin scan 的时间过完 ,还是无法进入rejoin backoff。
       用抓包软件抓了一下, 发现有两种情况

        情况1 : 设备是有发beacon  request 出来的。 但是ZC 启动完成后, 设备仍然无法进入网络。
        情况2:  设备只是闪LED1 ,但是 实际上没有发beacon request出来

        以上两种情况 只是 设备无法 入网的 现象。

        针对情况1 我的猜测:
        让我不明白的 为甚么,  设备过了rejoin  scan 规定时间后, 无法进入rejoin back off呢?
        
         针对情况2 我的猜测 :
         或者是设备已经 进入rejoin backoff 了,但 LED1 没有关闭。(即 设备的state  改变了 , 但是没有把改变 的状态  传到 应用层 的ZDO_STATE_CHANGE 事件上)   

回帖(9)

李果

2020-4-28 06:17:19
顺便把数据包附下上去,情况1下设备的devstartmode是什么,有没有可能出现过节点在发rejoin request的时候,刚好把协调器断电了?
情况2,协议栈里面其他地方也有用到这个LED闪的,
举报

李果

2020-4-28 06:53:31
你使用的Rejoin是自己写的吗?怎么是unsecured rejoin,你可以看到你的rejoin是没有加密的,所以是unsecure rejoin,然后还需要trust center去授权的,如果permit join在关掉的情况下,就不允许入网了。
举报

李果

2020-4-28 07:10:01
你的0xF292这个是一个终端设备,但是在发起Rejoin Request确没有Data Request发出来。
你在协议栈做什么改动?
这个问题复现的流程是什么
举报

邹先莹

2020-4-28 07:37:29
引用: wenlonghbo 发表于 2020-4-28 12:07
你的0xF292这个是一个终端设备,但是在发起Rejoin Request确没有Data Request发出来。
你在协议栈做什么改动?
这个问题复现的流程是什么

4. 我现在 也还不是很清楚  百分百 复现该问题的 流程 是怎样?           

以下两种情况下 出现过,终端设备无法 rejoin到 网络中, 除非开启ZC的 permijoin 。            

====》 边缘节点情况,              

如下图,我们在一间100平米的房间内 不同位置布置了终端设备,             

这些终端设备 我们在程序上 设置 每6秒 就发送一条   msg (IEEE request) 到 协调器             

放置一个晚上之后, 第二天早上 红色 圈中的  终端设备 均出现  断网 无法连接 协调器的情况            

 然后重新开启 permitjoin 的 时候  也基本都可以 重新加入, (只是它们都使用了新的 短地址)     

     
          
            =====》 重复复位协调器 并删除Association List 。              

(PS: 删除Association List  只是我们自定的一个功能, 主要是防止ZC 列表撑满了僵尸设备,  这里只是说明有过类似操作 造成终端设备无法入网)                           

多次 操作复位之后, 就出现了 终端设备 无法rejoin的 现象。                         

 具体可以参考 post :https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/p/506481/1850037#1850037

谢谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分