在 2 个不同的 RF 平台(CC2358 和 Atmel AT86RTxx 通过来自 Arm7TDMI 主机的 SPI 控制)上启动并运行 oT-cli。没有真正的编译、链接或加载问题。一切似乎都很好。我可以扫描并查看所有正在播放的设备。
但是,当发出“start”命令时,无论出于何种原因,每个设备状态都变为“leader”——没有一个是路由器。每个都在发送 MLE 消息,我发现当设备接收到 MLE 时,它不会将其输入到路由器列表中。它mRouters[i].mState == Neighbor::kStateValid
在第 2015 行未通过测试mle_router.cpp
。
更新我的情况。首先,有没有人有任何通过 Wireshark 监控空中交通的经验?我注意到,wireshark 剖析的 MLE UPD 数据包表明 UPD 校验和不正确。Targets、TI 和 Atmel 都存在这种情况。无论如何,这就是未填充/更新路由器表的原因。入站校验和检查失败。
有什么想法吗?