德州仪器(TI)Zigbee系统Z-stack存在一个bug,在CC2530 2.5.1a版上,经过多位朋友测试均发现该bug存在。
bug如下,在使用AF_DataRequest发送数据包时,如果输入数据包过长(加密82字节,不加密100字节),zigbee pro 2007协议会启用分包模式,但是TI的Z-stack上,分包模式存在bug。在发送数据包时,需要注册一个transID的值,数据包被放入发送队列等待发送。当数据包发送成功,或者数据包发送失败,都会产生一个AF_DATA_CONFIRM事件,并返回发送状态和先前注册的transID,以确认发送的数据是否发送成功。但是在分包模式下,发送时注册的transID与返回确认时的transID并不一致,当发送超长数据包成功后,返回的transID是一个固定的值,即无论发送transID为多少,返回的transID是不变的。而且返回的transID是随编译变化而变化的。 |