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

关于使用“AF_DataRequestSrcRtg()”函数返回“Source Route Failure”后协调器无任何处理的问题。

协议栈:Z-Stack 3.0.2

协调器:CC2538

终端设备:CC2530

问题描述:

1、将“Route Record”命令中的路由链路填充到“AF_DataRequestSrcRtg()”函数发送到目标设备。

2、发送失败后,中间设备返回“Network Status”为“Source Route Failure”的命令给协调器,协调器接收后无任何处理,所以协调器会一直按照这条链路发送数据给“0xa9a6”设备,导致协调器无法发送数据到“0xa9a6”设备。

3、在《Z-Stack 3.0 Developer's Guide》文档中的 5.4.4 章节有说明返回状态为“Many to one route failure”的“Network Status”命令时会重新发起“route request”过程。

 4、但是为什么我这边发送失败后返回的是“Source Route Failure”状态而不是“Many to one route failure”状态?

5、什么时候返回的才是“Many to one route failure”状态?

6、当中间设备返回“Source Route Failure”状态的“Network Status”命令时开发者该怎么处理?有此命令的回调函数吗?例如像“void ZDO_ManytoOneFailureIndicationCB() ”这样的。

Alvin Chen:

Hi
两种错误有本质的区别
• Source route failure: Source routing has failed, probably indicating a link failure in one of the source route’s links
• Many-to-one route failure: A route established as a result of a many-to-one route request has failed.

在我印象中这个没有错误回调开放给客户。你这个错误应该是你的路由表发送了变化,找不到该设备了。你有及时的去刷新你的table吗?

Jesse Huang:

回复 Alvin Chen:

没有,怎么刷新我的 table?

Alvin Chen:

回复 Jesse Huang:

每次收到ZDO_SrcRtgIndCB即route record 都去根据source address 去更新对应地址的table。

Jesse Huang:

回复 Alvin Chen:

这个我是有更新的,请问“route record”是子设备什么时候会上报给协调器的?

Alvin Chen:

回复 Jesse Huang:

客户无法管理和操作route record,这是底层自动的source route 维护。你可以看一下你的抓包source route 没有成功,0x0b代表的是链路错误。建议你在收到这个错误时,直接使用AF_datarequest,等到新的route record 到来再使用source route。

Jesse Huang:

回复 Alvin Chen:

void ZDO_NetworkStatusCB( uint16 nwkDstAddr, uint8 statusCode, uint16 dstAddr ){    (void)dstAddr; // Remove this line if this parameter is used.

    if ( (nwkDstAddr == NLME_GetShortAddr())    && (statusCode == NWKSTAT_NONTREE_LINK_FAILURE) )    {        // Routing error for dstAddr, this is informational and a Route        // Request should happen automatically.    }}

上面写着要在这里发起“route request”?“NWKSTAT_NONTREE_LINK_FAILURE”是什么情况?

Alvin Chen:

回复 Jesse Huang:

尝试按照route link 也就是路由路径发送,发送失败,然先后需要更新source route ,所以发送Route Request。
你们是联盟会员吗? 可以在R22中找到详细说明。
此外关于route record使用请看下面的讨论串,我和我们同事认为下面的帖子具备一定的代表性。
e2e.ti.com/…/2520281

Jesse Huang:

回复 Alvin Chen:

太久没登联盟网站了,全变样了,是这个《ZigBee PRO 2017 (R22) Network》吗?在哪个地方下载啊?

Alvin Chen:

回复 Jesse Huang:

zigbee Specification Revision 22 1.0仅会员可以下载。

Alvin Chen:

回复 Alvin Chen:

www.zigbee.org/…/

赞(0)
未经允许不得转载:TI中文支持网 » 关于使用“AF_DataRequestSrcRtg()”函数返回“Source Route Failure”后协调器无任何处理的问题。
分享到: 更多 (0)