不发起路由请求
有个问题求助下,使用的协议栈是Z-Stack_Home_1.2.2a,路由节点定期给协调器发送自定义的数据包。router A通过router B关联加入到网络,router A概率性的出现长时间不发出所定义的数据包,AF_DataRequest()返回值是正常的,打印的路由表条目中没有到协调器的路由,不明白的是这时候为什么不发起路由请求?有什么可参考性的排查建议么?
AF_DataRequest()返回值只能说明要发送的数据进入了router A的发送缓存区,至于发不发得出来,发出来对方收不收得到,在AF_DATA_CONFIRM中查看
也查过了,显示ZNwkNoRoute
1. 能否抓包看一起空中包,看是否发出来了?
2. 你现在data request的interval是多少,可以发出来吗?
抓包数据中路由设备0x9403每15-20s间隔周期性的给协调器发数据,目前设定如果给协调器的数据没有发出,就给父设备发该数据包。网络中没有终端设备,全部是路由设备。
有没有大神帮忙解答下啊,急求
大神,还是不能帮忙解答下么?
我从最后面看你的9403经过843c转发到协调器的一些包,看起来大概每17秒发一次,还算正常。
能否指明一下哪里应该发包,但是没发出来?
不过你有定义直接由9403发到协调器的包很多retry, 是不是协调器离的比较远。
您好,感谢您的回答。数据包中,你可以看到7:35:12-7:40:42这段时间,9403是将数据发给843C的,因为我加了追踪处理,如果9403发送数据给协调器不成功,就发给父设备843C。这段时间,没发数据给协调器,也没发路由请求。
至于距离上,大概7米左右,不会非常远。父设备距离协调器两三米左右。
目前根据后面的调试,有个猜想,如果邻居表中对应的协调器邻居条目txcost不等于0,是不是意味着,邻居可达就不发起路由请求,但是这就有另外一个问题,既然邻居可达,为什么不发出数据包,而且afDataConfirm的返回值是0xcd,希望能够帮忙解答下,谢谢!
大神求回复