Bluetooth/ja

この記事では、Article description::Bluetooth コントローラーとデバイスの設定・使用について説明します.

前提条件
この記事では、 と が事前に設定されていることを前提としています.

カーネル
ほとんどの場合、RFCOMM ( CONFIG_BT_RFCOMM )、HIDP ( CONFIG_BT_HIDP )、HCI USB ( CONFIG_BT_HCIBTUSB ) および/または HCI UART ( CONFIG_BT_HCIUART ) があれば十分です. Bluetooth キーボードやマウスを使うなら、HID 入力デバイス用のユーザースペース I/O ドライバー( CONFIG_UHID )を有効にすべきです.

ファームウェア
多くの Bluetooth コントローラーは、動作するためにが必要です. コントローラーが Linux でサポートされていれば、たいていは がファームウェアが必要であると表示します. 多くの場合、必要なファームウェアは パッケージで提供されているはずですが、他のパッケージから入手可能だったり、製造元からしか提供されていないファームウェアを必要とするものもあります.

USE フラグ
BlueZ は、Bluetooth プロトコルスタックのLinux 向け実装の1つであり、 パッケージで提供されます.

USE 変数を  にセットすることで、Bluetooth サポートをシステム全体で有効にすることができます:

Emerge
USE 変数を  にセットした場合、システムをアップデートする必要があります:

BlueZ をインストールします:

パーミッション
Bluetooth デバイスのパーミッションは D-Bus によって自動的に処理され、デフォルトではすべてのユーザにアクセスが許可されます.

OpenRC
Bluetoothを起動します.

起動時にBluetoothを起動します.

systemd
Bluetoothを起動します:

ブート時に bluetooth を起動します:

バッテリーレポートを有効化する
には upower にデバイスのバッテリーレベルを報告する機能があります. この機能は現在実験段階にあり、安定化されていません. experimental モードを有効化してください:

設定変更を反映させるために bluetooth を再起動してください:

これで、自身のバッテリーレベルの送信に対応する各デバイスのバッテリーレベルが、upower によって認識されるはずです.

コントローラーのセットアップ
コントローラー情報の表示：

ここで、 はコントローラーの名前であり、  (3行目)はそのコントローラーが有効であることを表しています.

でコントローラーが ( となっており) (3行目) 無効であると表示されている場合は、コントローラーを有効にします:

この場合、 を使って Bluetooth の無線送信器の状態を確認します:

は >=-2.31 パッケージでインストールできます. 保守されていない パッケージからインストールすることもできます.

が ( となっており)コントローラーがブロックされていると表示している場合は、コントローラーのブロックを解除します:

が ( となっており)コントローラーがブロックされていると表示している場合は、物理スイッチやキーボードのファンクションキーを使ってコントローラーのブロックを解除します.

Bluetooth コントローラーは、 で  と設定することで自動的に有効化することができます:

場合によっては、Bluetooth コントローラーが udev の電源管理ツールによってソフトブロックされているかもしれません. 対応するルールファイルで state が  に設定されていることを確認するか、または以下の行全体を削除してください:

デバイスのペアリング
Bluetoothデバイスは、使用する前にBluetoothコントローラーとペアリングする必要があります. これは、相互作用エージェントを介して両方のデバイスにPIN（または他のコード）を入力することにより行われます. ヘッドセットなどの特定のデバイスでは、任意のPINを入力できません. これらのデバイスは、通常0000、1111、1234、または9999の静的PINを使用します. PIN入力を必要としないデバイス（Sony BD Remote Controlなど）もあり、プロンプトが表示されたときにPINを入力しようとすると失敗します. このようなデバイスでは、ペアリングをスキップできます.

この記事では、 パッケージで提供されているコマンドライン対話エージェントである を使用したデバイスのペアリングのみを扱います. グラフィカルデスクトップ環境を使用している場合は、デバイスのペアリングをグラフィカルな対話エージェントを使って行うことができます. なら を、 なら を、GTK なら  または  を使用してください.

を起動します:

使用可能なコントローラーを表示します:

コントローラーに関する情報を表示します:

デフォルトのコントローラーを設定します:

コントローラーの電源を入れます:

エージェントを有効にし、それをデフォルトに設定します:

コントローラーを(3分間一時的に)探索可能にし、またペアリング可能にします:

デバイスをスキャンします:

デバイスをペアリングモードにします. 一般的には、これは、ボタンまたはいくつかのボタンの組み合わせを、通常は数秒間押すことによって行います.

デバイスの MAC アドレスを探索します:

デバイスをペアリングします:

尋ねられた場合、を入力します:

pin が尋ねられないが必要である場合、デバイスとペアリングする前にこのコマンドを追加する必要があるかもしれません (この投稿を参照してください):

求められた場合、サービスを許可します:

デバイスを信頼します:

デバイスに接続します:

デバイスに関する情報を表示します:

これで、デバイスがペアリングされました:

Bluetooth を無効化する
実行中の Bluetooth を無効化するには、次のコマンドを実行してください:

Bluetooth が起動時に自動的に開始するのを無効化するには、以下の選択肢からひとつを選んでください:

udev を使用して Bluetooth を無効化する
UDEV を使う場合は、Bluetooth を無効化する次のルールをインストールしてください:

OpenRC を使用して Bluetooth を無効化する
を使用する場合は、次のスクリプトを local サービスに追加して、実行可能にしてください:

カーネルレベルで Bluetooth を無効化する
カーネルが Bluetooth サポートをモジュールとして持っている場合は、Bluetooth モジュールの読み込みを無効化してください:

TLP と laptop_mode
または TLP がインストールされている場合は、それらが節電のために Bluetooth を無効化していないか確認してください.

XBOX ONE コントローラのペアリング
ほとんどの linux システム上のデフォルトだと、XBOX ONE 無線コントローラはペアリングを拒否する問題が知られています. この問題を解決するには、ERTM を無効化する必要があります.

手動で無効化するには:

これは、システムが再起動されるまでの間のみ、ERTM を無効化するでしょう. 恒久的に無効化するには、xpadneo カーネルモジュールをインストールしてください.

ほとんどの場合はこれで自動的に問題が解消されるでしょう. そうでない場合は、手動で xpadneo の設定にこの行を追加してください:

ノート PC が Synopsys DesignWare Controller を備えている場合
このコントローラの Bluetooth サポートには、カーネルコンフィグで以下のオプションも必要です :