TI中文支持网
TI专业的中文技术问题搜集分享网站

ZIGBEE路由节点不转发终端节点数据

TI的大神,你好:

     现在发现一个别人也发现的问题,就是路由节点不转发终端节点的数据,下面是场景描述:

1、我自己在测试时,一个网关、5个路由节点,一个终端节点,一直正常没问题;

2、客户实际使用,一个网关、30个路由节点,6个终端节点,就经常出现路由节点不转发终端节点数据;

我在论坛上找到一个较早之前别人提的问题,是一模一样,但是问题并没有答案,附上连接https://e2echina.ti.com/question_answer/wireless_connectivity/zigbee/f/104/t/133731

我也对比了VV大神说的Framecounter,后面不被转发的数据包,除了APS Payload中的Transaction Sequence Number,是从255变为0,其他的NWK Header中的Sequence Number比上一包的大,NWK Frame Counter也比上一包数据大,APS Counter也比上一包大,但是父节点就是不转发终端节点的数据,这两包数据的时间间隔大概30秒。

如果重启终端节点就正常,但是正常一段时间后又出现同样的问题,而且这问题出现的时间是随机的。

麻烦大神帮忙分析一下还有其他什么原因会导致这样的问题,节点数量少的时候,一直复现不了相同的问题。

Viki Shi:

请问所使用的协议栈版本及芯片分别是什么?最好能提供抓包数据以帮助分析

wenjie lin5:

回复 Viki Shi:

大神你好:

        用的协议栈版本是2.5.1a,芯片是CC2530

图1:这是正常转发数据,在13857行,终端节点为D841,它的父节点为504B,这里可以看到504B正常转发数据。

图2:在14921行,终端D841发送相同的数据包,但是父节点504B并没有转发相关的数据,也没有发出路由请求信号,说明不是找不到路由的原因

附件为完整的抓包文件数据:

路由节点不转发终端节点数据.rar

wenjie lin5:

回复 wenjie lin5:

抓包数据密匙

YiKai Chen:

回复 wenjie lin5:

2.5.1a很舊了,建議更新到Z-Stack 3.0.2

Viki Shi:

回复 wenjie lin5:

终端/路由节点重新上电入网是否能解决问题?
另,这个版本的协议栈很老旧了,建议升级协议栈3.0,至少也是zstack home

wenjie lin5:

回复 Viki Shi:

用旧版本,主要是一直以来用着,而且客户手上的产品没带OTA功能,之前考虑用Z-Stack3.0.2,但是迁移过去的时候,编译超ROM大小了,我公司现在ZCL命令只用几条,其他大部分为私有的命令和功能,我公司目前主要用ZIGBEE的内核,ZIGBEE3.0的功能目前还不需要。

wenjie lin5:

回复 wenjie lin5:

Viki Shi  你好:

请教一下问题,如下图:

图中标1的地方,是网关回复终端节点,但是每一次都错过了终端的的data req,这就导致了父节点发送数据给终端失败,出现了图中标2的地方Network Status,从右边可以看到是目标地址就是该终端节点,显示是Source Route Failure。这图中的1和2说明父节点870B对终端节点的6B16的关联表和路由表都是正常的。

接着图中标3的地方,终端节点直接发送数据给父节点,接着出现图中4的路由请求,路由请求的目标地址正是它的终端子节点6B16,那这个时候已经说明了父节点的父节点870B对终端节点6B16的关联表或路由出现异常了。

那我想问的问题是,图中标4的地方,出现了路由请求,请求的是子节点,能确定是路由表异常,还是关联表异常,又或是两个都异常?在旧的协议栈里面,这一部分代码是否开源?

不是不想升级协议栈,而是目前升级协议栈,对公司来说的人力成本和时间成本以及旧设备的升级成本都很高,这只适合一个缓慢的升级之计,不能解燃眉之急。希望大神能协助分析一下问题所在。

YiKai Chen:

回复 wenjie lin5:

截圖上的抓包檔附上來看看吧

Viki Shi:

回复 wenjie lin5:

路由表/关联表的源代码是封装起来的

赞(0)
未经允许不得转载:TI中文支持网 » ZIGBEE路由节点不转发终端节点数据
分享到: 更多 (0)