Bluez:如何启用HCI加密

时间:2019-01-31 12:10:35

标签: c bluetooth bluetooth-lowenergy bluez

您好,我在写hcitool enc <bdaddr>的行为。 如thread中所述,我正在处理蓝牙方面的东西。我正在使用Bluez 5.4x C API。 目前,我可以使用命令行或C代码扫描并打开与BLE设备的连接。

为此,我正在使用HCI API,因此在此之后:

id = hci_get_route(NULL);
dd = hci_open_dev(id);
hci_le_set_scan_enable();
hci_le_create_conn();

我实现了一个连接句柄=71。这时,我想使用C中等同于C中hcitool enc功能的链接来加密链接。但是,我不能这样做。

建立连接后,我会使用以下方法检查可用连接:

hcitool con

返回:

< LE <bdaddr> handle 71 state 7 lm MASTER

所以我想我的C代码至少到现在为止都有效。 如果我尝试加密调用hci_encrypt_link()函数的链接,系统将失败并返回:

获取连接信息失败:没有此类文件或目录

要测试行为是否正确,我尝试从执行以下命令的命令行执行相同的操作流程:

sudo hcitool lescan
sudo hcitool lecc --random <bdaddr> - return: connection handle 71
sudo hcitool enc <bdaddr> - return: Not connected

有人可以帮助我确定解决方案吗?

0 个答案:

没有答案