开启加密后,终端入网,协调器给终端分配了短地址,终端没有向协调器发送周期数据,终端15S重启一次
时间:10-02
整理:3721RD
点击:
TI工程师和各位同僚好
我使用的是Z-stack 2.5.1a协议栈,开启加密后(只做了两处修改,-DSECURE=1和uint8 zgUseDefaultTCLK = TRUE;),终端和协调器使用的都是DEFAULT_KEY。网络是星型网络,发现终端分配到短地址后,并没有向协调器发送周期信息(测试设置是5s钟发送一次周期信息),12s后终端重启,再次向协调器申请入网,终端分配到短地址后重复重启.....
附件是抓的包,还请帮助解答哈,谢谢!
数据包中PAN ID 为0x934E是其它协调器,请忽略。我的协调器PAN ID为0xFFF1,终端每次重启入网分配到的短地址都是0x72B6
继续测试,发现终端虽然分配了短地址,但设备状态一直为DEV_NWK_REJOIN,没有进入DEV_END_DEVICE_UNAUTH,所以入网并不成功。
关闭睡眠模式后可以组网成功,排查到和睡眠模式有一定关系。
最不理解的一点是,同样的程序(开启睡眠和加密),4个终端有一个能组网成功,3个有上述的问题,可能还和硬件有关。
附件是唯一一个组网成功的终端的抓包。
问题解决了,因为睡眠模式中把-DREJOIN_POLL_RATE设置为0 了,又定义了NV_RESTORE,所以入网时一直停在了REJOIN状态,把-DREJOIN_POLL_RATE=440设置回去就好了。