Linux: Wifiが有効になっているPi3Bluetoothオーディオスタッター

作成日 2016年04月11日  ·  143コメント  ·  ソース: raspberrypi/linux

こんにちは、

Pi3のBluetooth経由でa2dpを使用して音楽をストリーミングしてテストしています。 Wifiを有効にすると、Pulseaudioで一定のバッファアンダーランが発生します(Bluemanは約34kB / sのダウンストリームを示しています)。 Wifiインターフェイス(ifdown wlan0)を無効にするとすぐに、オーディオは正常に再生を開始し、ダウンストリームは約42kB / sです(http://soundexpert.org/news/-/を見ると、これは正しい高品質のステレオオーディオです。 blogs / bluetooth-audio-quality-a2dp)。
また、バッファを大幅に大きくし、リサンプリングタイプを変更し、リアルタイムスケジューリングなどを試みました。最新のPulseaudioも試しましたが、違いはありません。 ラズベリーの問題のようです。

WifiとBluetoothの両方がUARTを使用しているためだと最初に考えましたが、そうではありません(正しく見ると、Wifiが921600ボーを超えていた場合は遅すぎます)。 それらはまだ同じチップ(BCM43438)を共有しています。 私(そして他の人も聞いた)がこの問題を抱えている既知の理由はありますか?

Bluetooth Issue Bug Waiting for internal comment Wifi Issue

最も参考になるコメント

ドライバーを少し掘り下げることにしました。 コードを読むことで、サポートされているモジュールパラメータのいくつかについての洞察が得られました。いくつかの実験とショットガンのアプローチにより、BluetoothとWi-Fiが完全に連携して機能するようになりました。

私の電話がpiを介してA2DPオーディオを再生している間に、wifiを介してpiからスピードテストを実行することができましたが、グリッチは1つもありませんでした。

ファイルを作成しました/etc/modules.d/bt-wifi-fix.conf

options brcmfmac fcmode=2
options brcmfmac feature_disable=0x96
#options brcmfmac debug=0x00000004

debug=0x00000004 、情報レベルのロギングを有効にしますが、これは実際には必要ありません。

fcmode=2は、ある種のハードウェアフロー制御を有効にしているように見えます。これにより、状況は少し良くなったように見えますが、それでも優れていません。

feature_disable=0x96は、実際に修正されたように見えるオプションです。 確かではありませんが、 0x96がすべてのオプション機能を無効にしようとしているので、上記の「ショットガンアプローチ」と言ったのはなぜですか。 ある程度の忍耐があれば、これを機能の小さなサブセットに絞り込むことがおそらく可能です。

これまでのところ、これは私にとって完全に機能しています。さらに絞り込むことができたら、報告します。

編集:最初にストリームを開始したときに少しグリッチが発生しますが、wifiを使用しているかどうかに依存しているようには見えません。

全てのコメント143件

私はまったく同じ問題を抱えています。 WLAN0を無効にすると、オーディオの問題が修正されました。 しかし、私はwifiを使用できるようにしたいと思っています...

同じです。 それがWiFiのビルドであると理解するために、3日と2つのディストリビューションを取りました。 USBポートでWiFiスティックを直接使用すると、同じエラーが表示されます。 USBスティックでUSB接続ケーブルを使用すると、すべて正常に動作します。 したがって、2つの2.4 GHzサービスが相互に干渉するのは、内蔵アンテナに由来すると単純に思います。 :-/

オンボードWi-Fiを無効にし、延長ケーブルなしでWi-Pi USBアダプターを使用することで、A2DPを機能させることができました。

これはかなり興味深い質問を提起します:オンボードWiFiチップはBluetoothの共存をサポートしていますか、ドライバーはこれをサポートしていますか、そしてそれは正しく動作しますか? 私が複数のソースから見たものに基づくと、オンボードWiFiを無効にするか、オンボードBluetoothを無効にして代わりにUSBアダプターを使用すると、レイテンシーが大幅に向上します。これは、オンボードチップのように聞こえます。 BTの共存を正しく実装していないか、ドライバーがBTの共存を適切にサポートしていません。

BCM43438には、WiFiインターフェイスとBluetoothインターフェイスの間に共存インターフェイスがあります。ソフトウェアのサポートは必要ありません。

@Ferroin私の経験から、私は/ Fundamentally /はい、そうだと思いますが、私は信頼できる情報源ではなく、Bluetooth側ではあまり要求しません。...Pi3でBluetoothLE中央および周辺機器アプリケーションを開発している間VNC Xセッション、2x SSHセッションを実行し、NFS共有をすべてWiFi経由でマウントし、すべて問題ありません。

今夜発見したばかりなので、これに+1します。 wlan0を停止すると、オーディオは問題なく再生されました。 8月以降、ここで何が起こっているのか、修正があるかどうかについて、誰かが新しい言葉を知っていますか?

+1 me、 "ifdownwlan0"とpulseaudioはa2dp経由で正常にストリーミングします

+ 1、Anker Sound CoreBluetoothスピーカーを使用して本日更新されました。 Wi-Fiをオフにすると美しく再生されますが、これはかなり大きな回避策です。 それは迷惑ですが、このプロジェクトでは実行可能です(OKAY FINE、vncserverの代わりにhdmi経由で接続します )しかし、プロジェクトをモバイル化する能力が大幅に制限されるため、私も修正を待っています。 VNCserverは必須です。

この問題を見つけるのに頭痛の種を与えた+1!

私はWiFiが必要だったので、私はただ:
1)WiFiアダプターとしてUSBドングルを使用する
2)/ etc / network / interfacesでオンボードWiFiアダプターを無効にします

これ以上の音の問題はありません。

これが進展するのを楽しみにしていますが、念のため、このスレッドを購読して、元の投稿に反応を追加することができます。 +1の応答を投稿することはお勧めしません

