1

我被要求弄清楚如何使用 FTDI Vinculum 2 (VNC2) USB 控制器通过现成的加密狗(在本例中为使用 Broadcom BCM2045 芯片的加密狗)实现蓝牙通信。我为 VNC2 编写了自定义固件,以与 VNC2 作为主机的通用 USB 设备进行通信,并且我可以成功地从加密狗读取 VID 和 PID 以及 USB 设备类、子类和协议。我还可以使用批量数据端点将数据发送到加密狗,我相信设备正在接收,尽管我目前无法判断。

所以我相信我可以与加密狗通信,问题是我不知道要与它通信什么才能将其设置为可发现模式或将其与另一个可发现设备配对,也不知道如何通过无线链路实际传输数据一旦配对。我什至不知道是否存在针对此类事物的标准通信协议,或者每个设备是否都会有所不同。我对蓝牙协议栈有一个模糊的理解,我的理解是我不需要完全理解这一点,因为它应该在一端的加密狗和我们希望连接到的安卓智能手机中实现另一端。就像我说的,我目前可以将数据发送到批量端点,

简而言之,如果可能的话,我需要知道通过 USB 总线发送哪些数据来控制任何通用蓝牙加密狗或至少一个特定的蓝牙加密狗。我有一个 USB 端口嗅探器,但使用加密狗进行通信时输出的复杂性令人震惊,我怀疑我永远不会弄明白。

先感谢您。

4

1 回答 1

2

蓝牙加密狗使用蓝牙规范中定义的 HCI(主机控制接口)与主机软件堆栈通信。作为参考,您可以查看开源 BlueZ 堆栈(标准 linux 堆栈)的源代码。您可以在 Linux 上运行 BlueZ 与您的 USB 加密狗交谈,并使用hcidump捕获通过 HCI 的实际数据包。您还可以查看 hcitool 和 hciconfig 以执行特定操作。

于 2012-05-30T17:59:25.840 回答