场景:我有一个设备(Android手机)可以控制,我想分析另一个设备的蓝牙功能,我对该设备的控制/信息有限-我只能接受/拒绝配对,但我不知道支持什么版本或功能(这是我想了解的)。
问题:从记录的HCI日志(在Android手机中),你能确定在成功配对中实际使用的版本/技术吗?换句话说,你如何判断是使用了低能耗蓝牙还是传统蓝牙(BR/EDR)?
注意:我不是在寻找:
-
"远程主机"的LMP广告,因为这只会告诉支持哪种蓝牙版本(例如4.1),但不会告知实际使用的是哪种技术
-
此外,不寻找远程扩展功能支持技术(如BR/EDR和LE),但不提供实际使用的技术细节
谢谢:)
如果设置了LE链接,则日志中将显示带有子事件LE Connection Complete 0x01的HCI LE元事件0x3E。请参阅核心规范v5第2卷第E部分。
如果在LE链路上进行配对,则与配对相关的SMP PDU将在主机上进行配对时显示在HCI日志中。见堆芯规范第3卷第H部分。在LE中,GATT用于发现远程设备的服务。
如果BR/EDR链路已接通,则日志中将显示HCI连接完成事件0x03。在BR/EDR中,SDP用于发现远程设备的服务。