Bluetooth LEデバイス検索人間 - 機械ツール当然ルートアクセスが必要です。一般ユーザーの場合、出力は次のようになります。
$ hcitool lescan
Set scan parameters failed: Operation not permitted
なぜ人間 - 機械ツールLEスキャンにはroot権限が必要ですか?
root以外のユーザーでLEスキャンを実行できますか?
ベストアンサー1
Linux Bluetoothスタックは2つの機能をチェックします。機能は、特定の権限を管理するためのあまり一般的ではないシステムです。これはPAMモジュールまたは拡張ファイル属性を介して処理できます。 (望むよりhttps://elixir.bootlin.com/linux/v5.8.10/source/net/bluetooth/hci_sock.c#L1307)
$> sudo apt-get install libcap2-bin
Linux機能操作ツールをインストールします。
$> sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcitool`
setuidビットなど、実行可能ファイルに欠けている機能を設定します。
$> getcap !$
getcap `which hcitool`
/usr/bin/hcitool = cap_net_admin,cap_net_raw+eip
だから私たちは始めることができます:
$>hcitool -i hci0 lescan
Set scan parameters failed: Input/output error
はい、BTアダプタはBLEをサポートしていません。
$>hcitool -i hci1 lescan
LE Scan...
動作します。デバイスのボタンを押し続けます。