12,788
回編集
編集の要約なし |
|||
3行目: | 3行目: | ||
<br> | <br> | ||
ここでは、Bluetoothデバイスの各チップにおいて、専用ドライバのインストール手順を記載する。<br> | ここでは、Bluetoothデバイスの各チップにおいて、専用ドライバのインストール手順を記載する。<br> | ||
<br><br> | |||
== BlueZのインストール == | |||
==== パッケージ管理システムからインストール ==== | |||
BlueZをインストールする。<br> | |||
sudo zypper install bluez | |||
<br> | |||
==== ソースコードからインストール ==== | |||
BlueZのビルドに必要なライブラリをインストールする。<br> | |||
sudo zypper install dbus-1-devel glib2-devel libudev-devel libical-devel rst2html5 | |||
<br> | |||
[http://www.bluez.org/ BlueZの公式Webサイト]にアクセスして、BlueZのソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf bluez-<バージョン>.tar.xz | |||
cd bluez-<バージョン> | |||
<br> | |||
BlueZをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
../configure --prefix=<BlueZのインストールディレクトリ> \ | |||
--mandir=/<BlueZのインストールディレクトリ>/share/man \ | |||
--sysconfdir=/<BlueZのインストールディレクトリ>/etc \ | |||
--localstatedir=/<BlueZのインストールディレクトリ>/var \ | |||
--libexecdir=/<BlueZのインストールディレクトリ>/lib | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
~/.profileファイル等に、環境変数の設定を記述する。<br> | |||
vi ~/.profile | |||
<br> | |||
# ~/.profileファイル | |||
export PATH="/<BlueZのインストールディレクトリ>/bin:$PATH" | |||
export LD_LIBRARY_PATH="/<BlueZのインストールディレクトリ>/lib64:/<BlueZのインストールディレクトリ>/lib:$LD_LIBRARY_PATH" | |||
<br><br> | <br><br> | ||
== RTL8761BUドライバ == | == RTL8761BUドライバ == | ||
==== RTL8761BUドライバのインストール ==== | ==== RTL8761BUドライバのインストール ==== | ||
競合するBluetoothモジュールをブラックリストに入れるため、/etc/modprobe.dディレクトリに.confファイル作成して、以下の内容を記述する。<br> | |||
以下の例では、/etc/modprobe.d/bt-blacklist.confファイルとしている。<br> | |||
sudo vi /etc/modprobe.d/bt-blacklist.conf | |||
<br> | |||
# /etc/modprobe.d/bt-blacklist.confファイル | |||
blacklist btrtl | |||
blacklist btusb | |||
blacklist btintel | |||
blacklist btbcm | |||
<br> | |||
Realtek社のRTL8761B(RTL8761BUV)チップを搭載したUSBドングルは、Linuxカーネル 2.6.32以降に対応している。<br> | Realtek社のRTL8761B(RTL8761BUV)チップを搭載したUSBドングルは、Linuxカーネル 2.6.32以降に対応している。<br> | ||
<br> | <br> | ||
37行目: | 82行目: | ||
sudo modprobe rtk_btusb # 不要の可能性あり | sudo modprobe rtk_btusb # 不要の可能性あり | ||
<br> | <br> | ||
PCを再起動する。<br> | |||
<br> | |||
==== RTL8761BUドライバのアンインストール ==== | ==== RTL8761BUドライバのアンインストール ==== | ||
RTL8761BUドライバをアンインストールする。<br> | RTL8761BUドライバをアンインストールする。<br> | ||
cd /<RTL8761BUドライバのソースディレクトリ>/rtkbt-firmware/lib/firmware | cd /<RTL8761BUドライバのソースディレクトリ>/rtkbt-firmware/lib/firmware | ||
sudo make uninstall | sudo make uninstall | ||
<br><br> | |||
== リモートウェイクアップ機能 == | |||
リモートウェイクアップ機能とは、ペアリングした端末からデータを受信をした場合、自動的にスリープ / サスペンド状態から復帰する機能である。<br> | |||
<br> | |||
<code>lsusb</code>コマンドを実行して、Bluetoothデバイスのベンダ名と製品IDを確認する。<br> | |||
以下の例では、ベンダ名(idVendor)は0bda、製品ID(idProduct)は1724である。<br> | |||
lsusb | |||
# 出力例 | |||
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | |||
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub | |||
Bus 001 Device 003: ID 062a:4102 MosArt Semiconductor Corp. Wireless Mouse | |||
Bus 001 Device 002: ID 0bda:1724 Realtek Semiconductor Corp. | |||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | |||
<br> | |||
/etc/udev/rules.dディレクトリに、新しいルールファイル(ファイル名は任意)を作成して、以下の内容を記述する。<br> | |||
<code>echo enabled</code>および<code>echo disabled</code>を記述することにより、リモートウェイクアップ機能の有効 / 無効を設定する。<br> | |||
sudo vi /etc/udev/rules.d/90-BluetoothWakeUp.rules | |||
<br> | |||
# /etc/udev/rules.d/90-BluetoothWakeUp.rulesファイル | |||
SUBSYSTEM=="usb", ATTRS{idVendor}=="<ベンダ名>", ATTRS{idProduct}=="<製品ID>" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'" | |||
<br> | |||
BluetoothデバイスのUSBドングルをPCに再接続して、リモートウェイクアップ機能が有効になっているかどうかを確認する。<br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] |