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

CC2538 router收到指令且做了转发,但是自己没执行,有时候出Route Failure错误

初步硬件一个coordinator,下面有8个router,其中A作为中继使用,其余7个作为被控制端,接受指令对灯进行开关操作。

同时给这7个router发送开灯指令,Many to one拓扑结构(已经参考AN123文档做了编译宏修改),单播的方式,coordinator间隔500ms发送一次(防止同时发送网络拥塞丢包),总共发送7次开灯指令。

发送了开灯指令给这7个router,多次测试,有时候能全部打开/关闭,有时候其中一两个没办法打开,不确定,有时候是这个,有时候是那个,显然不是router上层APP的bug。

用Ubiqua 2.1抓包做了分析发现有这几种情况:

1、指令到达了某个router,且它已经做了转发,但他没有执行,这很奇怪?

2、有时候会出route failure错误,这个可能Ubiqua 2.1之前版本不能显示Many-to-one Route Failure路由错误,一般出现路由错误都是什么原因造成的?目前dbi能到-50左右,按理说不应出问题,首先硬件没有问题可以保证

3、附件是抓包,VV能帮忙分析一下吗,谢谢

turn on Ubiqua 2.1.zip

VV:

在你的数据包里面,节点0xCC72没有路径到0x0000,所以会发送Many to one failure告诉协调器,协调器如果收到这个many to one failure以后就会立即下发一次广播MTO Router Request用于让每个节点可以进行到协调器的路由路径的修复。

miffy:

回复 VV:

目前的网络布局,所有的router物理上都必须经过0xC077才能到达coordinator,就是因为这个网络布局,目前测试出现很多问题,基本上有以下几点

1. 间隔500ms,分别给其他7个router单播控制指令,理论上应该是能通过0xC077中继之后送给其他几个router的,但是现在测试下来,发送了7个开灯指令,总是有几个不能开,有时候是这个router,有时候是那个router,不确定

2. 前天测试给0xC077远程OTA升级,因为CC2538是ping-pong这种方式升级,即使在传输读取升级文件,也不影响指令转发才是,结果来回测试发送了几次控制指令,0xC077就挂掉了,也没有了Link status,它自己也收不到控制指令了,似乎是死掉了,由于装在高处,现在也没拿下来,还不知能不能自动恢复,再观望一段时间。

 

目前测试下来就是中继会出很多问题,如果都所有router都和协调器放在一块测试,倒是没有什么问题

赞(0)
未经允许不得转载:TI中文支持网 » CC2538 router收到指令且做了转发,但是自己没执行,有时候出Route Failure错误
分享到: 更多 (0)