MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - Bluetoothドライバのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - Bluetoothドライバ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == LinuxでBluetoothデバイスを制御する場合、専用ドライバをインストールする必要がある可能性が高い。<br> <br> ここでは、Bluetoothデバイスの各チップにおいて、専用ドライバのインストール手順を記載する。<br> <br><br> == BlueZのインストール == ==== パッケージ管理システムからインストール ==== BlueZをインストールする。<br> sudo zypper install bluez <br> BlueZサービスを開始する。<br> sudo systemctl start bluetooth <br> BlueZサービスを自動起動に設定する。<br> sudo systemctl enable bluetooth <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> == RTL8761BUドライバ == ==== RTL8761BUドライバのインストール ==== Realtek社のRTL8761B(RTL8761BUV)チップを搭載したUSBドングルは、Linuxカーネル 2.6.32以降に対応している。<br> <br> 競合するBluetoothモジュールをブラックリストに入れるため、/etc/modprobe.dディレクトリに.confファイル作成して、以下の内容を記述する。<br> 以下の例では、/etc/modprobe.d/50-bluetooth-blacklist.confファイルを作成している。<br> <u>※以下の/etc/modprobe.d/50-bluetooth-blacklist.confファイルの作成において、環境によっては不要の可能性があることに注意する。</u><br> sudo vi /etc/modprobe.d/50-bluetooth-blacklist.conf <br> # /etc/modprobe.d/50-bluetooth-blacklist.confファイル blacklist btrtl blacklist btusb blacklist btintel blacklist btbcm <br> BluetoothのUSBドングルをPCに接続して、デバイスが認識されているかどうかを確認する。<br> sudo hwinfo --bluetooth <br> RTL8761BUドライバのソースコードをダウンロードする。<br> git clone https://github.com/Elif-dot/RTL8761BU.git # または git clone https://github.com/mohclips/realtek_bt_kernel_driver.git # または wget https://mpow.s3-us-west-1.amazonaws.com/mpow_BH519A_driver+for+Linux.7z # または https://drive.google.com/file/d/1FkzIOuNAc1HErqbhkmbkwEisviAQP2IC/view にアクセスしてダウンロードする。 <br> ダウンロードしたファイルのディレクトリに移して、RTL8761BUドライバをビルドおよびインストールする。<br> cd <RTL8761BUドライバのソースディレクトリ> sudo make install INTERFACE=usb sudo cp rtkbt-firmware/lib/firmware/rtl8761bu_fw rtkbt-firmware/lib/firmware/rtl8761bu_config \ /lib/firmware/ # または sudo cp 8761BU/rtl8761bu_fw 8761BU/rtl8761bu_config /lib/firmware/ <br> もし、インストールに失敗する場合は、Linuxカーネルを修復する。<br> cd /usr/src/linux sudo make -j $(nproc) oldconfig sudo make -j $(nproc) prepare <br> RTL8761BUドライバのソースディレクトリは、任意のディレクトリに保存する。<br> <br> 以下のコマンドは不要の可能性が高いが、記載しておく。<br> sudo modprobe rtk_btusb # 不要の可能性あり <br> PCを再起動する。<br> <br> <u>※注意</u><br> <u>Linuxカーネルをアップデートした場合は自動的にRTL8761BUドライバが削除されるため、再度、RTL8761BUドライバをインストールする必要がある。</u> <br> もし、既にRTL8761BUモジュールのバックアップが存在する場合、<br> rtk_btusbモジュール、rtl8761bu_fwファイル、rtl8761bu_configファイルを以下のディレクトリにコピーして、モジュール群をデプロイすることもできる。<br> # RTL8761BUモジュールのコピー sudo cp rtk_btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/ sudo cp rtl8761bu_fw rtl8761bu_config /lib/firmware/ # モジュール群のデプロイ sudo depmod -a $(uname -r) <br> ==== RTL8761BUドライバのアンインストール ==== RTL8761BUドライバをアンインストールする。<br> cd /<RTL8761BUドライバのソースディレクトリ>/rtkbt-firmware/lib/firmware sudo make uninstall <br> 標準のBluetoothドライバを有効にする。<br> sudo rm /etc/modprobe.d/50-bluetooth-blacklist.conf <br> RTL8761BUドライバのファームウェアファイルおよびその設定ファイルを削除する。<br> sudo rm /lib/firmware/rtl8761bu_fw /lib/firmware/rtl8761bu_config <br><br> == Realtek BT8761BUモジュールの署名 (セキュアブートが有効の場合) == セキュアブートが有効の場合、Realtek BT8761BUモジュールの署名を登録する必要がある。<br> <br> 署名を登録する手順を以下に示す。<br> # キーペアを作成する。 #: <code>sudo openssl req -new -x509 -newkey rsa:2048 -keyout RTK_8761BU.priv -outform DER -out RTK_8761BU.der -nodes -days 36500 -subj "/CN=Realtek_8761BU/" \</code> #: <code>-addext "extendedKeyUsage=codeSigning"</code> #: <br> # Realtek BT8761BUモジュール(rtk_btusb)を署名する。 #: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./RTK_8761BU.priv ./RTK_8761BU.der $(/sbin/modinfo -n rtk_btusb)</code> #: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./RTK_8761BU.priv ./RTK_8761BU.der /lib/firmware/rtl8761bu_fw</code> #: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./RTK_8761BU.priv ./RTK_8761BU.der /lib/firmware/rtl8761bu_config</code> #: <br> # MOK(Module owned Key)にキーをインポートする。<br><code>--root-pw</code>オプションを付加することにより、再起動時のRealtek BT8761BUモジュールの署名において、rootパスワードが必要となる。 #: <code>sudo mokutil --import ./RTK_8761BU.der --root-pw</code> #: <br> # PCを再起動して、Realtek BT8761BUモジュールの署名を登録する。 #: <code>sudo systemctl reboot</code> #: <br> # Realtek BT8761BUモジュールが正しく読み込まれているかどうかを確認する。<br>正常に読み込まれている場合は、<u>"RTK_8761BU.der is already enrolled"</u>と表示される。 #: <code>cd <Realtek BT8761BUモジュールの署名ファイルが存在するディレクトリ></code> #: <code>sudo mokutil --test-key ./RTK_8761BU.der</code> <br> この作業は1度だけ必要となることに注意する。<br> 作成したキーは信頼されるため、キーを適切に保存する必要がある。<br> このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。<br> <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> __FORCETOC__ [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
インストール - Bluetoothドライバ
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse