BluetoothデバイスをQEMUにプロキシしようとすると、btproxyはBluetoothソケットにバインドできません。

BluetoothデバイスをQEMUにプロキシしようとすると、btproxyはBluetoothソケットにバインドできません。

ホストシステムのBluetoothコントローラを使用してQEMUで実行する方法については、Zephyrのガイドに従っています。 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シェルがBluetoothコントローラを占有し続けていると思っていたので、おそらくそうでした。設定でこの機能をオフにすると、rfkillが機能しなくなります。私も活性化しました

デフォルトの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)

ASUS USB-BT400とASUS USB-BT500で上記の操作を試しましたが、同様の結果が出ました。私が忘れたことがありますか?私が構築したバージョンとUbuntu 20.10に付属のバージョンとの間のBlueZバージョンの不一致のためですか?

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

ベストアンサー1

おすすめ記事