Bluetoothアダプタは、接続されているときは電力を供給せず、電源が入っている場合にのみ電力を供給します。

Bluetoothアダプタは、接続されているときは電力を供給せず、電源が入っている場合にのみ電力を供給します。

実行すると、sudo hcitool lescan次のようになります。

Set scan parameters failed: Input/output error

ドングルコントローラのコマンドを実行しbluetoothctl、使用時に「Powered:No」であることを確認しました。show電源を入れるとsudo hcitool lescan期待どおりに動作します。

ArchLinuxでは、次のBluetoothスタックを使用しています。

~ ❯❯❯ pacman -Qs bluetooth
extra/bluez 5.43-2
    Daemons for the bluetooth protocol stack
extra/bluez-firmware 1.2-8
    Firmwares for Broadcom BCM203x and STLC2300 Bluetooth chips
extra/bluez-libs 5.43-2
    Deprecated libraries for the bluetooth protocol stack
extra/bluez-utils 5.43-2
    Development and debugging utilities for the bluetooth protocol stack
extra/gnome-bluetooth 3.20.0+6+g3bac4f9-1
    The GNOME Bluetooth Subsystem
extra/pulseaudio-bluetooth 10.0-2
    Bluetooth support for PulseAudio
community/python2-pybluez 0.22-2
    Python wrapper for the BlueZ Bluetooth stack
extra/sbc 1.3-1
    Bluetooth Subband Codec (SBC) library

プラグアンドプレイを修正し、接続時にBluetoothコントローラに電力を供給する方法はありますか? (接続されたままにしておくと、起動後に期待どおりに機能するため、切断する必要はありません。)

電源コントローラーオン

答え1

デバイスがコンピュータに接続されたら、自動的にbluetoothctlプログラムを使用してデバイスの電源を入れることができます。

より良いオプションは、スクリプトが簡単なものを使用することです。 Bluetoothctlでは、コマンドを標準入力としてエコーする必要がありますが、これは少し奇妙です。

接続されたデバイスを検出するためのudevルールはそれを処理できる必要があります。

Bluetoothワイヤレス機能を備えたマシンでは、hci0外部Bluetoothアダプタではなく内蔵Bluetoothアダプタを意味する可能性が高くなります。

その場合は、次のファイルの内容を hci0交換してください。hci1

このファイルを生成します。/etc/udev/rules.d/10-local.rules

コンテンツ:

ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig %k up"



それでも機能しない場合は、bluetoothctlスクリプトを試してみてください。

udevルールは次のとおりです。

ACTION=="add", KERNEL=="hci0", RUN+="/usr/local/bin/PowerOnBluetooth"

このファイルを生成します。/usr/local/bin/PowerOnBluetooth

コンテンツ:

#!/bin/bash
echo -e 'power on\nquit\n' | bluetoothctl

ファイルを実行可能ファイルとしてマークすることを忘れないでください。

chmod +x /usr/local/bin/PowerOnBluetooth



源泉:

建築ウィキペディア

Archlinuxユーザーにも同じ問題があります

関連情報