如何从 HCI 日志中确定实际使用的蓝牙版本/技术(BR/EDR 或 LE)?
How to determine from HCI logs what Bluetooth version/ technology (BR/EDR or LE) was actually used?
场景:
我有一台我可以控制的设备 (Android Phone),我想分析另一台我控制/信息有限的设备的蓝牙功能 - 我只能接受/拒绝配对,但是我不知道支持哪些版本或功能(这是我想知道的)。
问题:
从记录的 HCI 日志(在 Android Phone 中),您能否确定成功配对时实际使用的版本/技术?
换句话说,您如何判断使用的是低功耗蓝牙还是经典蓝牙 (BR/EDR)?
注意:我不是要找:
"remote host"的LMP广告,因为这只会告诉
支持哪个蓝牙版本(例如 4.1)但不会告诉
实际使用了哪些技术
另外,不是在寻找远程扩展功能说明什么
支持技术(例如 BR/EDR 和 LE)但不提供
有关实际使用哪种技术的详细信息
谢谢:)
如果 LE link 已设置,将在日志中看到 HCI LE 元事件 0x3E 和子事件 LE 连接完成 0x01。请参阅核心规范 v5 第 2 卷,E 部分。
如果配对发生在 LE link 上,则与配对相关的 SMP PDU 将在 HCI 日志中看到,因为配对发生在主机上。请参阅核心规范第 3 卷,H 部分。
在LE中,GATT用于发现远程设备的服务。
如果 BR/EDR link 启动,将在日志中看到 HCI 连接完成事件 0x03。在BR/EDR中,SDP用于发现远程设备的服务。
场景: 我有一台我可以控制的设备 (Android Phone),我想分析另一台我控制/信息有限的设备的蓝牙功能 - 我只能接受/拒绝配对,但是我不知道支持哪些版本或功能(这是我想知道的)。
问题: 从记录的 HCI 日志(在 Android Phone 中),您能否确定成功配对时实际使用的版本/技术? 换句话说,您如何判断使用的是低功耗蓝牙还是经典蓝牙 (BR/EDR)?
注意:我不是要找:
"remote host"的LMP广告,因为这只会告诉 支持哪个蓝牙版本(例如 4.1)但不会告诉 实际使用了哪些技术
另外,不是在寻找远程扩展功能说明什么 支持技术(例如 BR/EDR 和 LE)但不提供 有关实际使用哪种技术的详细信息
谢谢:)
如果 LE link 已设置,将在日志中看到 HCI LE 元事件 0x3E 和子事件 LE 连接完成 0x01。请参阅核心规范 v5 第 2 卷,E 部分。
如果配对发生在 LE link 上,则与配对相关的 SMP PDU 将在 HCI 日志中看到,因为配对发生在主机上。请参阅核心规范第 3 卷,H 部分。
在LE中,GATT用于发现远程设备的服务。
如果 BR/EDR link 启动,将在日志中看到 HCI 连接完成事件 0x03。在BR/EDR中,SDP用于发现远程设备的服务。