刚开始做BLE开发,用wireshark分析btsnoop_hci.log的数据包时,发现对端设备的mac address全部变为0
刚开始以为是bluedroid的bug,最后翻阅Core_v4.2才发现还是自己对spec的了解太少了。一下翻译至官方文档:(page:1253)
7.7.65.10 LE 增强连接完成事件
test.bmp
LE增强连接完成事件向两个建立连接的主机通知连接已经被创建。一旦这个连接被创建,控制器应该分配一个connection_handle并且把这个时间传递给主机。如果连接建立失败,这个事件也应该通知发布LE_Create_Connection命令的主机。
如果这个事件是unmasked(不知道这个单词在这个地方代表什么意思)并且LE_Connection_Complete事件是unmasked,在一个新的连接完成时,只有LE增强连接完成事件会被发送出去。
这个事件主机通知发出一个LE_Create_Connection命令并接收命令状态,无论连接建立成功还是失败。
这个Master_Clock_Accuracy参数只能在slave端有效,在Master端,这个参数应该被置0x00.
test1.bmp
test2.bmp
test3.bmp
test4.bmp
test5.bmp
test6.bmp
test7.bmp
我的BLE的address type是1(random address),所以应该显示为0。
另附几个关于BLE address介绍的文章:
阅读(1591) | 评论(0) | 转发(0) |