bluetoothd デーモンを実行せずに Bluetooth デバイスをスキャンすることは可能ですか?

bluetoothd デーモンを実行せずに Bluetooth デバイスをスキャンすることは可能ですか?

私は組み込みシステムで作業しており、Bluetooth デバイスをスキャンする必要があります。これを自分のプログラムで実行したいのですが、これは hci_get_route() と BlueZ devel の hci 関数のサポートを使用して実行できます。ただし、スキャンは bluetoothd の実行中にのみ機能します。バックグラウンドで bluetoothd を実行せずにこれを行う可能性はありますか?

アップデート:

harrymc さんの回答によると、bluetoothd や systemd を実行せずに Bluetooth スキャンを動作させることができました。ただし、次のカーネル モジュール (カーネル 5.19) をロードする必要がありました。

hci_uart
btusb

これらのモジュールが起動時に読み込まれている限り、これを実行するだけhciconfig hci0 upで、Bluetooth デバイスをスキャンできるようになります。hciattach を実行する必要はありませんでした。私のラップトップは Intel Bluetooth アダプターを使用しています (lsusb はベンダー/製品を 8087:0033 として報告します)。

答え1

ポスト Bluetoothデバイスに接続するためのLinuxコマンド 適切かもしれない。

この未回答の投稿では、HCI の使用について次のように詳しく説明しています。

Bluetooth ハードウェアをセットアップするには:

sudo modprobe hci_uart
sudo modprobe btbcm
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -

デバイスをスキャンするには:

sudo hcitool scan

しかし、このソフトウェアは、少なくともその投稿者の場合には、実際にはデバイスに正常に接続できませんでした。

関連情報