BLE:适配器使用HCI ACL协议而不是LE LL发送数据

时间:2018-06-02 16:54:26

标签: bluetooth-lowenergy android-bluetooth gatt

我创建了一个Android应用程序作为中心,我找到了一个gatt-server(github.com/Jumperr-labs/python-gatt-server)的实现,它是bluez的一部分。当我问的时候如果读取请求是来自服务器的特征值,则使用HCI ACL协议发送结果数据包,这是我所知道的不正确。我已经使用btmgmt将我的适配器设置为LE only模式,但我看到相同的结果.Am我错过了什么?

以下是从命令'btmgmt info'获取的当前适配器设置     “当前设置:有源可连接的广告安全连接”

这是Wireshark所展示的内容 Wireshark

2 个答案:

答案 0 :(得分:1)

我不确切知道您在哪里看到这些ACL数据包,但BLE数据包确实是通过HCI以ACL数据包的形式发送的。

如果您看到连接使用Bluetooth Classic,您可以从Android端将connect参数中的transport参数设置为TRANSPORT_LE强制BLE。

答案 1 :(得分:0)

我发现某个地方,wireshark和hcidump在HCI级别进行分析而无法看到较低层。而且只要HCI BLE数据包作为ACL数据发送就可以了!它很好看!在较低层,您必须购买BLE嗅探器USB加密狗。