まーにゃ@エンタメ系火事場エンジニアの日々

数々の「火だるまプロジェクト」を安請け合いし何度でも復活する 「自称・不死身のエンジニア」の物欲まみれの日々をつづる

【PC編】「2021-05-08★また衝動買い@Bluetooth5@1000円」と「とりあえず動かす@超強引手法」と私

この前、TP_LINK社製のUbuntu LINUXで動作実績のある
Bluetoothアダプタを800円でGETし、LINUXは全くいじらず、
素直に動作までもっていけましたが、
音切れの問題は減らせましたが、劇的な改善とまではいかず。
GETしたアダプタのBluetoothバージョンは
もう少しで使用中止といういわくつき。
(だから、800円なんて激安な値段だったんだ。。在庫整理モードですね。。)
別の記事で見かけ、AMAZONの評価数がえらく多い
怪しい中華メーカの1000円のBluetooth5仕様の
USBアダプタに手を付けてしまいました。
2021_0508_2107LOG.png
一応、使っているICはREALTEK社のモノなので
REALTEK社が、ドライバを公開していれば、
それでなんとか、動かすところまで持っていけます。
また、安物買いの銭失い。やっちまいました。
以下の検証されてるサイトが購入のキッカケ。。
2021_0508_2110LOG.png
HCI,LMPのバージョン番号が、(0xa)というのがちょっと??です。
そうか、、0x0Aというたら、10進数で”10”のことですね。Ver10というこは、
下表の”青色”部分になり、Bluetoothコア仕様5.1で当面は大丈夫
ということになります。最新のLMP11の次ということになります。
最新デバイスへの対応がWindowsのように早くはないLINUXでは
色々、ややこしいことが待っております。
2021_0508_2021_0506_BluetoothE8A68FE6A0BCE381AEE38390E383BCE382B8E383A7E383B3-thumbnail2.png
メーカ名には、Realtek Semiconductorと記載があり、
一応名の通ったメーカ製のICを使ってます。
Realtekは、ICのチップ表面の「カニさんマーク」でおなじみのNETWORK系のICで
マザーボードには必ず乗っかてくる、
昔からお世話になっている老舗のICメーカさんです。
0508_220px-Asus_P5PL2_-_Realtek_RTL8111B-93722.jpg
参照させていただいたサイトにある程度の手順が解説されていたので
その通りやると、すなおに動きました。
さすがに、Bluetoothのバージョンが最新規格に
近いのもだけあって、
TP_LINK版と比較して、音切れ頻度は激減しました。
Wiiスポーツやりながら、別プログラムで音楽を流しても音切れ一切なし。。
(こんな”意地悪テスト”は、通常の使いかたでは
ないですが。。Bluetoothno2.4GHz帯のデータやりとりを
 混雑させると音切れに同影響させるかの実験です。)
2021_0508_2110LOG.png
と思っていたら、
別の敵が出現。。。中々素直にやらせてもらえないようです。
コマンドを打ち込んで、「動いた!]と思って、
念の為、再起動すると何故かわかりませんが、
設定が元に戻ってしまう。
以下のサイトにかかれていた手順で動かせるようになったのですが
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ディレクトリの移動と
sudo sh -c 'make install INTERFACE=usb; modprobe rtk_btusb'
だけが肝となる処理です。
超強引な作戦ですが。。
ファイルは、あらかじめ特定のフォルダに決め打ちでダウンロードしておき、
コンパイルする部分だけをシェルスクリプトにしておき、
デスクトップ起動時のスタートアップ処理でシェルスクリプトを自動で
動かすようにする仕組みにしておけば、
当面は、逃げ切れそうです。
しばらくして、LINUX側でBUG-FIXしてくれるといいんだけどな。。
毎回、LINUX起動時にコンパイル&モジュールのインストールをしてるのも
ちょっと自分でも考えてなかった手順ですが、間違いないっちゃ−間違いない。
REALTEKドライバのインストール手順>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
unzip 20200909_LINUX_BT_DRIVER_KERNEL_5.7_COEX_v0202.zip
cd 20200806_LINUX_BT_DRIVER_RTL8761B_COEX_v0202/20200806_LINUX_BT_DRIVER_RTL8761B_COEX_v0202
# デバッグ出力表示を消す sed -i '/define RTKBT_DBG/c\#define RTKBT_DBG(fmt,arg...)'usb/bluetooth_usb_driver/rtk_coex.c
sudo sh -c 'make install INTERFACE=usb; modprobe rtk_btusb'
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2021_0508_2144.png
カーネルのモジュールを調べるコマンドを使うと、Bluetoothモジュールは
登録されているようです。
2021_0508_2123LOG.png
LINUXの起動時のログを調べられるコマンドを使って
「dmesg | grep bluetooth 」と打ち込むと
起動時に、カーネルオブジェクト(KO)ファイルのロードエラーになっていました。
2021_0508_2045LOG.png
ロードエラーを起こしている、KOファイルの内容を調べてみると
2021_0508_2043LOG.png
キーとなるファイルとその場所は、
ーーーーーーーーーーーーーーーーーーーーーーーー
/lib/firmware/rtl_bt/rtl8761b_config.bin
/lib/firmware/rtl_bt/rtl8761b_fw.bin
ーーーーーーーーーーーーーーーーーーーーーーーー
/lib/modules/5.4.0-72-generic/kernel/drivers/firmware/
ーーーーーーーーーーーーーーーーーーーーーーーー
/lib/modules/5.4.0-72-generic/kernel/drivers/bluetooth/rtk_btusb.so
/lib/modules/5.4.0-72-generic/kernel/drivers/bluetooth/btusb.so
ーーーーーーーーーーーーーーーーーーーーーーーー
に絞れてきました。
場所と、ファイルの関連付けは、もうちょっと調べないといけませんが、
・完全に動くところまでもっていけた。
・手順をシェルスクリプトにして、デスクトップ起動時に自動実行するように
 設定もできた。
真面目にやろうとすると
カーネルコンパイルまで立ち入らんといかんようですが
とりあえず、動けばOKなので
これ以上の深入りは、やめときます。
BluetoothのVer5ドライバは、Ubuntu LINUXにとっては
まだ、「新しいモノ」のようで、色々不安定な部分が
あるようです。
Windows10用のドライバは
にあります。
「BT500]を選んでお好みのWindowsOSのドライバを選択すれば大ロードできます。
LINUX版は、強引な暫定対策で、しばし待ち、
BUG-FIXまでなんとかしのげればと思っています。
まあ、強引な手段ですが確実に動かせたので、
ファイル/ディレクトリの理解ができれば、
シェルスクリプトも、そのうち、使わなくできるでしょう。
LINUXとは気長にぼちぼちつきあうことにします。
LINUXでVer5のBluetoothが使えるようになると
VMWARE上のWindows10でも自動的に使えるようになってます。
オー−なんて便利。。
これでBluetooth Ver5(PC側、ヘッドホン側)の
環境構築はできました。
では・・また・・;_;)/