Wi-FiがベースPi3に悪影響を与えていないことに同意しました。 USBドングルを追加すると、オンボードWiFi / BTのPi3で得られる大きなメリットの1つが無効になります。 :-(

また、動作をテストし、ここで報告されているのと同じ問題に直面しています。 この問題を解決するために、USBWiFiアダプターを追加することを計画しています。 piが2番目のWiFiを問題なくサポートすることを願っています。

Zero Wは、同じチップを使用しているのと同じように、BluetoothとWLANに関して同じ問題を抱えていると思いますか?
ただし、回避策としてUSBデバイスを使用することは、ZeroWではそれほど簡単ではありません。

これはみんなのラズベリーパイに起こっていますか? 音楽はどのように演奏されていますか? (パイハットDAC、サウンドカード、BCM?)Wifiを何に使用していますか?

なぜなら、Pi3に問題はなかったからです。

両方が起こっているときの問題だけ。 WiFiがアクティブに送信してから、Bluetoothを使用してみます。 Bluetooth + LANは問題ありません。 したがって、ほとんどの人とアプリケーションは問題を認識しません。

セカンダリWiFiレシーバーを追加してプライマリにし、Bluetoothレシーバーとして組み込みWiFiを使用しました。 これは、これを機能させるための最も安価な方法です。

Bluetooth + LANは問題ありません。

Pi0WのLANポートを見せてください。

誰かがpulseaudioをより高い優先度にするためにリニックしようとしましたか?

はい、私は結果に識別可能な違いがなく、より高い優先順位で試しました。

こんにちは、
実行可能な構成をお持ちの場合はお知らせください
上記の問題、つまりWifi-必要、A2DPでのBluetoothスピーカーのペアリング
モード。
あなたのプロフィールから、あなたはその中で広範囲に遊んだようです
範囲。

ありがとう。


乾杯、
プラディープ
http://pradeepclicks.com/

21:29時月、2017年3月6日には、ブレット・ラインハルト[email protected]
書きました:

誰かがpulseaudioをより高い優先度にするためにリニックしようとしましたか?


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/raspberrypi/linux/issues/1402#issuecomment-284439625
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ADb1rV3_oFd2_qM8-2yHoDdLGeFK3d5dks5rjC1ngaJpZM4IExoX

私もこの問題を解決しようとしています。 BTスピーカー/ヘッドフォンによって途切れが少し変わるようですが、WiFiドングルを使用し、オンボードWiFiを無効にしています。 BTドングルを使用していても、ローカルmp3を再生しているとき、またはPithos(Pandora)を使用しているときは、途切れが残ります。 また、ビットレートの低いmp3ファイルを使用したところ、途切れが改善されました。

16〜64kbpsのサンプルファイルをいくつかダウンロードし、RPi3でVLCを使用して再生しました。 私はpulseaudioを実行していて、いくつかの安価なBluetoothイヤフォンに接続しています。
http://www.digitalprosound.com/Htm/WebAudio/2000/Oct/MP3bitrates3.htm

バックグラウンドのWiFiアクティビティのみで、各ファイルが再生されましたが、ビットレートの増加に伴い、多少の途切れが見られました。 次に、apt-get updateを実行し、実行中に16kファイルを再生しました。 非常に途切れ途切れ。 他の人も同じです。 実際、wifiアクティビティは、ファイルのビットレートよりも大きな影響を及ぼしました。

次に、WiFiドングルを接続し、オンボードWifi(sudo ifdown wlan0)を無効にします。 再試行。
すべてのファイルが完全にスムーズになります。 Wifi経由でダウンロードを実行している間はどうですか? 64kbpsでもスムーズ。
ピトス(パンドラ)を実行していますか? スムーズ。 昨夜はそうではなかったので、固溶体があるとは確信していません。

同じ問題が発生します。

私はBluetoothドングルを使用して問題を解決しましたが、これは完全に成功しています。
プラグ可能なテクノロジーUSB-BT4LE

それでもまだ満足していませんが、使用できない機能を持つことのポイントは何ですか。

確認する必要があることの1つは、bluetoothctlプロンプトでBluetoothスキャンをオフにする(スキャンオフする)ことです。 これで問題は解決し、組み込みのWi-Fi / BTとPiZero + redbear IoT PiHatを使用して、Pi Zero W、Pi3でうまくストリーミングできました。

@Michiman :同時にスキャンせずに試してみたと100%確信しています。 まだ問題がありました。 私はrpi3を使用しています。

+1
ここでも同じですが、これは間違いなくオンボードWi-FiとBluetoothの組み合わせです。
セットアップ:pi zero w + phat dac

オンボードのBluetooth + Wi-Fi対応->オーディオの途切れが非常にひどい
オンボードWi-Fiが無効->音声が途切れることなく完全に再生される

私はこれがすべて低レベルでどのように機能するかを調査し始める必要があると思います-これはこれを適切に学ぶための素晴らしい挑戦を形成します

また、pulseaudioに基づくa2dpチュートリアルを使用してオーディオをストリーミングしようとすると、ひどいサウンドの問題が発生しました。
バッファサイズを調整し、内部WLANを無効にする提案を試しました。
音質は大幅に向上しましたが、それでもこれを実際のリスニングデバイスとして使用するほどではありません。せいぜい数秒ごとにポップ音やスタッター音が聞こえます。

私はpulseaudioを完全に回避することで問題を克服する別のgithubプロジェクトを見つけました:
https://github.com/lukasjapan/bt-speaker
内部WLANを無効にした後、オーディオはその方法を使用すると非常に合理的であり、起動時にログインする必要はありません(レトロピーイメージのバックグラウンドで実行しています)。

@ maklotski 、Wi-FiとBluetoothの両方が同時にオンになっている場合に問題が発生することはすでに

私達は私達が持っているすべての有用な情報をリリースしました、すなわちあまり多くはありません。 サイプレス(以前はBroadcom)には、dhdとbrcmfmacの2つの並列ドライバースタックがあります。 おそらく、共存を改善する更新されたdhdドライバーの完成に近づいていますが、a)まだテスト中であり、b)brcmfmacを使用しています。 改良されたbrcmfmacドライバーがあり次第、それをプッシュします。

この問題に+1を追加するだけでは意味がありません。 理由もなくコメントリストが長くなるだけです。 情報が入り次第掲載します。

+1してこれをレーダーに載せ続け、できれば優先度を上げていきます
修正のため

このgithubスレッドは、問題に関連する情報が利用可能になったときに更新されます。 オンチップの共存サポートはチップのファームウェアまたはファームウェアセットアップの機能であるため、ドライバーの更新を提供するBroadcom(現在のサイプレス)にいくらか依存しています。

スパム応答でスレッドの信号対雑音比を低下させることは、ただ苛立たしいことです。 問題の調査または解決に関する議論に何も提供しないコメントは、一時的に削除される可能性があります。

bluetoothが接続/切断した場合にinotifyを使用してwlan0のオンとオフを切り替える小さなスクリプトを作成しました。 わかりました
回避策ですが、私はそれと一緒に暮らすことができます。

`#!/ bin / bash

本当ながら
行う
RES = inotifywait -q -e CREATE,DELETE /dev/input/
ケース「$ RES」
"/ dev / input / DELETE event1")
ifconfig wlan0 up
;;
"/ dev / input / CREATE event1")
ifconfig wlan0 down
;;
esac
完了&
`

それで、これが私が笑われることを犠牲にして共有したい周りの仕事です(とにかく)。
バックグラウンドでpacat /dev/zeroを実行します
次に、オーディオを再生し、パチパチ音が+ -30秒停止した後、さらにオーディオを再生し、pacatを停止するまでクリアな再生をお楽しみください。
ブルートゥース上を飛ぶすべてのゼロが心配な場合は、次のように「pv」をインストールすることを検討してください。
sudo apt-get install pv
cat /dev/zero | pv -qL 2k | pacat代わりにバックグラウンドで以下を実行して、ゼロを特定のビットレートに制限します。
これがどのように機能するか知りたいです。

興味深い、すべて。 私はヘッドレスのPiZero / Wに取り組んできました-X11はありません。 そして、wifi経由で2つまたは3つのsshシェルを使用でき、Bluetoothは可能な限りクリーンです。 Bluetoothデバイスの過度のポーリング(つまり、Bluetooth情報の取得)がスタッターを引き起こすことに気づきました。 CLIを起動してみましたか?

さて、私は次のコメントが文脈なしでは本当に役に立たなかったことに気づきました。 申し訳ありませんが、一晩中キーボードを叩いていました----

1-少なくともカーネルに関する限り、Bluetooth / Wifiに関してPiZero / WとPi3は同一です。
2-Jessie Liteの実行-最近更新され、カーネル4.9.29+
3-デスクトップでのNetBeansの実行とPiでのリモートデバッグ。
4-ストレステストTFTディスプレイを使用したフレームレート---実際にそのSPIバスをクランキングします。
5-タッチスクリーンの入力イベントをポーリングし、結果をstderrにダンプします。stderrはNetBeansにパイプされます-タッチスクリーンでジッターをテストします
6-Bluetooth経由でmpg123tarballからmpg123_to_out123サンプルプログラムを実行し、SDカードからBillyJoelの「AnInnocentMan」を再生します。
7-X11が見えない。

パイのように滑らかに走り、ラズベリー風味。 これをとても長くやっていると、私はビリー・ジョエルを眠っている間に口ずさむ。
Bluetooth接続ステータスのクエリを強制すると事態が悪化することに気づきました。

できるだけ多くの「その他の」コードを削除することをお勧めします。

こんにちは、
PI(Zero W)Bluetoothには間違いなく深刻な問題があります。

Bluetooth経由で電話を検出するPythonスクリプトをCHIPからPiZeroWに移動しました。
結果はクレイジーでした、Bluetoothがアクセスされたときにそれは私のホームWifi全体を妨害しました:-(

スクリプトは次のコマンドを使用して、電話が範囲内にあるかどうかを検出します。
結果= bluetooth.lookup_name(mac、timeout = 5)

私はこれを2台の電話でループで実行します。 ループは15秒ごとに開始され、両方の電話をテストします。
最初に、a)SSH over Wifiが応答しない場合があり、b)Pi Zero Wをセットアップした後、WiFiLEDライトが応答しない場合があることを通知しました。
奇妙なことに、Wifiライトにpingを実行しようとしましたが、結果:15秒ごとに約5秒のタイムアウトが発生しました。
次に、PI Zero Wにpingを実行しようとしました。これらの5秒間に約2000〜4000ミリ秒のping時間が発生し、場合によってはタイムアウトになることもあります。

そこで、Bluetooth検出を実行するスクリプトを無効にしました。何でも問題ありませんでした。
スクリプトの再起動:タイムアウトが再度発生しました。

狂ってる! 電話のBluetoothスキャン(基本的には、ペアリングされたBluetoothデバイスに対する「そこにいますか?」)は、基本的に私のホームWifi全体を壊します。
BluetoothとWifiが同じ周波数であることを知っています。 しかし、Bluetoothは、そのような干渉を防ぐために広範な周波数ホッピングを使用するように標準化されています。 Pi Zero Wではそうではありませんか?

間違いなく再現可能です。以下のPythonスクリプトを試してみてください。

理由についての私の最もよい推測:BluetoothラジオはWifiを妨害しますが、その逆ではありません。 その理由は、周波数ホッピングに関するBluetoothスタックの問題である可能性があります。 これは、報告されたBluetoothオーディオの問題も説明します。Bluetoothが1つの周波数のままである場合、wifiは信号を妨害する可能性が高くなります。
しかし、私は間違っているかもしれません。Wiifiの物理層を扱うトピックで博士号を取得したのと同じようにWiFiをよく知っていますが、BluetoothPhyの専門家ではありません。


問題を再現する短いPythonテストスクリプト。 実行中にPiにpingを実行するだけです。

インポート時間
Bluetoothをインポートする
mac = "00:00:00:00:00:00"
Trueの場合:
print( "Bluetoothで%sを検索..."%mac)
試してください:
結果= bluetooth.lookup_name(mac、timeout = 5)
eとしてのbluetooth.btcommon.BluetoothErrorを除く:
print( "\ nERORR:Bluetooth要求に失敗しました、エラー:%s"%e)
print( "結果:%sは:%s"%(mac、result))
time.sleep(15)

明日(東部標準時の月曜日の夕方)、必要に応じて、それがどのように機能するかを示すYouTubeを投稿します。 ただし、2倍/ 3倍の確認(わずか5分前)----「検出可能」と「スキャン」中にのみ問題が発生します。 デバイスを検出不能にし、WiFiとBluetoothをアクティブにスキャン(検出)しないようにすると、Pi Zero Wで正常に動作します。Bluetoothとsshを介して接続している間、WiFi経由で4〜5ミリ秒のpingが安定します。 YouTubeビデオの音声を録音する方法を理解する必要がありますが、私はそれがジッターなしではっきりと聞こえます。

FWIW-私はBluetoothAudioアプリケーションに取り組んでいるので、これは本当に私に関係があります。 私のアプリでは、接続されたデバイスの情報をポーリングしてRSSIなどを取得していました。ここでは非常に多くの人がすでに問題に気付いていたため、ポーリングを削除する必要がありました。

Bluetooth接続でポーリング(D-Bus)を実行する可能性のあるセッション内のすべてのアプリを制御していない限り、問題に加担しているとしてそれらを除外することはできません。 私はX11を実行していません。したがって、ハードウェアと何が起こるかにはるかに近づいています。 Granted PulseAudioはまだ「ブラックボックス」ですが、それを除けば、私は基本的に取引全体を管理しており、非常にうまく機能します。

さて、ファームウェアに問題がないと言っているわけではありませんが、実際には、アプリの動作が改善されているはずです。

ねえ、
時間があれば、YouTubeのビデオに本当に興味があります:)
私もPiZero Wを使用していますが、Wifiを無効にすると、少し途切れます...

こんにちは、ちょっと注意してください-私のゼロWは同じ問題に苦しんでいます-wifiでストリーミングするときにBTオーディオをスキップします-Raspbianの9.1 / Stretchリリースでも

サイプレスはWiFiとBTの「共存」を改善することを望んでいますが、最初にいくつかのWiFiの安定性の問題に焦点を合わせてきました。

こんにちは、これに関する更新はありますか?

最新のRaspbianStretchイメージから始めて、次を実行します。

sudo apt-get update
sudo apt-get install bluez bluez-firmware

これにより、新しいBluetoothファームウェアと更新されたBlueZが導入され、WiFiとBluetoothの共存が改善されます。

その間に、Bluetoothの信頼性を向上させるための最新のカーネルを入手してください。

sudo apt-get install raspberrypi-bootloader raspberrypi-kernel

BT / WiFiのパフォーマンスのビデオを並べて見たいです
一緒。 誰かが作っていないのなら、私はそれに取り組む必要があります。

2017年11月7日12:15 PM、「PhilElwell」 [email protected]は次のように書いています。

あなたがそれにいる間、改善されたBluetoothのための最新のカーネルを入手してください
信頼性:

sudo apt-get install raspberrypi-bootloader raspberrypi-kernel


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/raspberrypi/linux/issues/1402#issuecomment-342554756
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AZCYY6u0Q45M19rAdGFM0WP4q6VXP0Zeks5s0JBOgaJpZM4IExoX

@pelwellアドバイスに従って、 bluez bluez-firmware raspberrypi-bootloaderraspberrypi-kernelを最後のバージョンにアップグレードしました。

ただし、Wi-Fiが起動しているときに、Bluetoothを介してラズベリーゼロWにストリーミングされるサウンドの問題にまだ直面しています。 Wi-Fi( sudo iwconfig wlan0 txpower off )をシャットダウンすると、正常に機能し、パチパチという音は聞こえなくなります。

ご不明な点がございましたら、お気軽にお問い合わせください。

bt-speakerを使用しています。 ここで報告された関連する問題: https

改善が見られなかったと言っていますか?

残念ながら、改善はありません:(

@pelwellご存知のとおり、インストールされているバージョンは次のとおりです。

bluez              5.43-2+rpt2+deb9u2
bluez-firmware              1.2-3+rpt1
raspberrypi-kernel              1.20171029-1
raspberrypi-bootloader          1.20171029-1

rpi 3でwifiを有効にしてRetropieを使用しているPS3コントローラー(Bluetooth経由)でこれと同じタイプの問題を抱えている人はいますか? ランダムな干渉のように見えるものがあり、コントローラーが正常に動作することもあれば、何も押さなかったかのように見えることもあります。 そのようにゲームをプレイするのは少し難しくなります!

今日、私はPi Zero Wをすべて最新のものに更新し、問題がまだ存在することを確認できます。
pi<strong i="6">@raspberrypi</strong>:~ $ dpkg -l | grep -i bluetooth ii bluealsa 0.6 armhf Bluetooth ALSA Audio backend ii bluez 5.43-2+rpt2+deb9u2 armhf Bluetooth tools and daemons ii bluez-firmware 1.2-3+rpt2 all Firmware for Bluetooth devices ii libbluetooth3:armhf 5.43-2+rpt2+deb9u2 armhf Library to use the BlueZ Linux Bluetooth stack ii lxplug-bluetooth 0.4 armhf Bluetooth plugin for lxpanel ii pi-bluetooth 0.1.6 armhf Raspberry Pi 3 bluetooth ii pulseaudio-module-bluetooth 10.0-1+deb9u1 armhf Bluetooth module for PulseAudio sound server

BCM43438は、BT + WiFiまたは2つのBT接続のいずれかで複数の接続に問題があるようです。

WiFi( ifconfig wlan0 downまたはdtparam=pi3-disable-wifi )をオフにすると、BluetoothA2DPオーディオは非常に正常に機能します。 ただし、2つのデバイスが接続されていると、音声がひどく途切れ始めます。

外部USBBluetoothアダプターを使用すると、複数のデバイスがA2DPを介して接続し、オーディオ、イベントを同時にストリーミングできます。

だから私は、これはチップの制限であり、ソフトウェアのことではないと思います...(しかし、将来のカーネルアップデートで間違っていることが証明されることを望んでいます)

最新のBTファームウェア( sudo apt-get update; sudo apt-get install bluez-firmware )で実行していることを確認してください-いくつかの改善がありました。

私はそれを2日前に最後に行いましたが、それ以来変更されていますか?

-ロン


投稿者:フィル・エルウェル[email protected]
送信日:2018年1月24日水曜日5:32 AM
宛先:raspberrypi / linux
Cc:Ron Kuper; マニュアル
件名:[外部] Re:[raspberrypi / linux] Wifiが有効になっているPi3Bluetoothオーディオスタッター(#1402)

最新のBTファームウェア(sudo apt-get update; sudo apt-get install bluez-firmware)で実行していることを確認してください-いくつかの改善がありました。


このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信するか、GitHub https://github.com/raspberrypi/linux/issues/1402#issuecomment-360088465で表示するか、スレッドをミュートしますhttps://github.com/notifications/unsubscribe-auth/AC8KdHhcuhMFBE5j42nTMhwc5NJTfxocks5tNwahgaJpZ

いいえ-それが最新になります(1.2-3 + rpt1)。

ありがとう! その間に、回避策としてUSBWi-Fiドングルを購入しました。

チップセットドライバが(理論的には)これら2つの無線間のRF干渉を回避するための措置を講じることになっているのかどうか誰かが知っていますか?

-ロン


投稿者:フィル・エルウェル[email protected]
送信日:2018年1月24日水曜日7:20 AM
宛先:raspberrypi / linux
Cc:Ron Kuper; マニュアル
件名:[外部] Re:[raspberrypi / linux] Wifiが有効になっているPi3Bluetoothオーディオスタッター(#1402)

いいえ-それが最新になります(1.2-3 + rpt1)。


このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信するか、GitHub https://github.com/raspberrypi/linux/issues/1402#issuecomment-360113610で表示するか、スレッドをミュートしますhttps://github.com/notifications/unsubscribe-auth/AC8KdIfVVwDf2lOlcGQTppx5A0jxxzvbks5tNyAW

想定されており(同じパッケージ内の本質的に2つの別々のデバイス間に共存チャネルがあります)、このファームウェアは元の出荷ファームウェアよりも大幅に改善されていますが、アンテナを共有することは難しいようです。

@spalthammerは、優れた回避策として役立つスクリプトを作成しました。

bluetoothが接続/切断した場合にinotifyを使用してwlan0のオンとオフを切り替える小さなスクリプトを作成しました。 わかりました
回避策ですが、私はそれと一緒に暮らすことができます。

`#!/ bin / bash

本当ながら
行う
RES = inotifywait -q -e CREATE、DELETE / dev / input /
ケース「$ RES」
"/ dev / input / DELETE event1")
ifconfig wlan0 up
;;
"/ dev / input / CREATE event1")
ifconfig wlan0 down
;;
esac
完了&
`
誰かがこのスクリプトを実装する方法を初心者に説明できますか? ブルートゥースの再生中にwifiは必要ないので、これは私にとってはうまくいくでしょう。 ただし、BTデバイスが切断されたときにPi3にssh / vncを使用できるようにしたいのです。

@lexanix

inotifyをインストールする
cmd:sudo apt-get install inotify-tools
cp inotify.txtから/etc/inet.d/inotify(inotify.txtからinotifyに名前を変更してください!)

inotify.txt

実行可能にする
cmd:sudo chmod u + x /etc/init.d/inotify
起動時にスクリプトを開始するためのシンボリックリンクを作成する
cmd:sudo update-rc.d inotify defaults

お役に立てれば。

@spalthammer

私がやろうとしたこと:
(私は明らかに「inet.d」のタイプミスをinit.dに変更しました)
-u + xが機能しなかったため、chmod + xでのみ実行可能にしました
-エコーを返す行を追加して機能したため、ターミナルから直接(再起動せずに)スクリプトを実行しようとしました
-開始時に/etc/rc.localから起動するようにしました
ただし、Bluetooth経由で電話を接続しても、Wi-Fiはオンのままです...

Raspbianの最新バージョンを実行しています。 私の電話はBT経由でPiに音楽をストリーミングし、GPIOでFM信号として出力します。 その間、音楽が途切れ始めるので、wifiを有効にする必要はありません。 ただし、wifiを無効にした後も、SSH / VNCを使用してPiに再接続できるように、電源を切って再起動すると自動的に再度有効になる小さなスクリプト「sudoifconfigwlan0up」を作成しました。 これは今のところ機能しているようですが、BT + WiFiチップセットの何が問題になっているのかがわかるまで、もっとエレガントなinotifyスクリプトを実行したいと思います。

@lexanix
タイプミスでごめんなさい。
sudo chmod u+x /etc/init.d/inotifyが機能するはずです。 /etc/init.d/inotifyがrootによって所有され、実行可能であることを確認してください。
キーボード、マウス、USBサウンドカードなど、複数の入力デバイスが接続されている場合、入力デバイスの番号が異なる場合があります。 スクリプトでは、私の設定に合うinput1のイベントを待っています。 スクリプトを停止してください
sudo killall -9 inotify
実行します
sudo inotifywait -q -e CREATE,DELETE /dev/input
Bluetoothデバイスに接続し、入力デバイスの番号を書き留めます。 スクリプトを変更して再起動します。
スクリプトを再確認しました。 完璧でなくても、期待どおりに機能します。

よろしく

A2DP再生中はBT接続が安定していません。 BTはしばしば切断され、回復するにはシステムの再起動が必要です。
あなたは解決策を与えることができますか?

@spalthammer素晴らしい! スクリプトは期待どおりに機能します
私にとって完璧なソリューション(スピーカーファット付きのゼロW、現在は内部BluetoothとWiFiインターフェースの両方を交互に使用しています)
音楽の再生中にひびが入ることはもうありません:-)

これは新しいRaspberryPi 3 B +でより良くなるでしょうか?

@spalthammer

すばらしい回避策をありがとう。 それは私が必要なものです。

Bluetooth接続が1つしかないのに、次のようになります。

root<strong i="9">@Ipad2GMA</strong>:/etc/init.d# sudo inotifywait -q -e CREATE,DELETE /dev/input
/dev/input/ CREATE event0

それで、あなたが提案したように、私はinotifyを編集し、event1からevent0に変更しました。 今はうまくいきます!

しかし、私はその変化を心配しています。 BT接続が1つしかない場合、常にevent0になりますか?

ありがとう!

@davthomaspilot

eventXの数Xは、Bluetooth接続の数ではなく、入力デバイスの数に依存します。 したがって、ハードウェアの設定を変更しない限り、たとえばUSBサウンドカードやキーボードなどの別の入力デバイスを追加しない場合は、番号を変更しないでください。 接続されている入力デバイスについて詳しく知りたい場合は、次のコマンドを実行します。

cat /proc/bus/input/devices

概要を説明します。

ラガード。

この回避策は私にとってうまくいきました! しかし、どういうわけか、もう必要ないようです-

私はちょうど別のパイゼロwを手に入れました。 ジェシーストレッチ画像をダウンロードし、更新、アップグレードを行いました。 私はここからpHatDACとBluetoothセットアップ手順を使用しています:

[https://www.sigmdel.ca/michel/ha/rpi/bluetooth_01_en.html]

アップグレードまたはアップデートで取得した修正がある可能性はありますか? または、新しいrpiにハードウェアの修正があるのでしょうか。

途切れないpiに画像のクローンを作成し、spalthammerの回避策が必要な画像で試してみます。 そして、新しいハードウェアのスタッターrpiにあるイメージを試して、回避策を無効にして、新しいハードウェアがそのイメージでスタッターするかどうかを確認します。

bluetoothctlを実行したままにした場合にのみ、問題が発生することがわかりました。 新しいハードウェア/「ソフトウェア」と古いハードウェアの両方で、bluetoothctlを使用していない限り、bluetoothA2DPストリームが中断されることはありません。

これはストレッチライトで、パルスオーディオはありません。 多分それは重要です。

@pelwell 、ここで述べたように、これがサイプレスからの新しいWiFiファームウェアの一部として解決される可能性があるかどうか
https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=208090
よろしく、

@StudentSAそうではないようです。 少なくとも完全ではありません。 2018-04-18-raspbian-stretch-liteを実行しているZeroWでこの問題が発生しています。

bluez                  5.43-2+rpt2+ armhf
bluez-firmware         1.2-3+rpt5   all
raspberrypi-bootloader 1.20180417-1 armhf
raspberrypi-kernel     1.20180417-1 armhf

おそらく修正されない問題の1つ...

ドライバーを少し掘り下げることにしました。 コードを読むことで、サポートされているモジュールパラメータのいくつかについての洞察が得られました。いくつかの実験とショットガンのアプローチにより、BluetoothとWi-Fiが完全に連携して機能するようになりました。

私の電話がpiを介してA2DPオーディオを再生している間に、wifiを介してpiからスピードテストを実行することができましたが、グリッチは1つもありませんでした。

ファイルを作成しました/etc/modules.d/bt-wifi-fix.conf

options brcmfmac fcmode=2
options brcmfmac feature_disable=0x96
#options brcmfmac debug=0x00000004

debug=0x00000004 、情報レベルのロギングを有効にしますが、これは実際には必要ありません。

fcmode=2は、ある種のハードウェアフロー制御を有効にしているように見えます。これにより、状況は少し良くなったように見えますが、それでも優れていません。

feature_disable=0x96は、実際に修正されたように見えるオプションです。 確かではありませんが、 0x96がすべてのオプション機能を無効にしようとしているので、上記の「ショットガンアプローチ」と言ったのはなぜですか。 ある程度の忍耐があれば、これを機能の小さなサブセットに絞り込むことがおそらく可能です。

これまでのところ、これは私にとって完全に機能しています。さらに絞り込むことができたら、報告します。

編集:最初にストリームを開始したときに少しグリッチが発生しますが、wifiを使用しているかどうかに依存しているようには見えません。

これは素晴らしいデータポイントです。調査していただきありがとうございます。今後の進捗状況については、常に最新情報をお知らせください。

@pelwell Phil、これを見ましたか? サイプレスに報告する価値があるかもしれません。

それは非常に単純に思えます-サイプレスがそれに満足していて、それが非常に効果的である場合、それらをPiカーネルのデフォルトにすることができます。

指定した内容で/etc/modules.d/bt-wifi-fix.confを作成するだけで十分ですか? または、それを有効にするために何か他のものを変更する必要がありますか?

説明に従ってファイルを作成し、再起動するだけです。

OK、グーグルで/etc/modules-load.dのものを見つけましたが、/ etc /modules.dは見つかりませんでした

Pi Zero Wにファイルを追加しました。しばらくBluetoothでストリーミングし、Wi-Fi接続中にスタッターが聞こえるかどうかを確認します。

「問題がない」ことをテストする以外に、bt-wifi-fix.confが使用されたことを確認する方法はありますか?

ありがとう!

options brcmfmac debug=0x00000004を含めると(コメント# )、 dmesg表示されるように、カーネルログに診断出力が表示されます。

わかりました、私はこれを試しました:

 dmesg | grep brcmfmac
[   11.083290] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[   11.103157] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43430-sdio.bin for chip 0x00a9a6(43430) rev 0x000001
[   11.103836] usbcore: registered new interface driver brcmfmac
[   11.563229] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 23 2017 03:55:53 version 7.45.98.38 (r674442 CY) FWID 01-e58d219f
[   11.575677] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.39 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-10-23 03:47:14
[   18.913833] brcmfmac: power management disabled
[   27.484932] brcmfmac: power management disabled

だから、

電源管理が無効

メッセージは、.confが取得されていることを示していますか?

そうでない場合、他にgrepできるものはありますか?

4.14.41カーネル(カスタムOS)を実行しているZeroWでテスト済み何倍も優れていますが、それでも多少の吃音があります.....しかしほとんど許容できます。

a2dpストリームの再生中にiperf3をサーバーに戻しました... wifiがプッシュしていました
iperf3では約30MBit / s。

pi3とpi3b +でテストする予定です(wifiが5Ghzチャネルに接続されている場合、3b +はすでに正常に再生できます)

@davthomaspilot私は今これを自分で試しているところですが、提案されたファイルの内容は正しいように見えますが、ディレクトリ名は見覚えがあるように見えますが、私のRaspbianシステムには存在しません- /lib/modprobe.dが通常です(おそらく_正しい_)場所-ファイル名/lib/modprobe.d/bt-wifi-fix.confを使用することをお勧めします。

コメントアウトされたfcmodefeature_disable行から始めて、 fcmode dmesg | cut -c16- | grep brcmfmacから出力を取得します。 次に、それらの一方または両方のコメントを解除し、再起動してdmesg出力(およびストリーミング品質)を比較します。

ありがとう! やります。

これが/etc/rc.localで「iwconfigwlan0poweroff」を実行する以上の助けになることを願っています。

Wi-Fiの省電力を無効にすると、ストリーミングのスタッターは1〜2分に1回しか発生しません。 これは、wifiでのsshセッションに他なりません。
さらなる改善があるかどうかを確認するには、いくつかの「統計」が必要です。 Pi ZeroWを試してみます。

これは、行がコメント化されている場合とコメント化されていない場合を比較する差分です(/etc/modules.dではなく/lib/modprobe.dを使用:

> brcmfmac: brcmf_feat_attach Features: 0x96, disable: 0x96
34c35,36
< brcmfmac: brcmf_fws_attach FWS queueing will be avoided
---
> brcmfmac: brcmf_fws_attach added MAC-OTHER
> brcmfmac: brcmf_fws_attach enabled bdcv2 tlv signaling [4f]
50,51d51
< brcmfmac: brcmf_p2p_add_vif adding vif "p2p-dev-wlan0" (type=10)
< brcmfmac: brcmf_add_if allocate non-netdev interface
54c54
< brcmfmac: brcmf_cfg80211_connect ie (d949d258), ie_len (22)
---
> brcmfmac: brcmf_cfg80211_connect ie (d96ac658), ie_len (22)

今すぐストリーミング品質をテストしています...

それはまだ吃音です。 それが私が持っているものよりも大幅に優れているかどうかを判断するのは本当に難しいです。 1、2分に1回の吃音。

繰り返しますが、これはWi-Fiが有効になっている場合ですが、Wi-Fiトラフィックは事実上ありません。

現在、私の回避策は、Bluetooth接続中にwifiを無効にすることです。 私はwifi接続しているときは本当にスタッターを気にしませんが、最初にBluetoothを切断せずにwifi接続するといいでしょう。

2.4Ghzチャネルでpi3B +を使用してテストします。

パラメータ「optionsbrcmfmacfcmode = 2」は、BTがBluetooth接続を介してデータをプッシュし始めるとすぐに、pi3B +のwifiドライバーをクラッシュさせます。 A2DPプロファイルを使用します。

pi3B +でオプションbrcmfmacfeature_disable = 0x96のみを使用して実行していますが、iperfでwifi接続をプッシュしない限り、かなり安定しています。 5Ghzチャネルの場合、このパラメータによる明らかな影響はありません。 この場合、Bluetoothは非常に安定しており、iperf3は120Mbit / sをプッシュします。

したがって、作業中にスパナを投げないでください。ただし、bluezファームウェアアップデートとbluetoothctrアップデートを使用したStretchの最新のimgでこの問題を再現することは正直できません。 私は2枚のSDカードを持っています。1枚は2017年4月にJessieとPulseAudioを実行して最初に投稿してからです。 そして今日、Stretch(9.4)とALSAblueを実行する2枚目のSDカードを作成しました。

Stretchでは、物事は完璧です。Bluetoothスピーカーを介してオンラインストリームを再生しています(つまり、wifiを使用しています)。 Wlan0が起動しているとき、ジェシーの古いカードはまだひどくパチパチ音を立てます。

セットアップのいくつかのトリックを詳しく説明したこの人物の功績:
ミシェル

私はvlcを使用してテストしたので、次のように使用するalsaデバイスを指定する必要があります。
--aout = alsa --alsa-audio-device = "bluealsa"

誰かがフレッシュインストールからこれを試してアドバイスしてもらえますか?

bluez 5.43-2 + rpt2 + deb9u2 armhf
bluez-firmware 1.2-3 + rpt6 all
bluealsa 0.7 armhf
bluetoothctl:5.49
raspberrypi-ブートローダー1.20180417-1armhf
raspberrypi-kernel 1.20180417-1 armhf

再起動後にbluealsaを起動するか、自動起動することを忘れないでください:sudo systemctl enable bluealsa)

bluetoothctl:5.49をどのようにインストールしましたか? ソースコードからコンパイルしないことを望みます。

うん、ソースから(共有されたリンクによる)なぜこれに関する懸念?

リポジトリを使用して更新するのが好きです。また、リポジトリの構築にのみ必要なパッケージを回避するためです。 あなたの投稿のリンクはどこにありますか?

実際には7週間前にリリースされた5.50バージョンがあります。 このルートを進む場合は、試してみる価値があるかもしれません。 しかし、はい、5.49 +が公式のapt-getフローに入るのを待つ必要があります。

Bluez5.50でスタッターがないことを確認できます。

涼しい。 Raspbianビルドをアップグレードするのに何が必要かを調べます。

手順は次のとおりです。

  1. 依存関係をインストールします。
    sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
  1. BlueZソースコードの最新バージョンをダウンロードします。
    wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz

  2. ダウンロードしたファイルを解凍します。
    tar -xf bluez-5.49.tar.xz && cd bluez-5.50/

  3. 構成、設定。
    ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental

  4. ソースコードをコンパイルします。
    make -j4

  5. インストール。
    sudo make install

  6. ユーザーをBluetoothグループに追加する必要があります。
    sudo adduser pi bluetooth

  7. BlueZインストールで上書きされたDbusBluetooth構成ファイルを復元する必要があります。
    sudo nano /etc/dbus-1/system.d/bluetooth.conf

これを<policy user="root">セクションに追加します。
<allow send_interface="org.bluez.AlertAgent1"/>
<allow send_interface="org.bluez.ThermometerWatcher1"/>
<allow send_interface="org.bluez.HeartRateWatcher1"/>
<allow send_interface="org.bluez.CyclingSpeedWatcher1"/>

そしてこれはその後:
<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>

  1. RaspberryPiを再起動します
    sudo reboot

@amilinoまだ私のために働いていません。 Wi-Fiをオンにしても、オフにしても吃音が続きます。 私はこのスレッドのほとんどすべてを試しましたが、btドングルを備えたrpi b +からオンボードBluetoothを備えたrpi3 b +に切り替えても、まだ吃音があります。

実際、吃音はあまりありません。 データのチャンクを取得し、ビットが欠落している状態で再生が速すぎて、座って次のチャンクを待つようです。

最新のBluez5.50を除いて、前述の@StudentSAと同じ構成です。 私もこのチュートリアルに従いました: https

@amilino完璧に動作しました、ありがとう。

このチュートリアルの唯一の副作用は、RPI BluetoothでLinuxマシンを接続すると、オーディオが再生されないことです。 誰かがより良いチュートリアルを知っているなら、私に知らせてください。

サイプレスはWiFi / BT干渉を調査しており、「オーディオの途切れを完全に修正した」と主張するいくつかの新しい「NVRAM」ファイル設定を考え出しました。 43430(3B、ZeroW)と43455(3B +)でも同じ設定を使用できます。

  1. 「NVRAM」テキストファイルを見つけます。これは/lib/firmware/brcm/brcmfmac<dev>-sdio.txtにあり、 <dev>はそれぞれ43430または43455です。 変更を元に戻す(またはエラーから回復する)のを容易にするために、安全な場所にバックアップコピーを作成します。

  2. テキストエディタでファイルを開き、一番下までスクロールして(純粋にきれいにするために、これらの設定はおそらくどこにでも移動できます)、次を追加します。

    # Experimental Bluetooth coexistence parameters from Cypress
    btc_mode=1
    btc_params8=0x4e20
    btc_params1=0x7530
    
  3. リブート。

私に説明したように、これらの設定は、WiFiをより長くスリープさせ、Bluetoothを待機させることができる最大時間を短縮することにより、Bluetoothにより多くの通信時間を許可します。

これらを新しいデフォルト値にするかどうかを決定するために、ポジティブかネガティブかにかかわらず、調査結果を報告してください。

興味を持ってこのスレッドをフォローしています。 私はPiZeroW / Raspbian Liteを使用して、Mopidyを使用してbluealsaを介してBluetoothスピーカーにインターネットストリームを再生しています。 今日まで、このスレッドでは吃音の問題を解決したものはありませんでした。

bluez5.50-違いなし
WiFiを無効にしてUSBイーサネットアダプターを使用する-変更はありますが、数分ごとに途切れます

NVRAM設定の変更-これまでのところ完璧に思えます。 WiFiの使用に戻りましたが、Bluetoothオーディオに途切れはありません。 まだbluez5.50を使用しています。 吃音が出た場合は報告します。

これまでのところ肯定的な結果。 Bluez5.50も使用しています。 ボード-RPi3

解決策としてスローされた以前のmodprobeパラメーターを削除しました。 これまでのところ吃音はありません。 iperf3を使用すると、wifi無線から時間を盗んでいることが確実にわかります。 しかし、余分なデータをプッシュする場合でも、途切れることはありません。

ブルートゥースを再生しながら、

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  22.8 MBytes  19.2 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  22.7 MBytes  19.1 Mbits/sec                  receiver

再生を停止し、スピーカーを切断します。

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  55.3 MBytes  46.4 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  54.9 MBytes  46.0 Mbits/sec                  receiver

dtoverlayを介してBluetoothを無効にする

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  58.1 MBytes  48.8 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  57.0 MBytes  47.8 Mbits/sec                  receiver

raspi 3Bで動作し、途切れることはなく、オーディオ(a2dp)の再生中にwifi経由で大きなファイルを移動することもできますが、大量のファイルが表示されます
「Bluetooth:hci0:フレームの再構築に失敗しました(-84)」ミリ秒単位で!

$ dmesg
[ 2331.758484] Bluetooth: hci0: Frame reassembly failed (-84)
[ 2331.758689] Bluetooth: hci0: Frame reassembly failed (-84)
[ 2331.758750] Bluetooth: hci0: Frame reassembly failed (-84)
[ 2331.758833] Bluetooth: hci0: Frame reassembly failed (-84)

これを数時間試しています。 以前よりはましですが、完璧ではありません。 私は今、しばしば20〜30分の連続再生を取得しますが、その後、吃音が再開し、オーディオストリームを停止して再開します。 また、吃音が始まると、私のsshセッションが一時停止します。 プレーヤーにログインしてバッファリングのタイミングを教えてくれるので、オーディオバッファリングではありません。

RPi3 b +に切り替える必要があるかもしれませんが、まったく問題ありません。

RPi3 b +に切り替える必要があるかもしれませんが、まったく問題ありません。

正確には要点ではありませんか? この変更により、音声の途切れが「完全に修正」されたと言われています。 私はそれが事実ではないようだと報告しているだけです。 3B +はWとは異なるチップセットを使用しているため、設定を少し調整する必要があるかもしれません。

はい、同意しますが、問題の主題を見ると、RPi3に関連しています。 この議論はとにかく長すぎます。おそらく、PiWに関連する新しい別の問題を開くのがよいでしょう。

このソリューションはZeroWでも機能します。 問題なく2時間以上プレイしています。

私がZeroWで経験している問題は、おそらくBluetoothがiMacのBluetoothとまったく同じ範囲にないことに起因していると思います。 スピーカーをPiに近づけると、インターネットラジオを4時間問題なく再生しています。 信号がキッチンに届くように、Piを再配置する必要があります:)

すべてのフィードバックに感謝します。これは、これらの設定が少なくとも大幅な改善であり、リグレッションがないことを示唆しています。 あなたの経験が他のことを示唆しているなら、遠慮なくチャイムを鳴らしてください、しかし私はこれらを新しいデフォルトにすることを計画しています。

肯定的な結果をもたらすもう1つの観察結果を追加できます。 私はZeroWでBluetoothとWi-Fiの両方を同時に約1時間使用していますが、途切れることはありません。 これを新しいデフォルトにすることで間違いなく+1。

ここでは、rPiがa2dpソースまたはa2dpシンクとして使用されている場合の問題についてのみ説明しますか?

私はrPi3をBluetoothシンクとして使用しようとしています(つまり、電話からrPiにオーディオを再生しようとしています)。吃音が非常に激しいため、再生された曲をほとんど認識できません。 Wi-Fiは使用していません。 私は外部BTアダプターで試しました-運がありません。 ただし、BTアダプターが異なると、スタッターが異なります(異なるバッファーサイズが使用された場合など)。

別の問題を報告する必要がありますか?

@edio RPi ZeroWをシンクとして使用し、Bluetooth経由で電話からRPiにオーディオをストリーミングしています。 昨日まで、私もひどい吃音がありましたが、最近提案された解決策はそれを解決したようです。

@ paul-1によって提示されたソリューションは、Pi3 +ボードで機能します。 Wi-Fiは普通に使えて、良いBTオーディオストリームを楽しむことができます

こんにちは、
読み取り専用のsquashFSシステムを備えたLibreelecシステムでNVRAMソリューションを使用する方法を知っている人はいますか? 私が理解しているように、次のディストリビューションがシステムファイルを上書きするため、読み取り専用です。

@bwims

RPi3:

mkdir /storage/.config/firmware/brcm
cp /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt /storage/.config/firmware/brcm

RPi3 +:

mkdir /storage/.config/firmware/brcm
cp /usr/lib/firmware/brcm/brcmfmac43455-sdio.txt /storage/.config/firmware/brcm

/storage/.config/firmware/brcmファイルを編集し、再起動します。

または、Kodi18で最近のLibreELEC9.0テストビルドを使用できます。これには、この修正がすでに含まれています: https ://forum.kodi.tv/showthread.php?tid = 298461

このスレッドの誰かが、修正が適用された後も時々ドロップアウトがありますか? 私が最初に持っていた吃音ほどひどいものではありませんが、それでもBluetoothシンクは私にはかなり使用できません。数秒ごとにクリックがバーストし、それぞれがpulseudio出力の一連のレコードに対応します。

E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-3)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-3)
E: [bluetooth] module-bluez5-device.c: SBC decoding error (-2)

そしてbluezから私は得る

Aug 26 17:49:07 mu kernel: Bluetooth: hci0: Frame reassembly failed (-84)
Aug 26 17:49:07 mu kernel: Bluetooth: hci0: Frame reassembly failed (-90)
Aug 26 17:49:07 mu kernel: Bluetooth: hci0: Frame reassembly failed (-84)
Aug 26 17:49:07 mu kernel: Bluetooth: hci0: Frame reassembly failed (-84)
Aug 26 17:49:07 mu kernel: Bluetooth: hci0: SCO packet for unknown connection handle 50346

クリックとポップが最大1分間続くと、それが消え、多くの場合数時間かかります。 スピーカーがPiから離れていると、さらに悪化します。

@MilhouseVHありがとうここに私を連れて行き

libreELEC(Rpi 3+)の参考までに、修正によりスタッターは解消されますが、映画がWiFi経由で提供されている場合、許容できないオーディオ遅延が発生します。 プラットフォームの制限だと思います。

オーディオの遅延は固定されていますか? オーディオディレイを使って修正できますか?
https://kodi.wiki/view/Video_playback#Audio_and_Subtitle_Settings

データを組み込みのwlan0からeth0に移動すると、Bluetoothの問題が解決されました。 残念ながら、私たちはケーキを持ってそれを食べることもできません:(
機会があれば、上記のNVRAMの提案を試す必要があります。

RPi 3+であらゆる種類の修正を試した後も、まだ途切れがちです。 Wi-Fiを完全に無効にし、ワイヤーを使用します。 :(

上手。 別のデータポイントになれることを嬉しく思います。 NVRAMの修正により、zero-wを使用してA2DPソースを構築するプロジェクトが完全に変わりました。 私は昨日プロジェクトを開始しましたが、このスレッドに出くわすまで、wifiの使用中はpulseaudioとbluez-alsaの両方が完全に使用できませんでした。 Wi-Fiがないことも、目を見張るものになります。 チップソースを掘り下げて修正を見つけてくれた人々に感謝します。

CPUが過負荷になったとき(Bluetoothの再生中に更新を実行するなど)、まだ少しポップと喘鳴がありますが、それ以外はまったく別のマシンです。 ちなみに、私はArch 4.14.90、Bluez 5.50、Pulseaudio12.2を実行しています。 つまり、これは当面は機能するはずであり、本当に古い互換性のないソフトウェアを実行することを伴うソリューションではありません。 <3

NVRAMファイルの設定を編集しました。
/usr/lib/firmware/updates/brcm/brcmfmac43430-sdio.txt
/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.txt

@acegallagher :あなたのコメントがわかり

ある種のソリューションがある場合、RPIでそれを実行するために必要な手順は何ですか?

@pelwell

更新されたNVRAMファイルは、2018年8月からRaspbianの更新に含まれています。または、直接ダウンロードすることもできます。

  • Pi3BおよびPiZero Wの場合は43438: https ://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm/brcmfmac43430-sdio.txt
  • Pi3 3B +およびPi3A +の場合は43455: https ://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm/brcmfmac43455-sdio.txt

それらを/ lib / firmware / brcmフォルダーにコピーします( sudo cp ...する必要があります)。

申し訳ありませんが、それは機能しません。 まだWifiで吃音があります。

残念です。 インストール後に再起動しましたか?

残念ながら、共有アンテナで達成できることには限界があります。 PiからAPおよび/またはBTデバイスまでの距離を変更してみましたか?

はい、ここ数ヶ月これに苦労しています。 ネットワークケーブルに切り替えましたが、もう問題ありません。

こんにちは、
更新された/usr/lib/firmware/updates/brcm/brcmfmac43430-sdio.txtと友人、そしてはい、再起動しました:-)、オンボードオーディオにはないUSBオーディオのアンダーランが聞こえます(5秒ごと)とか、ぐらい)。
Wi-Fiを使用せず、すべてイーサネット。

一方、最初にifconfig wlan0を実行すると、すべて問題ありません...!
ああ、いや、そうではない。 はるかに少ない

WiFiを使用したBluetoothオーディオに関する問題で、イーサネットを使用したUSBオーディオの途切れを報告していますか?

おっと!

このBluetooth + WiFiの問題により、キーボードが1つのキーを上下に複数回キーストロークする問題が発生しています。

@ pratt-jeremyそれはワイヤレスキーボードですか?

私は同じ問題を抱えています。 Pi B3、B3 +、およびゼロでArchを実行します。 すべて同じ症状を示します:a2dpでの途切れ途切れの遊び。 Archはここにリストされているファームウェアを更新していませんが、最初に手動で更新しました。 これらの3台のマシンでオンボードBTを使用すると、Bluealsaは実行中のバッファーについて不平を言い、スパートで音楽を再生します。 ジャーナルには、実行中のバッファが表示されます。 USBドングルを使用すると、すべて期待どおりに機能します。 他に何か試すことはできますか? fwiw、私のカーネルは4.19.32です

BluetoothとwifiをRPiに配置することは、雌豚の耳から絹の財布を作るようなものであることは私には明らかなようです。

Raspberry Pi開発チームは、wifiでビデオを再生しながら、Bluetoothでオーディオを再生することは、馬力/帯域幅が不足しているため、単にサポートされていないことを述べる必要があります。

初日から、Piは、学校で子供たちに教えるためのBBCmicroの最新の代替品として宣伝されてきました。 Kodiは大きなボーナスでした。 私はこの考えをあきらめました。 キャラバンのオーディオシステムへのBluetoothリンクを備えたパイトップに映画を提供したかったのですが、今は映画のハードドライブをUSBポートに接続するだけです。 Wifiも吃音もありません。 悲しいですが、それほど不便ではありません。

これは、オンボードBTを機能させるために実行する適切なコマンドですか?
/ usr / bin / btattach -B / dev / ttyAMA0 -P bcm -S 3000000
これは、Bluez5.50がデフォルトでインストールされているArchLinuxのサービスファイル内のコマンドです。

だから私はwifiが有効でアクティブなB3 +にオーディオをストリーミングしています(私はssh経由でログインしています)。 ArchLinuxを実行しています。 hciattachコマンドをインストールするには、bluez-utils-compatをインストールする必要がありました。 ラスピアンはすでにこれを持っていると思います...

cat /proc/asound/card0/pcm0p/sub0/hw_params 
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (352800/8)
period_size: 4410
buffer_size: 22050

デフォルトのBluez5.50パッケージには、ArchがBTアダプターをオンにするために使用するbtattachがあります。 これは機能しませんでした。 私が得たのは吃音だけでした。 このArchpi-bluetoothパッケージは、次のコマンドを要求します。
ExecStart=/usr/bin/btattach -B /dev/ttyAMA0 -P bcm -S 3000000
機能したコマンドは、古いバージョンのパッケージのものでした。
ExecStart=/usr/bin/hciattach -n /dev/ttyAMA0 bcm43xx 921600 noflow -
これが「正しい」かどうかはわかりませんが、オンボードアダプタを使用してBluetoothをスムーズに再生するのはこれが初めてです。

混乱を避けるためだけに。 Broadcom WiFi tech、20166月にサイプレスに買収されました。それ以来

  • BCM43438はCYW43438です
  • BCM43455はCYW43455です

@ pratt-jeremyそれはワイヤレスキーボードですか?

@ JamesH65はい、これはオーディオ用のBluetoothキーボードですが、言及したいと思いました。 Wi-Fiをオフにすると、Bluetoothキーボードは完全に機能しました。 押さなかった繰り返し文字はありません。

おそらくあなたのディストリビューションは完全に最新ですか?

おそらくあなたのディストリビューションは完全に最新ですか?

私がここに投稿したときは最新でしたが、3月だったので、おそらく今では古くなっています。更新して、まだ発生しているかどうかを確認します。

rfkillでWiFiソフトがブロックされたRPI4。 PulseaudioA2DPではまだ途切れがちです。

このページは役に立ちましたか?
0 / 5 - 0 評価