btproxy 在尝试将蓝牙设备代理到 QEMU 时无法绑定到蓝牙套接字

btproxy 在尝试将蓝牙设备代理到 QEMU 时无法绑定到蓝牙套接字

我正在遵循 Zephyr 使用主机系统蓝牙控制器在 QEMU 上运行的指南。我使用的是 Ubuntu 20.10,缺少 btproxy,因此我按照下面链接的指南中的说明构建了 BlueZ。我还启用了实验模式bluetoothd

启动 btproxy 工作正常,但当我在 QEMU 上启动 Zephyr 时,出现以下错误。

sudo tools/btproxy -u -i 0
Opening user channel for hci0
Failed to bind Bluetooth socket: Device or resource busy

我想也许 Ubuntu shell 一直占用蓝牙控制器,也许确实如此。在设置中将其关闭只会 rfkill 阻止 btproxy 工作。我也启用了

尝试在 Native POSIX 模式下运行 Zephyr 也失败,无法打开驱动程序。

sax@decibel:~/zephyrproject/zephyr$ sudo ./build/zephyr/zephyr.exe --bt-dev=hci0
*** Booting Zephyr OS build zephyr-v2.5.0-530-gff5b040f7822  ***
Starting Beacon Demo
[00:00:00.000,000] <err> bt_hci_core: HCI driver open failed (-16)
Bluetooth init failed (err -16)

我已在华硕 USB-BT400 和华硕 USB-BT500 上尝试过上述操作,结果相似。有什么我可能忘记的吗?是否是由于我构建的版本与 Ubuntu 20.10 附带的版本之间的 BlueZ 版本不匹配所致?

https://docs.zephyrproject.org/latest/guides/bluetooth/bluetooth-tools.html#bluetooth-qemu-posix

相关内容