Shizuka's Style (Tre)

旧yaplogのShizuka's Style (Duo)から記事ごと引っ越しました。今後ともよろしく!

やっとわかった! Rasberry PiでBluetooth接続できているのに音が出ない

2019-05-04 01:28:18 | Raspberry Pi
まさか、こんなに時間がかかるとは。。。
正直、色んな所にいろんな記事があって、どれが正しいのかさっぱりわからなくなってましたが、、どうやら、解決したようなので備忘録として上げます。

最近のRaspbianではbluetooth系のモジュールは最初から入っていたりしているので、どこのサイトにもあるような基本的な設定や、Bluetooth接続のペアリングなんかは、当たり前のようにできるわけですが、、、なぜか、A2DP接続できない。コネクトしても出力デバイスとして出てこないんです。

Bluemanをインストールしたり、pa系のツールを入れたり、さんざんやりました。
それでも、出てこない。

ふと、psコマンドを実行しました。すると、bluealsaというプロセスが上がっています。
実際、bluealsaを出力として、
「aplay -D bluealsa /usr/share/sounds/alsa/Front_Center.wav」
って打つと、普通にBluetooth機器から音が聞こえます。

でも、VLCとかで音を出そうとすると、出ない。
VLCのオーディオ設定にもALSAを選ぶとデバイスが見える。
でも、音がでない。

・・なら、いっそ、bluealsaとめちゃったらどうなる?
「service bluealsa stop」
・・あれ?デバイスがみえる。mixer上にデバイスとして出てくるぞ?!

こいつかあ!!!!

以前から、本当に時々A2DP接続できるという現象が起きていたので、何かと取り合いしているなとは感じていたんですよね。どうやら、PulseAudioとbluealsaが喧嘩していることがわかりました。

どうも、最初から両方共入っているみたいで、そのせいでしょう。bluealsaがBT系のデバイスを先に掴んでしまうため、Pulseaudioがデバイスとしてつかめず、A2DP接続できていても、動かないということのようです。

こうなればあとは、bluealsaを恒常的に立ち上げなければいいのであとは簡単です。

しかし、この問題、6ヶ月近く悩んでました。一体、なんだったんだ。。。
ということで、困っている方、参考になればと思います。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

tp-link Archer T2U Nano AC600をLinuxで使う方法

2019-05-03 15:27:30 | Raspberry Pi
先日、Aspire One (AOA150)にNature OSをインストールしたのですが、内蔵Wifiは11b/gで54Mまでの対応のため、家庭内NASからの動画再生を行ったりしようとすると、重くてどうにもつらい状態となりました。

そこで、USBドングルで11acに対応しているものを購入しようとヨドバシにいったら、ほとんど飛び出さない大きさなのに11ac/n/a 5GHz 433Mbps + 11n/g/b 2.4GHz 200Mbpsという、神がかった製品 「Archer T2U Nano」がtp-linkから出ていました。

即決で購入したのはよいのですが、、、家に帰ってから気づいたのは、Linux用のドライバがリリースされていない。。。

さて、どうしたものか。。

lsusbを実行しても、まだ現時点では製品情報すら引っかかりません。
ネットを探すと、どうやらこの製品はRTL8812auチップを使っているということがわかるのですが、そのドライバというのが色々と転がっていて、一体どれが良いのかわからない始末。。。
ようやく、「この記事」に従ってrtl8812AU_8821AU_linuxというドライバソースにたどり着き、これをコンパイルして認識させることには成功したのですが、、、、、

なんと、このドライバだと2.4GHz帯しか認識せず、どうやっても11acが使えません。

しかもですね、、、このソースをコンパイルするにあたり、README.mdにあるとおりに事前パッケージをインストールしようとすると、「この記事にある」ように、/var/libと/bootに大きな容量を要求しやがりますため、Nature OSでは問題なかったんですが、Raspbianではapt-getでエラーが起き、インストールもアンインストールもできないという異常事態になるんです。

調べた結果、アンインストール時にも/bootにinitrd系のファイルを作成しやがることがわかり、確実に不要と思われるファイルを事前に手動で消してからapt-get removeを実行することでようやく事なきを得たのですが、普通にraspbianをセットアップした人にとってはコンパイルすら難しいという、致命的な欠陥を抱えていました。。。

しかし、普通にドライバをコンパイルしたいだけなのに、こんな苦労、そんなわけないでしょう??と疑問に思い、散々探しまくって、やっと見つけたのが「こちらのドライバソース rtl8812au」。

神ドライバでした。

こちらの場合、先程のような莫大な大きさを求められませんし、普通にコンパイルすることができ、かつ、11acもその能力の100%を発揮させることができました。

本ドライバ、コンパイル時に多少Warningがでますが、Nature OS(Intel系 32bit)でもRaspbianの最新安定版(4.14.98-v7+)(ARM系32bit)でも全く問題なく動作していますし、コンパイルフラグオプションには64bitもありましたので、汎用的に使えるものと思います。

ちなみに、プラットフォームによってMakefile内のフラグを変えないとダメなので、コンパイルに当たってはREADME.mdをよく読んでコンパイルしてくださいね。
 →しかし、これ、初心者には厳しいよなぁ。。。

ということで、備忘録を兼ねて、上げておきます。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする