您好,我在写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
有人可以帮助我确定解决方案吗?