Thread 中讨论的其他器件:Z-stack、 Z-stack-archive
你好!
我尝试调试我们有时遇到的连接问题。
路由器会断开连接、不会在一小时或一整天或更长时间内返回。 我可以看到它一直在尝试加入、但它没有获得传输密钥。
Router_P1和 Router_P2将协调器作为父级。
Router_C 以 Router_P1作为父级连接到网络。
一切都很好、工作正常。
如果 Router_C 出现短暂电源故障、它会在大多数情况下以 Router_P1作为父级连接到网络、并且一切都可以再次正常工作。 这是预期的、因为 Router_P1更接近 Router_C
但有时 Router_C 在加入期间无法从 Router_P1获取信标、而是从 Router_P2获取信标。 因此、它改为通过 Router_P2加入。
我可以在 TI 的数据包监听器中看到:
- Router_C 从 Router_P2获取关联响应数据包并发送 ACK。 因此,Router_C 是 Router_P2的不授权子项。
- 协调器从 Router_P2获取更新设备数据包并发送 ACK。
- 协调器将传输密钥发送到 Router_P2,其中包括一个隧道命令,Router_C 作为结束目标。
- Router_P2 ACK 传输密钥包。
那么、long 是一切正常的、可以按预期工作。
Router_C 是 Router_P2的未经授权子层,因此我希望 Router_P2将接收到的传输密钥直接发送到 Router_C
但这不会发生。 Router_P2将传输密钥发送到 Router_P1。 Router_P1不知道如何处理数据包并将其丢弃。
Router_C 在10秒后超时并重新启动连接过程。
我的问题:
- 该数据包在 Zigbee 网络层(dest:0xe9dd)上具有正确的地址信息、但在 IEEE-MAC 层(dest:0x7463)上具有错误的地址信息。 为什么会这样呢?
- 这是已知问题吗?
- 为什么 Router_P2会将数据包发送到 Router_P1?
- Router_P2上的邻居表或路由表是否有缺陷?
- 这似乎是路由? 决策在 OSAL 中完成。 是否可以从该层进行调试?
- 如何进一步调试?
协调器0x0000
Router_P1 0x7463
Router_P2 0x0ec2
Router_C 0xe9dd
提前感谢
Thomas
