Linux: Audio bluetooth Pi3 gagap dengan Wi-Fi diaktifkan

Dibuat pada 11 Apr 2016  ·  143Komentar  ·  Sumber: raspberrypi/linux

Halo,

Saya menguji dengan streaming musik menggunakan a2dp melalui bluetooth di Pi3. Ketika Wifi diaktifkan, saya mendapatkan kekurangan buffer konstan dengan Pulseaudio (Blueman menunjukkan hilir sekitar 34kB / s). Segera setelah saya menonaktifkan antarmuka Wifi (ifdown wlan0), audio mulai diputar normal dan hilir sekitar 42kB / s (yang merupakan audio stereo berkualitas tinggi yang benar jika saya melihat http://soundexpert.org/news/-/ blog / bluetooth-audio-kualitas-a2dp).
Juga mencoba membuat buffer jauh lebih besar, mengubah jenis resampling, penjadwalan realtime dll. Juga mencoba Pulseaudio terbaru, tidak ada perbedaan. Sepertinya itu masalah Raspberry.

Pikiran pertama itu karena Wifi dan Bluetooth keduanya menggunakan UART, tetapi itu tidak benar (dan akan terlalu lambat jika Wifi melebihi 921600 baud jika saya melihatnya dengan benar). Mereka masih berbagi chip yang sama (BCM43438). Apakah ada alasan yang diketahui mengapa saya (dan juga mendengar orang lain) mengalami masalah ini?

Bluetooth Issue Bug Waiting for internal comment Wifi Issue

Komentar yang paling membantu

Saya memutuskan untuk menggali sedikit tentang driver. Membaca kode memberi saya beberapa wawasan tentang beberapa parameter modul yang didukung, dan dengan beberapa eksperimen dan pendekatan senapan, saya tampaknya mendapatkan bluetooth + wifi bekerja dengan sempurna dalam hubungannya satu sama lain.

Saya dapat melakukan speedtest dari pi melalui wifi, sementara ponsel saya memutar audio A2DP melalui pi, dan saya tidak mendapatkan satu kesalahan pun.

Saya membuat file /etc/modules.d/bt-wifi-fix.conf

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

debug=0x00000004 mengaktifkan pencatatan tingkat info, yang sebenarnya tidak diperlukan.

fcmode=2 tampaknya mengaktifkan beberapa jenis kontrol aliran perangkat keras, yang tampaknya membuat segalanya sedikit lebih baik, tetapi tetap tidak hebat.

feature_disable=0x96 adalah opsi yang sepertinya benar-benar memperbaikinya. Saya tidak yakin, tapi saya _pikir_ 0x96 mencoba menonaktifkan semua fitur opsional, oleh karena itu mengapa saya mengatakan 'pendekatan senapan' di atas. Dengan sedikit kesabaran, Anda mungkin dapat mempersempitnya menjadi sebagian kecil fitur.

Sejauh ini, ini bekerja dengan sempurna untuk saya - saya akan melaporkan kembali jika saya dapat mempersempit semuanya lebih jauh.

EDIT: Saya mendapatkan sedikit kesalahan ketika saya pertama kali memulai streaming, tetapi sama sekali tidak ada yang tampaknya bergantung pada apakah saya menggunakan wifi atau tidak.

Semua 143 komentar

Saya mengalami masalah yang persis sama. Menonaktifkan WLAN0 memperbaiki masalah audio. Namun, saya sangat ingin bisa menggunakan wifi ...

Di sini juga sama. Butuh waktu 3 hari, 2 distro untuk mengetahui itu dibangun di WiFi. Kesalahan yang sama muncul ketika saya menggunakan tongkat WiFi secara langsung di Port USB. Saat saya menggunakan kabel koneksi USB dengan stik USB semuanya berfungsi dengan baik. Jadi menurut saya itu berasal dari antena bawaan bahwa dua layanan 2,4 GHz saling mengganggu. : - /

Saya bisa membuat A2DP berfungsi dengan menonaktifkan wifi on-board dan menggunakan adaptor USB Wi-Pi, tanpa kabel ekstensi apa pun.

Ini memunculkan pertanyaan yang agak menarik: Apakah chip WiFi terintegrasi mendukung koeksistensi Bluetooth, apakah driver mendukung ini, dan apakah berfungsi dengan benar? Berdasarkan apa yang saya lihat dari berbagai sumber, ada latensi yang jauh lebih baik ketika Anda menonaktifkan WiFi on-board atau menonaktifkan Bluetooth on-board dan menggunakan adaptor USB sebagai gantinya, dan itu terdengar seperti chip on-board. tidak menerapkan koeksistensi BT dengan benar, atau driver tidak mendukungnya dengan benar.

BCM43438 memiliki antarmuka koeksistensi antara antarmuka WiFi dan Bluetooth - tidak diperlukan dukungan perangkat lunak.

@Ferroin Dari pengalaman saya, saya akan mengatakan / pada dasarnya / ya, meskipun saya bukan sumber otoritatif dan saya tidak menuntut banyak di sisi Bluetooth .... Saat mengembangkan aplikasi sentral dan periferal Bluetooth LE pada Pi 3 I menjalankan sesi VNC X, 2x sesi SSH dan berbagi NFS dipasang semua melalui WiFi dan semuanya baik-baik saja.

+1 tentang ini, seperti yang baru saya temukan malam ini. Menurunkan wlan0 dan audio diputar dengan baik. Adakah yang mendapat kabar baru sejak Agustus tentang apa yang terjadi di sini dan jika ada perbaikan?

Beri saya +1 juga, "ifdown wlan0" dan streaming pulseaudio dengan baik melalui a2dp

+1, baru saja diperbarui hari ini, menggunakan speaker bluetooth Anker Sound Core. Dimainkan dengan indah jika saya mematikan wifi, tetapi itu adalah solusi yang cukup besar. Ini menjengkelkan tetapi bisa diterapkan untuk proyek ini (OKE FINE, saya akan terhubung melalui HDMI bukan vncserver I TAMU ) tetapi saya juga menunggu perbaikan karena hal itu sangat membatasi kemampuan saya untuk membuat proyek saya bergerak. VNCserver adalah suatu keharusan.

1 yang membuat saya pusing mencari tahu masalah ini!

Saya membutuhkan WiFi, jadi saya hanya:
1) Gunakan dongle USB sebagai adaptor WiFi
2) Nonaktifkan adaptor WiFi onboard di / etc / network / interfaces

Tidak ada lagi masalah suara.

Saya senang melihat kemajuan dalam hal ini, tetapi sebagai pengingat, Anda dapat Berlangganan ke utas ini dan menambahkan reaksi ke posting asli. Hal ini tidak dianjurkan untuk memasukkan respon dari 1.

Setuju bahwa tidak ada WiFi yang melumpuhkan ke dasar Pi3. Menambahkan dongle usb mengalahkan salah satu keuntungan besar dengan Pi3 dari WiFi / BT onboard. :-(

Saya juga telah menguji perilaku dan menghadapi masalah yang sama seperti yang dilaporkan di sini. Berencana menambahkan adaptor WiFi USB tambahan untuk mengatasi masalah tersebut. Berharap pi akan mendukung WiFi kedua tanpa banyak masalah.

Saya kira Zero W akan mengalami masalah yang sama mengenai Bluetooth dan WLAN, karena menggunakan chip yang sama?
Menggunakan perangkat USB sebagai solusi tidak semudah itu dengan Zero W.

Apakah ini terjadi pada semua orang Raspberry Pi? Bagaimana musiknya dimainkan? (Pi hat DACs, sound cards, BCM?) Untuk apa Anda menggunakan Wifi?

Karena, saya tidak punya masalah dengan Pi3 saya

Hanya menjadi masalah saat keduanya pergi. WiFi secara aktif mentransmisikan dan kemudian mencoba menggunakan Bluetooth. Bluetooth + LAN tidak masalah. Jadi kebanyakan orang dan aplikasi tidak akan melihat masalah tersebut.

Saya telah menambahkan penerima WiFi sekunder dan menjadikannya utama dan menggunakan WiFi tertanam sebagai penerima bluetooth. Ini adalah cara termurah untuk membuatnya berfungsi.

Bluetooth + LAN tidak masalah.

Tolong tunjukkan port LAN pada Pi0W.

Adakah yang mencoba mengubah pulseaudio agar memiliki prioritas yang lebih tinggi?

Ya, saya mencoba dengan prioritas lebih tinggi tanpa perbedaan hasil yang terlihat.

Hai,
Bisakah Anda memberi tahu saya konfigurasi yang bisa diterapkan jika Anda memilikinya
masalah di atas yaitu Wifi - diperlukan, pemasangan Speaker Bluetooth di A2DP
mode.
Dari profil Anda, Sepertinya Anda banyak bermain-main dengan itu
daerah.

Terima kasih.


Bersulang,
Pradeep
http://pradeepclicks.com/

Pada hari Senin, 6 Maret 2017 jam 21:29, Brett Reinhard [email protected]
menulis:

Adakah yang mencoba mengubah pulseaudio agar memiliki prioritas yang lebih tinggi?

-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/raspberrypi/linux/issues/1402#issuecomment-284439625 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ADb1rV3_oFd2_qM8-2yHoDdLGeFK3d5dks5rjC1ngaJpZM4IExoX
.

Saya juga mencoba menyelesaikan masalah ini. Potongannya tampaknya sedikit berubah di antara speaker / headphone BT yang berbeda, tetapi masih ada menggunakan dongle WiFi dan menonaktifkan WiFi onboard. Meskipun menggunakan dongle BT, kepingan masih ada saat memutar mp3 lokal atau menggunakan Pithos (Pandora). Saya juga menggunakan file mp3 dengan bitrate lebih rendah, dan kepingannya meningkat.

Saya mengunduh beberapa file sampel dari 16 hingga 64kbps dan memutarnya menggunakan VLC di RPi3. Saya menjalankan pulseaudio dan menghubungkan ke beberapa earbud bluetooth murah.
http://www.digitalprosound.com/Htm/WebAudio/2000/Oct/MP3bitrates3.htm

Dengan hanya aktivitas WiFi latar belakang, setiap file diputar, tetapi menunjukkan beberapa potongan dengan bitrate yang meningkat. Kemudian, saya menjalankan pembaruan apt-get dan ketika sedang berjalan memainkan file 16k. Sangat berombak. Sama untuk yang lainnya. Faktanya, aktivitas wifi memiliki lebih banyak efek daripada bitrate file.

Sekarang pasang dongle WiFi dan nonaktifkan Wifi onboard (sudo ifdown wlan0). Coba lagi.
Semua file benar-benar lancar. Bagaimana dengan saat melakukan download melalui Wifi? Juga mulus pada 64kbps.
Menjalankan Pithos (Pandora)? Halus. Ini tidak terjadi tadi malam, jadi saya tidak yakin saya punya solusi yang solid.

Saya mengalami masalah yang sama.

Saya menyelesaikannya dengan menggunakan dongle Bluetooth yang sangat sukses.
Teknologi Plugable USB-BT4LE

Masih tidak senang dengan ini, apa gunanya memiliki fitur yang tidak bisa digunakan.

Satu hal yang harus Anda pastikan adalah Anda mematikan pemindaian bluetooth (scan off) saat berada di prompt bluetoothctl. Itu menyelesaikan masalah saya dan saya dapat melakukan streaming dengan baik dengan Pi Zero W, Pi3, menggunakan wifi / BT built-in dan Pi Zero + redbear IoT PiHat.

@Michiman : Saya 100% yakin bahwa saya mencobanya tanpa pemindaian pada saat yang bersamaan. masih bermasalah. Saya menggunakan rpi3 sekalipun.

+1
sama disini sudah pasti kombinasi dari wifi onboard + bluetooth.
Penyiapan: pi nol w + phat dac

Aktif bluetooth + wifi onboard -> audio gagap sangat buruk
wifi onboard dinonaktifkan -> audio diputar dengan sempurna tanpa gagap

Saya kira saya perlu mulai menyelidiki bagaimana ini semua bekerja pada tingkat rendah- yang merupakan tantangan yang bagus untuk mempelajarinya dengan benar

Saya juga mengalami masalah suara yang mengerikan saat mencoba streaming audio menggunakan tutorial a2dp berdasarkan pulseaudio.
Saya mencoba saran untuk menyetel ukuran buffer dan menonaktifkan WLAN internal.
Kualitas suara meningkat pesat, tetapi masih belum sampai pada titik di mana saya akan menggunakan ini sebagai perangkat pendengar yang sebenarnya - paling banter saya akan mendengar bunyi letupan atau gagap setiap beberapa detik.

Saya menemukan proyek github lain yang mengatasi masalah ini dengan menghindari pulseaudio sepenuhnya:
https://github.com/lukasjapan/bt-speaker
Setelah menonaktifkan WLAN internal, audio cukup masuk akal menggunakan metode itu, dan tidak perlu masuk saat boot (saya menjalankannya di latar belakang gambar retropie saya).

@maklotski , Kami telah menetapkan bahwa masalah ini disebabkan saat Wi-Fi dan Bluetooth aktif pada waktu yang sama. Ya jika Anda tidak membutuhkan WiFi maka solusinya adalah menonaktifkan ini. Namun saya perlu streaming audio dari online jadi WiFi sangat penting. Saya terkejut bahwa RPF belum merilis informasi yang berguna tentang masalah ini hingga saat ini.

Kami telah merilis semua informasi berguna yang kami miliki, yaitu tidak terlalu banyak. Cypress (was Broadcom) memiliki dua tumpukan driver paralel - dhd dan brcmfmac. Mereka seharusnya hampir menyelesaikan driver dhd yang diperbarui yang meningkatkan koeksistensi, tetapi a) masih diuji dan b) kami menggunakan brcmfmac. Segera setelah ada driver brcmfmac yang ditingkatkan, kami akan mendorongnya.

Tidak ada gunanya menambahkan +1 ke masalah ini. Itu hanya membuat daftar komentar lagi tanpa alasan. Segera setelah kami memiliki informasi apa pun, itu akan diposting.

+1 untuk terus menempatkan ini di radar dan semoga meningkatkan prioritas
untuk memperbaiki

Untaian github ini akan diperbarui ketika informasi yang relevan dengan masalah tersebut tersedia. Kami agak bergantung pada Broadcom (sekarang Cypress) yang menyediakan pembaruan driver karena dukungan koeksistensi on-chip adalah fungsi dari firmware chip atau pengaturan firmware.

Merendahkan rasio signal-to-noise pada thread dengan respons spam hanya mengganggu. Komentar yang tidak menawarkan apa pun untuk diskusi seputar penyelidikan atau penyelesaian masalah kemungkinan besar akan segera dihapus.

Saya menulis sedikit script untuk menggunakan inotify untuk menghidupkan dan mematikan wlan0 jika bluetooth terhubung / terputus. Baiklah
sebuah solusi tetapi saya bisa menerimanya.

`#! / bin / bash

sementara benar
melakukan
RES = inotifywait -q -e CREATE,DELETE /dev/input/
kasus "$ RES" di
"/ dev / input / HAPUS event1")
ifconfig wlan0 up
;;
"/ dev / input / CREATE event1")
ifconfig wlan0 down
;;
esac
selesai &
`

Jadi, inilah pekerjaan (sepanjang jalan) yang ingin saya bagikan dengan mengorbankan ditertawakan.
Jalankan pacat /dev/zero di latar belakang
Sekarang putar beberapa audio dan setelah crackling berhenti + -30 detik kemudian putar beberapa audio lagi dan nikmati pemutaran yang jelas sampai Anda menghentikan pacat.
Jika Anda khawatir tentang semua nol yang terbang di atas bluetooth, maka mungkin pertimbangkan untuk memasang "pv" dengan:
sudo apt-get install pv
Jalankan perintah berikut di latar belakang sebagai gantinya cat /dev/zero | pv -qL 2k | pacat untuk membatasi angka nol ke bitrate tertentu.
Ingin tahu cara kerjanya untuk Anda.

Menarik sekali. Saya telah mengerjakan Pi Zero / W - No X11 tanpa kepala. Dan saya dapat menggunakan dua / tiga cangkang ssh melalui wifi, dan Bluetooth sebersih mungkin. Saya melihat bahwa polling yang berlebihan pada perangkat Bluetooth, (yaitu mendapatkan info Bluetooth) menyebabkan gagap. Sudahkah Anda mencoba boot ke cli?

Nah, saya baru menyadari bahwa komentar berikut tidak terlalu membantu tanpa konteks. Maaf, telah membenturkan keyboard sepanjang malam ----

1 - Pi Zero / W dan Pi 3 identik dalam hal Bluetooth / Wifi, setidaknya sejauh menyangkut kernel.
2 - Menjalankan Jessie Lite - baru saja diperbarui, dan kernel 4.9.29+
3 - Menjalankan NetBeans di desktop dan Debugging jarak jauh di Pi.
4 - Stress testing Frame rate dengan tampilan TFT --- benar-benar membuat SPI bus.
5 - Polling input event untuk layar sentuh dan membuang hasil ke stderr, yang disalurkan ke NetBeans - menguji jitter pada layar sentuh
6 - Menjalankan program contoh mpg123_to_out123 dari tarball mpg123 melalui Bluetooth yang memainkan "An Innocent Man" dari kartu SD milik Billy Joel.
7 - Tidak ada X11 yang terlihat.

Berlari sehalus pai, rasa raspberry. Sudah lama melakukan ini, aku bersenandung Billy Joel dalam tidurku.
Telah memperhatikan bahwa memaksa kueri untuk status koneksi Bluetooth membuat segalanya menjadi buruk.

Sarankan untuk menghapus kode "lainnya" sebanyak mungkin.

Hai,
pasti ada masalah serius dengan PI (Zero W) Bluetooth.

Saya memindahkan skrip python yang mendeteksi ponsel melalui bluetooth dari CHIP ke Pi Zero W.
Hasilnya gila, itu macet seluruh Wifi Rumah saya ketika Bluetooth diakses :-(

Skrip menggunakan perintah berikut untuk mendeteksi apakah ponsel dalam jangkauan:
result = bluetooth.lookup_name (mac, timeout = 5)

Saya menjalankan ini dalam satu lingkaran dengan dua telepon. Loop dimulai setiap 15 detik dan menguji kedua ponsel.
Saya pertama kali diberitahu bahwa a) SSH melalui Wifi terkadang tidak responsif dan b) Lampu LED WiFi saya terkadang tidak merespons setelah mengatur Pi Zero W.
Aneh, jadi saya coba ping ke Wifi Lights, hasilnya: Timeout sekitar 5 Detik setiap 15 detik.
Kemudian saya mencoba untuk melakukan ping ke PI Zero W: Ping kali sekitar 2000-4000ms selama jendela 5 detik itu, kadang-kadang bahkan waktu habis.

Jadi saya menonaktifkan skrip yang menjalankan deteksi bluetooth: Semuanya baik-baik saja.
Memulai ulang skrip: Waktu tunggu terjadi lagi.

Ini gila! Pemindaian bluetooth untuk telepon (Pada dasarnya ini adalah "apakah Anda di sana?" Ke perangkat bluetooth yang dipasangkan) pada dasarnya merusak seluruh Wifi Rumah saya.
Saya tahu bahwa Bluetooth dan Wifi berada pada frekuensi yang sama. Tetapi Bluetooth distandarisasi untuk menggunakan lompatan frekuensi yang ekstensif untuk mencegah gangguan semacam itu. Tidak demikian halnya dengan Pi Zero W?

Ini pasti dapat direproduksi, coba saja skrip python di bawah ini.

Tebakan terbaik saya tentang alasannya: Radio bluetooth mengganggu Wifi, bukan sebaliknya. Penyebabnya bisa menjadi masalah pada tumpukan bluetooth terkait dengan frekuensi hopping. Ini juga akan menjelaskan masalah audio bluetooth yang dilaporkan: ketika bluetooth tetap berada di satu frekuensi, wifi kemungkinan besar akan mengganggu sinyalnya.
Namun, saya mungkin salah, saya tahu WiFi dengan cukup baik karena saya melakukan PhD saya pada topik yang berhubungan dengan Lapisan Phy Wiifi, tetapi saya bukan ahli dalam Bluetooth Phy.


Skrip pengujian python pendek yang mereproduksi masalah. Cukup ping Pi saat menjalankannya.

waktu impor
impor bluetooth
mac = "00: 00: 00: 00: 00: 00"
sementara Benar:
print ("Cari Bluetooth untuk% s ..."% mac)
mencoba:
result = bluetooth.lookup_name (mac, timeout = 5)
kecuali bluetooth.btcommon.BluetoothError sebagai e:
cetak ("\ nERORR: Permintaan Bluetooth gagal, kesalahan:% s"% e)
print ("Hasil:% s adalah:% s"% (mac, result))
waktu tidur (15)

Besok, (Senin malam EST), jika Anda mau, saya akan memposting youtube yang menunjukkan seberapa baik kerjanya. Namun, hanya konfirmasi dua kali lipat / tiga kali lipat (hanya 5 menit yang lalu) ---- satu-satunya masalah yang terjadi selama "Dapat Ditemukan" dan "Pemindaian". Jika Anda membuat perangkat Anda tidak dapat ditemukan dan tidak secara aktif memindai (menemukan) WiFi dan Bluetooth berfungsi dengan baik bersama-sama pada Pi Zero W. Saya mendapatkan ping 4-5 ms yang stabil melalui WiFi saat terhubung melalui Bluetooth dan ssh. Perlu mencari cara untuk merekam suara untuk video youtube, tetapi saya dapat dengan jelas mendengarnya tanpa gangguan.

FWIW - Saya sedang mengerjakan aplikasi Bluetooth Audio, jadi ini benar-benar menjadi perhatian saya. Di aplikasi saya, saya mengumpulkan info perangkat yang terhubung untuk mendapatkan RSSI, dll. Saya harus mengeluarkan polling, karena masalah sudah diperhatikan oleh begitu banyak orang di sini.

Kecuali Anda mengendalikan semua aplikasi dalam sesi Anda yang mungkin melakukan polling (D-Bus) pada koneksi Bluetooth, Anda tidak dapat mengesampingkan mereka sebagai terlibat dalam masalah. Saya tidak menjalankan X11 - oleh karena itu saya lebih dekat dengan perangkat keras dan apa yang terjadi. Diberikan PulseAudio masih merupakan "kotak hitam", tetapi selain itu, saya pada dasarnya mengendalikan seluruh kesepakatan dan itu bekerja dengan cukup baik.

Sekarang - Saya tidak mengatakan bahwa firmware tidak memiliki masalah, tetapi pada kenyataannya, aplikasi harus berperilaku lebih baik.

Hei,
Saya akan sangat tertarik dengan video youtube jika Anda punya waktu :)
Saya juga menggunakan Pi Zero W, tetapi ketika saya menonaktifkan Wifi itu akan sedikit gagap ...

Hai, hanya catatan - Zero W saya menderita masalah yang sama - melewatkan audio BT saat streaming dengan wifi - bahkan untuk rilis 9.1 / Stretch dari Raspbian

Cypress berharap dapat meningkatkan "koeksistensi" antara WiFi dan BT, tetapi mereka telah berfokus pada beberapa masalah stabilitas WiFi terlebih dahulu.

Hai, ada pembaruan tentang ini?

Dimulai dengan gambar Raspbian Stretch terbaru, jalankan:

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

Ini akan menarik firmware Bluetooth baru dan BlueZ yang diperbarui, bersama-sama, akan meningkatkan koeksistensi WiFi dan Bluetooth.

Selagi Anda melakukannya, dapatkan kernel terbaru untuk meningkatkan keandalan Bluetooth:

sudo apt-get install raspberrypi-bootloader raspberrypi-kernel

Saya ingin melihat video berdampingan tentang kinerja BT / WiFi
bersama. Jika seseorang belum membuatnya, saya harus mengerjakannya.

Pada 7 Nov 2017 12:15, "Phil Elwell" [email protected] menulis:

Saat Anda melakukannya, dapatkan kernel terbaru untuk Bluetooth yang ditingkatkan
keandalan:

sudo apt-get install raspberrypi-bootloader raspberrypi-kernel

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/raspberrypi/linux/issues/1402#issuecomment-342554756 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AZCYY6u0Q45M19rAdGFM0WP4q6VXP0Zeks5s0JBOgaJpZM4IExoX
.

@pelwell Saya

Namun saya masih menghadapi masalah dengan suara yang dialirkan melalui bluetooth ke raspberry zero W saat wifi aktif. Jika saya mematikan wifi ( sudo iwconfig wlan0 txpower off ), itu berfungsi dengan baik dan tidak ada lagi crack yang terjadi.

Tolong beri tahu saya jika saya bisa membantu.

Saya menggunakan bt-speaker. Masalah terkait dilaporkan di sini: https://github.com/lukasjapan/bt-speaker/issues/4

Apakah Anda mengatakan bahwa Anda tidak melihat peningkatan?

sayangnya, tidak ada perbaikan :(

@pelwell Hanya untuk Anda ketahui, berikut versi yang diinstal:

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

Apakah ada yang mengalami jenis masalah yang sama dengan pengontrol PS3 (melalui bluetooth) menggunakan Retropie dengan wifi diaktifkan pada rpi 3? Saya memiliki apa yang tampaknya merupakan gangguan acak di mana terkadang pengontrol berfungsi dengan baik dan terkadang seolah-olah saya tidak menekan apa pun sama sekali. Agak sulit untuk memainkan game seperti itu!

Hari ini saya memperbarui Pi Zero W ke yang terbaru dan dapat mengonfirmasi bahwa masalahnya masih ada.
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 tampaknya memiliki masalah dengan beberapa koneksi, baik dengan BT + WiFi atau dengan dua koneksi BT:

Saat mematikan WiFi ( ifconfig wlan0 down atau dtparam=pi3-disable-wifi ) audio Bluetooth A2DP berfungsi dengan baik. Namun ketika dua perangkat terhubung, audio mulai tersendat-sendat.

Dengan adaptor USB Bluetooth eksternal, beberapa perangkat dapat terhubung melalui A2DP dan streaming audio, acara secara bersamaan.

Jadi saya berasumsi, ini adalah batasan chip, bukan perangkat lunak ... (Tapi saya ingin terbukti salah di pembaruan kernel di masa mendatang)

Pastikan Anda menjalankan firmware BT terbaru ( sudo apt-get update; sudo apt-get install bluez-firmware ) - ada beberapa perbaikan.

Saya terakhir melakukannya 2 hari yang lalu, apakah sudah berubah sejak saat itu?

-Ron


Dari: Phil Elwell [email protected]
Dikirim: Rabu, 24 Januari 2018 05.32
Ke: raspberrypi / linux
Cc: Ron Kuper; Manual
Subjek: [Eksternal] Re: [raspberrypi / linux] Pi3 bluetooth audio gagap dengan Wi-Fi aktif (# 1402)

Pastikan Anda menjalankan firmware BT terbaru (sudo apt-get update; sudo apt-get install bluez-firmware) - ada beberapa perbaikan.

-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub https://github.com/raspberrypi/linux/issues/1402#issuecomment-360088465 , atau nonaktifkan utas https://github.com/notifications/unsubscribe-auth/AC8KdHhcuhMFBE5j42nTMhwc5NJTfxocks5ZtNwahgaJpX .

Tidak - itu akan menjadi yang terbaru (1.2-3 + rpt1).

Terima kasih! Sementara itu, saya membeli dongle wifi USB sebagai solusi.

Adakah yang kebetulan tahu jika driver chipset seharusnya (secara teori) mengambil langkah-langkah untuk menghindari interferensi RF antara 2 radio ini?

-Ron


Dari: Phil Elwell [email protected]
Dikirim: Rabu, 24 Januari 2018 07.20
Ke: raspberrypi / linux
Cc: Ron Kuper; Manual
Subjek: [Eksternal] Re: [raspberrypi / linux] Pi3 bluetooth audio gagap dengan Wi-Fi aktif (# 1402)

Tidak - itu akan menjadi yang terbaru (1.2-3 + rpt1).

-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub https://github.com/raspberrypi/linux/issues/1402#issuecomment-360113610 , atau nonaktifkan utas https://github.com/notifications/unsubscribe-auth/AC8KdIfVVVwDf2lOlcGQTXppx5A0jxxzvbIExpZM

Seharusnya (ada saluran koeksistensi antara apa yang pada dasarnya adalah dua perangkat terpisah dalam paket yang sama), dan firmware ini merupakan peningkatan yang signifikan dari firmware pengiriman asli, tetapi berbagi antena tampaknya menjadi tantangan.

@spalthammer menulis skrip yang akan berfungsi sebagai solusi yang bagus:

Saya menulis sedikit script untuk menggunakan inotify untuk menghidupkan dan mematikan wlan0 jika bluetooth terhubung / terputus. Baiklah
sebuah solusi tetapi saya bisa menerimanya.

`#! / bin / bash

sementara benar
melakukan
RES = inotifywait -q -e BUAT, HAPUS / dev / input /
kasus "$ RES" di
"/ dev / input / HAPUS event1")
ifconfig wlan0 up
;;
"/ dev / input / CREATE event1")
ifconfig wlan0 down
;;
esac
selesai &
`
Bisakah seseorang menjelaskan kepada seorang pemula bagaimana menerapkan skrip ini? Ini akan bekerja dengan baik untuk saya karena saya tidak memerlukan wifi saat bluetooth diputar. Namun saya masih menginginkan kemampuan untuk menggunakan ssh / vnc untuk Pi3 saya saat perangkat BT terputus.

@lexanix

instal inotify
cmd: sudo apt-get install inotify-tools
cp inotify.txt menjadi /etc/inet.d/inotify (ganti nama dari inotify.txt menjadi inotify!)

inotify.txt

membuatnya dapat dieksekusi
cmd: sudo chmod u + x /etc/init.d/inotify
buat symlink untuk memulai skrip saat boot
cmd: sudo update-rc.d inotify default

Semoga ini membantu.

@spalthammer terima kasih atas tanggapan Anda! sayangnya ini sepertinya tidak berhasil untuk saya. Saya melakukan semua yang Anda katakan tetapi tidak ada yang terjadi. alat inotify up to date di Pi3 saya.

apa yang saya coba lakukan:
(Saya jelas mengubah kesalahan ketik "inet.d" menjadi init.d)
-membuatnya dapat dieksekusi dengan chmod + x hanya karena u + x tidak berfungsi
-coba untuk menjalankan skrip langsung dari terminal (tanpa reboot) yang dilakukannya sejak saya menambahkan baris untuk mengembalikan gema dan berhasil
-membuatnya boot di awal dari /etc/rc.local
Namun, wifi masih tetap AKTIF ketika saya menghubungkan ponsel saya melalui bluetooth ...

Saya menjalankan Raspbian versi terbaru. Ponsel saya mengalirkan musik ke Pi melalui BT yang kemudian dikeluarkan sebagai sinyal FM di GPIO. Selama waktu itu saya tidak perlu mengaktifkan wifi karena musik mulai tersendat-sendat. Namun, untuk tetap dapat menyambung kembali ke Pi saya dengan SSH / VNC setelah saya menonaktifkan wifi, saya membuat sedikit skrip "sudo ifconfig wlan0 up" yang secara otomatis mengaktifkannya kembali setelah saya mematikan daya dan membiarkannya reboot. Ini sepertinya berfungsi untuk saat ini tetapi saya ingin skrip inotify yang jauh lebih elegan berjalan sampai kita tahu apa yang salah dengan chipset BT + WiFi kita.

@lina_lestari ,
maaf atas kesalahan ketiknya.
sudo chmod u+x /etc/init.d/inotify seharusnya berfungsi. Harap pastikan bahwa /etc/init.d/inotify dimiliki dan dijalankan oleh root.
Jika Anda memiliki lebih dari satu perangkat input yang terhubung, katakanlah keyboard, mouse dan usb soundcard, nomor untuk perangkat input mungkin berbeda. Dalam skrip saya menunggu acara di input1, yang sesuai dengan pengaturan saya. Harap hentikan skrip dengan
sudo killall -9 inotify
dan lari
sudo inotifywait -q -e CREATE,DELETE /dev/input
Hubungkan ke perangkat bluetooth dan tuliskan nomor untuk perangkat input Anda. Ubah skrip dan mulai ulang.
Aku sudah memeriksa ulang naskahnya. Meskipun tidak sempurna, ini berfungsi seperti yang diharapkan.

Salam

Koneksi BT tidak stabil selama pemutaran A2DP. BT sering kali terputus dan membutuhkan boot ulang sistem untuk pulih.
dapatkah anda memberikan solusinya.

@spalthammer hebat! skrip Anda berfungsi seperti yang diharapkan
solusi sempurna untuk saya (Zero W dengan speaker phat; sekarang menggunakan Bluetooth internal dan antarmuka WiFi bergantian)
tidak ada lagi retakan saat memutar musik :-)

Apakah ini akan lebih baik dengan Raspberry Pi 3 B + yang baru?

@jamur_kejang

Terima kasih atas solusi yang bagus. Itu yang saya butuhkan.

Meskipun saya hanya memiliki satu koneksi Bluetooth, saya mendapatkan yang berikut saat melakukannya

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

Jadi, seperti yang Anda sarankan, saya mengedit inotify dan mengubah dari event1 ke event0. Ini bekerja dengan baik sekarang!

Tapi, saya khawatir tentang perubahan itu. Jika saya hanya memiliki satu koneksi BT, apakah akan selalu event0?

Terima kasih!

@bayu_joo

angka X di eventX tergantung pada jumlah perangkat input bukan pada jumlah koneksi bluetooth. Jadi, kecuali Anda mengubah pengaturan perangkat keras Anda, katakanlah jika Anda tidak menambahkan perangkat input lain seperti kartu suara USB atau keyboard, nomor tersebut tidak boleh berubah. Jika Anda ingin tahu lebih banyak tentang Anda menghubungkan perangkat input, perintah:

cat /proc/bus/input/devices

akan memberi Anda gambaran umum.

Ragards.

Solusi ini bekerja sangat baik untuk saya! Tapi, sepertinya aku tidak membutuhkannya lagi, untuk beberapa alasan--

Saya baru saja mendapat pi nol w lagi. Mengunduh gambar jessie stretch dan melakukan pembaruan, peningkatan. Saya menggunakan pHat DAC dan petunjuk penyiapan Bluetooth dari sini:

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

Apakah mungkin ada perbaikan yang saya dapatkan dalam peningkatan atau pembaruan? Atau, mungkin rpi baru saya diperbaiki perangkat kerasnya?

Saya mengkloning gambar di pi saya yang tidak gagap dan akan mencobanya pada gambar yang membutuhkan solusi spalthammer. Dan, saya akan mencoba gambar yang ada di rpi yang tersendat-sendat di perangkat keras baru, dan menonaktifkan solusi untuk melihat apakah perangkat keras baru itu tersendat-sendat dengan gambar itu.

Saya telah menemukan saya hanya memiliki masalah jika saya membiarkan bluetoothctl berjalan. Baik di perangkat keras / "perangkat lunak" baru dan lama, saya tidak mendapatkan gangguan apa pun dari aliran bluetooth A2DP kecuali saya menggunakan bluetoothctl.

Ini stretch-lite, tanpa pulse-audio. Mungkin itu penting.

@StudentSA Sepertinya tidak. Setidaknya tidak seluruhnya. Saya mengalami masalah ini pada Zero W yang menjalankan 2018-04-18-raspbian-stretch-lite.

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

Mungkin salah satu masalah yang tidak akan pernah bisa diperbaiki ...

Saya memutuskan untuk menggali sedikit tentang driver. Membaca kode memberi saya beberapa wawasan tentang beberapa parameter modul yang didukung, dan dengan beberapa eksperimen dan pendekatan senapan, saya tampaknya mendapatkan bluetooth + wifi bekerja dengan sempurna dalam hubungannya satu sama lain.

Saya dapat melakukan speedtest dari pi melalui wifi, sementara ponsel saya memutar audio A2DP melalui pi, dan saya tidak mendapatkan satu kesalahan pun.

Saya membuat file /etc/modules.d/bt-wifi-fix.conf

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

debug=0x00000004 mengaktifkan pencatatan tingkat info, yang sebenarnya tidak diperlukan.

fcmode=2 tampaknya mengaktifkan beberapa jenis kontrol aliran perangkat keras, yang tampaknya membuat segalanya sedikit lebih baik, tetapi tetap tidak hebat.

feature_disable=0x96 adalah opsi yang sepertinya benar-benar memperbaikinya. Saya tidak yakin, tapi saya _pikir_ 0x96 mencoba menonaktifkan semua fitur opsional, oleh karena itu mengapa saya mengatakan 'pendekatan senapan' di atas. Dengan sedikit kesabaran, Anda mungkin dapat mempersempitnya menjadi sebagian kecil fitur.

Sejauh ini, ini bekerja dengan sempurna untuk saya - saya akan melaporkan kembali jika saya dapat mempersempit semuanya lebih jauh.

EDIT: Saya mendapatkan sedikit kesalahan ketika saya pertama kali memulai streaming, tetapi sama sekali tidak ada yang tampaknya bergantung pada apakah saya menggunakan wifi atau tidak.

Itu poin data yang bagus, terima kasih telah memeriksanya dan terus beri tahu kami tentang kemajuan lebih lanjut.

@pelwell Phil, apakah Anda melihat ini? Mungkin ada gunanya melapor kembali ke Cypress.

Itu memang tampak sangat sederhana - jika Cypress menyukainya dan itu sangat efektif, kami dapat menjadikannya sebagai default untuk kernel Pi.

Apakah cukup dengan hanya membuat /etc/modules.d/bt-wifi-fix.conf dengan konten yang Anda tunjukkan? Atau, haruskah saya mengubah sesuatu yang lain untuk menerapkannya?

Cukup buat file seperti yang dijelaskan dan reboot.

Oke, saya mencari di Google dan menemukan hal-hal untuk /etc/modules-load.d, tetapi tidak untuk /etc/modules.d

Saya menambahkan file pada Pi Zero W. Saya akan melakukan streaming melalui bluetooth untuk sementara waktu, dan melihat apakah saya mendengar gagap saat wifi tersambung.

Apakah ada cara untuk memeriksa apakah bt-wifi-fix.conf digunakan, selain menguji "tidak ada gangguan?"

Terima kasih!

Jika Anda menyertakan options brcmfmac debug=0x00000004 (tanpa komentar # ) maka Anda akan melihat beberapa keluaran diagnostik di log kernel, seperti yang dilihat oleh dmesg .

Oke, saya coba ini:

 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

Jadi, lakukan

manajemen daya dinonaktifkan

pesan menunjukkan .conf sedang diambil?

Jika tidak, apakah ada hal lain yang bisa saya lakukan?

Diuji pada ZeroW yang menjalankan kernel 4.14.41 (OS khusus) Meskipun berkali-kali lebih baik, masih ada beberapa gagap ..... tetapi hampir dapat ditoleransi.

Saya menjalankan iperf3 kembali ke server saya saat memutar aliran a2dp .... wifi mendorong
sekitar 30MBit / s di iperf3.

Berencana untuk menguji pada pi3 dan pi3b + (3b + sudah dapat diputar dengan baik jika wifi terhubung pada saluran 5Ghz)

@davthomaspilot Saya baru saja mencoba ini sendiri sekarang, dan konten file yang disarankan terlihat benar, tetapi meskipun nama direktori tampak familier, nama itu tidak ada di sistem Raspbian saya - /lib/modprobe.d adalah yang biasa (dan mungkin _correct_) tempat - jadi saya sarankan menggunakan nama file /lib/modprobe.d/bt-wifi-fix.conf .

Mulailah dengan baris fcmode dan feature_disable dikomentari dan ambil keluaran dari dmesg | cut -c16- | grep brcmfmac . Kemudian hapus komentar salah satu atau keduanya, reboot dan bandingkan output dmesg (dan kualitas streaming).

Terima kasih! Saya akan melakukannya.

Saya berharap ini lebih membantu daripada melakukan "iwconfig wlan0 power off" di /etc/rc.local.

Dengan penghemat daya wifi dinonaktifkan, streaming terputus-putus hanya terjadi mungkin sekali setiap satu atau dua menit. Ini hanya dengan sesi ssh di wifi.
Diperlukan beberapa "statistik" untuk melihat apakah ada peningkatan lebih lanjut. Saya akan mencobanya di Pi Zero W.

Berikut perbedaan yang dibandingkan ketika baris dikomentari versus tidak (menggunakan /lib/modprobe.d, BUKAN /etc/modules.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)

Menguji kualitas streaming sekarang ...

Masih gagap. Sangat sulit untuk mengatakan apakah itu jauh lebih baik daripada yang saya miliki. Gagap sekali setiap satu atau dua menit.

Sekali lagi, ini dengan wifi diaktifkan, tetapi hampir tidak ada lalu lintas wifi.

Saat ini, solusi saya adalah menonaktifkan wifi saat bluetooth terhubung. Saya benar-benar tidak peduli dengan gagap ketika saya terhubung dengan wifi, tetapi alangkah baiknya untuk terhubung dengan wifi tanpa harus memutuskan Bluetooth terlebih dahulu.

Menguji dengan pi3B + pada saluran 2.4Ghz.

Parameter "options brcmfmac fcmode = 2" menghentikan driver wifi pada pi3B + segera setelah BT mulai mendorong data melalui koneksi Bluetooth. Menggunakan profil A2DP.

Saya menjalankan hanya dengan opsi brcmfmac feature_disable = 0x96 pada pi3B + dan ini cukup stabil, kecuali saya mendorong koneksi wifi dengan iperf, maka saya mengalami gangguan yang signifikan. Tidak ada sisi yang mempengaruhi parameter ini saat berada di saluran 5Ghz. Bluetooth sangat stabil dalam hal ini, dan iperf3 mendorong 120Mbit / s

Jadi, bukan untuk menggunakan kunci pas, tetapi sejujurnya saya tidak dapat mereproduksi masalah ini pada img terbaru dari Stretch dengan pembaruan firmware bluez dan pembaruan bluetoothctr. Saya memiliki 2 kartu SD, satu sejak saya memposting pada April 2017 menjalankan Jessie dan PulseAudio. dan saya membuat kartu SD ke-2 hari ini yang menjalankan Stretch (9.4) dan ALSA biru.

Pada Stretch, Semuanya sempurna, saya memainkan streaming online (yaitu menggunakan wifi) melalui speaker Bluetooth saya 100%. Kartu lama dengan Jessie masih berderak buruk saat Wlan0 habis.

Penghargaan untuk pria ini yang merinci beberapa trik dalam penyiapan:
Michel

Saya menguji menggunakan vlc sehingga Anda perlu menentukan perangkat alsa mana yang akan digunakan seperti:
--aout = alsa --alsa-audio-device = "bluealsa"

Tolong bisakah seseorang mencoba ini dari instalasi dan saran baru.

bluez 5.43-2 + rpt2 + deb9u2 armhf
bluez-firmware 1.2-3 + rpt6 semua
bluealsa 0.7 armhf
bluetoothctl: 5.49
raspberrypi-bootloader 1.20180417-1 armhf
raspberrypi-kernel 1.20180417-1 armhf

jangan lupa untuk memulai bluealsa setelah reboot atau mulai otomatis: sudo systemctl aktifkan bluealsa)

Bagaimana Anda menginstal bluetoothctl: 5.49? Semoga tidak dikompilasi dari kode sumber.

Yip, Dari sumber (sesuai tautan yang dibagikan) mengapa kekhawatiran seputar ini?

Saya hanya ingin memiliki pembaruan dengan menggunakan repositori, juga untuk menghindari paket yang hanya diperlukan untuk membangunnya. Di manakah link yang ada di postingan Anda?

Sebenarnya ada versi 5.50 yang dirilis 7 minggu lalu. Jika Anda akan melalui rute ini, mungkin patut dicoba. Tapi ya, kita harus menunggu 5.49+ untuk masuk ke aliran apt-get resmi.

Saya dapat mengonfirmasi bahwa tidak ada gagap dengan Bluez 5.50.

Keren. Saya akan melihat apa yang diperlukan untuk meningkatkan versi Raspbian.

Berikut langkah-langkahnya:

  1. Instal dependensi.
    sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
  1. Unduh kode sumber BlueZ versi terbaru.
    wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz

  2. Buka kompresi file yang diunduh.
    tar -xf bluez-5.49.tar.xz && cd bluez-5.50/

  3. Konfigurasi.
    ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental

  4. Kompilasi kode sumber.
    make -j4

  5. Install.
    sudo make install

  6. Pengguna perlu ditambahkan ke grup bluetooth.
    sudo adduser pi bluetooth

  7. File konfigurasi Dbus Bluetooth yang ditimpa di instalasi BlueZ perlu dipulihkan.
    sudo nano /etc/dbus-1/system.d/bluetooth.conf

Tambahkan ini di bagian <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"/>

dan ini setelahnya:
<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>

  1. Mulai ulang Raspberry Pi
    sudo reboot

@amilino Masih tidak bekerja untuk saya. Masih gagap dengan wifi dihidupkan, dan saat dimatikan. Saya sudah mencoba hampir semua hal di utas ini, bahkan beralih dari rpi b + dengan dongle bt ke rpi 3 b + dengan bluetooth onboard dan masih ada gagap.

Sebenarnya tidak terlalu gagap. Tampaknya mendapatkan potongan data, memutarnya terlalu cepat dengan bit yang hilang, lalu duduk dan tunggu potongan berikutnya.

Saya memiliki konfigurasi yang sama dengan @StudentSA yang disebutkan, kecuali Bluez 5.50 terbaru. Saya juga mengikuti tutorial ini: https://gist.github.com/mill1000/74c7473ee3b4a5b13f6325e9994ff84c. Saya memainkan lagu yang sama yang sebelumnya tergagap dan sekarang mereka bekerja tanpa masalah.

@amilino Bekerja dengan sempurna, terima kasih.

Satu-satunya efek samping dari tutorial ini adalah audio tidak diputar jika Anda menghubungkan mesin Linux pada RPI Bluetooth. Jika seseorang tahu beberapa tutorial yang lebih baik tolong beri tahu saya.

Cypress telah melihat gangguan WiFi / BT dan telah menemukan beberapa pengaturan file "NVRAM" baru yang mereka klaim telah "sepenuhnya memperbaiki audio yang tersendat". Pengaturan yang sama dapat digunakan pada 43430 (3B, ZeroW) dan 43455 (3B +).

  1. Cari file teks "NVRAM" Anda - ada di /lib/firmware/brcm/brcmfmac<dev>-sdio.txt , di mana <dev> masing-masing adalah 43430 atau 43455. Buat salinan cadangan di tempat yang aman untuk mempermudah pengurungan perubahan (atau memulihkan dari kesalahan).

  2. Buka file di editor teks, gulir ke bawah (murni untuk kerapian - pengaturan ini mungkin bisa pergi ke mana saja) dan tambahkan yang berikut ini:

    # Experimental Bluetooth coexistence parameters from Cypress
    btc_mode=1
    btc_params8=0x4e20
    btc_params1=0x7530
    
  3. Mulai ulang.

Seperti yang dijelaskan kepada saya, pengaturan ini secara kolektif memungkinkan Bluetooth lebih banyak airtime dengan mengizinkan WiFi tidur lebih lama dan mengurangi waktu maksimum Bluetooth dapat menunggu.

Harap laporkan kembali temuan Anda, baik positif atau negatif, untuk membantu kami memutuskan apakah akan menjadikan ini nilai default baru.

Mengikuti utas ini dengan penuh minat. Saya telah menggunakan Pi ZeroW / Raspbian Lite untuk memutar aliran internet melalui bluealsa ke speaker bluetooth menggunakan Mopidy. Hingga saat ini tidak ada satu pun di utas ini yang dapat menyelesaikan masalah gagap.

bluez 5,50 - tidak ada perbedaan
menonaktifkan WiFi dan menggunakan adaptor ethernet USB - beberapa perubahan tetapi masih tersendat setiap beberapa menit

Mengubah pengaturan NVRAM - sejauh ini tampak sempurna. Saya kembali menggunakan WiFi dan audio bluetooth tidak tersendat-sendat. Masih menggunakan bluez 5.50. Saya akan melaporkan kembali jika saya mengalami gagap.

Hasil positif sejauh ini. Saya juga menggunakan Bluez 5.50 juga. Papan - RPi3

Saya telah menghapus parameter modprobe sebelumnya yang muncul sebagai solusi. Sejauh ini tidak ada gagap. Menggunakan iperf3, Anda pasti bisa melihatnya mencuri waktu dari radio wifi. Tapi tidak ada gagap, bahkan saat mendorong data ekstra.

Saat memutar bluetooth,

[ 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

Menghentikan pemutaran, dan melepaskan speaker.

[ 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

Bluetooth dinonaktifkan melalui dtoverlay

[ 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

Berfungsi untuk saya raspi 3B, tidak tersendat, bahkan memindahkan file besar melalui wifi saat memutar audio (a2dp), tetapi saya melihat banyak sekali
"Bluetooth: hci0: Perakitan ulang frame gagal (-84)" dalam milidetik!

$ 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)

Sudah mencoba ini selama beberapa jam sekarang. Ini lebih baik dari sebelumnya, tapi tidak sempurna. Saya sekarang mendapatkan, sering 20 sampai 30 menit pemutaran terus menerus, tetapi kemudian gagap mulai lagi dan tidak akan hilang unitl Saya berhenti dan memulai kembali streaming audio. Juga sesi ssh saya terhenti sejenak ketika gagap dimulai. Ini bukan buffering audio, karena saya telah memasukkan log masuk ke pemutar saya untuk memberi tahu saya saat buffering.

Mungkin Anda harus beralih ke RPi3 b +, saya tidak punya masalah sama sekali.

Mungkin Anda harus beralih ke RPi3 b +, saya tidak punya masalah sama sekali.

Tapi bukan itu intinya kan? Perubahan tersebut dikatakan "sepenuhnya memperbaiki" audio yang tersendat. Saya hanya melaporkan bahwa sepertinya bukan itu masalahnya. 3B + menggunakan chipset yang berbeda dari W, jadi mungkin pengaturannya perlu sedikit diubah.

Ya saya setuju, tapi kalau dilihat dari pokok persoalan itu terkait dengan RPi3. Diskusi ini terlalu lama mungkin akan lebih baik untuk membuka masalah baru yang terpisah terkait dengan Pi W.

Solusi ini juga berfungsi untuk ZeroW. Telah bermain selama lebih dari 2 jam tanpa masalah.

Saya pikir masalah yang saya alami di ZeroW mungkin karena Bluetooth yang tidak memiliki jangkauan yang sama dengan Bluetooth di iMac saya. Mendekatkan speaker ke Pi, saya telah memutar radio internet sekarang selama 4 jam tanpa masalah. Saya harus menempatkan kembali Pi sehingga sinyalnya mencapai dapur :)

Terima kasih atas semua umpan baliknya, yang menunjukkan bahwa pengaturan ini setidaknya merupakan peningkatan besar tanpa regresi. Jangan ragu untuk ikut campur jika pengalaman Anda menyarankan sebaliknya, tetapi saya berencana untuk menjadikannya sebagai default baru.

Saya bisa menambahkan satu observasi lagi dengan hasil yang positif. Saya telah menggunakan Bluetooth dan Wi-Fi secara bersamaan di ZeroW saya selama sekitar satu jam sekarang tanpa gagap. Pasti +1 untuk menjadikan ini default baru.

Apakah Anda membahas di sini hanya masalah ketika rPi digunakan sebagai sumber a2dp atau juga sebagai wastafel a2dp?

Saya mencoba menggunakan rPi3 saya sebagai penyerap bluetooth (yaitu saya mencoba memutar audio dari ponsel saya ke rPi saya), dan gagap sangat intens, sehingga Anda hampir tidak mengenali lagu yang diputar. Wi-fi tidak digunakan. Saya mencoba dengan adaptor BT eksternal - tidak berhasil. Namun, dengan bt adaptor yang berbeda tersendat juga berbeda (seperti jika ukuran buffer berbeda digunakan).

Haruskah saya melaporkan masalah lain?

@edio Saya telah menggunakan RPi ZeroW sebagai bak cuci, mengalirkan audio dari ponsel saya ke RPi melalui Bluetooth. Sampai kemarin, saya juga mengalami gagap yang parah, tetapi solusi yang paling baru disarankan tampaknya telah menyelesaikannya.

Solusi yang disajikan oleh @ paul-1 berfungsi untuk saya, di papan Pi 3+. Saya dapat menggunakan Wi-Fi secara normal dan menikmati streaming audio BT yang bagus

Halo,
apakah ada yang tahu bagaimana menggunakan solusi NVRAM pada sistem Libreelec dengan sistem squashFS hanya-baca? Seperti yang saya pahami, ini hanya-baca karena distribusi berikutnya menimpa file sistem.

@bimteh

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

Sekarang edit file di /storage/.config/firmware/brcm dan reboot.

Atau Anda dapat menggunakan versi uji LibreELEC 9.0 terbaru dengan Kodi 18 yang sudah mencakup perbaikan ini: https://forum.kodi.tv/showthread.php?tid=298461

Apakah ada orang di utas ini yang sesekali masih putus sekolah setelah perbaikan diterapkan? Ini tidak seburuk gagap yang saya alami pada awalnya, tetapi wastafel bluetooth masih cukup tidak dapat digunakan bagi saya, karena setiap beberapa detik saya mengalami semburan klik, kira-kira masing-masing sesuai dengan serangkaian catatan dalam output 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)

dan dari bluez saya dapatkan

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

Saya mendapatkan periode hingga satu menit klik dan muncul, lalu hilang, seringkali selama beberapa jam. Lebih buruk ketika speaker jauh dari Pi.

@MilhouseVH terima kasih banyak untuk itu! Ini membiarkan saya ke sini yang mungkin berguna bagi orang lain.

FYI di libreELEC (Rpi 3+), perbaikan ini menyembuhkan gagap tetapi menyebabkan penundaan audio yang tidak dapat diterima jika film ditayangkan melalui WiFi. Saya kira itu adalah batasan platform.

Apakah penundaan audio sudah diperbaiki? Bisakah Anda memperbaikinya menggunakan penundaan audio?
https://kodi.wiki/view/Video_playback#Audio_and_Subtitle_Settings

Saya memindahkan data saya dari wlan0 bawaan ke eth0 dan masalah bluetooth teratasi. Sayangnya kami tidak bisa mendapatkan kue kami dan memakannya juga :(
Saya harus mencoba saran NVRAM di atas ketika saya mendapat kesempatan.

Saya masih mengalami gagap setelah mencoba semua jenis perbaikan pada RPi 3+ saya. Akan menonaktifkan wifi sepenuhnya dan menggunakan kabel. :(

Baik. Saya senang menjadi titik data lainnya. Perbaikan NVRAM benar-benar mengubah project-on-a-whim saya membangun sumber A2DP menggunakan zero-w saya. Saya memulai proyek kemarin dan sampai saya menemukan utas ini, baik pulseaudio dan bluez-alsa sama sekali tidak dapat digunakan saat wifi sedang digunakan. Tidak memiliki wifi juga akan menjadi penghenti acara. Terima kasih banyak kepada orang-orang yang menggali sumber chip dan menemukan perbaikannya.

Saya masih memiliki sedikit popping dan wheezing ketika CPU kelebihan beban (seperti menjalankan pembaruan saat memutar bluetooth) tetapi selain itu itu adalah mesin yang sama sekali berbeda. Sebagai catatan, saya menjalankan Arch 4.14.90, Bluez 5.50, dan Pulseaudio 12.2. Artinya ini harus bekerja untuk masa yang akan datang dan bukan solusi yang melibatkan menjalankan perangkat lunak yang tidak kompatibel yang benar-benar lama. <3

Saya mengedit pengaturan di file NVRAM:
/usr/lib/firmware/updates/brcm/brcmfmac43430-sdio.txt
/usr/lib/firmware/updates/brcm/brcmfmac43455-sdio.txt

@acegallagher : Saya tidak mengerti komentar Anda. Penjelasan apa pun akan dihargai.

Jika Anda memiliki beberapa jenis solusi, langkah apa yang diperlukan untuk memilikinya di RPI?

@pelwell

File NVRAM yang diperbarui telah dalam pembaruan Raspbian sejak Agustus 2018. Atau Anda dapat mengunduhnya langsung:

Salin ke folder / lib / firmware / brcm (Anda perlu sudo cp ... ).

Maaf, tapi itu tidak berhasil. Masih gagap dengan Wifi.

Itu memalukan. Apakah Anda melakukan boot ulang setelah menginstal?

Sayangnya ada batasan tentang apa yang dapat dicapai dengan antena bersama. Sudahkah Anda mencoba mengubah jarak dari Pi ke AP dan / atau perangkat BT?

Ya, telah berjuang dengan ini selama beberapa bulan sekarang. Saya beralih ke kabel jaringan dan tidak ada masalah lagi.

Hai,
Dengan /usr/lib/firmware/updates/brcm/brcmfmac43430-sdio.txt dan teman yang diperbarui, dan ya saya mem-boot ulang :-), saya masih mendengar underruns pada audio usb yang tidak ada dengan audio on-board (setiap 5 detik atau lebih).
Tidak menggunakan wifi, semua ethernet.

Jika di sisi lain saya melakukan ifconfig wlan0 down dulu, maka semuanya baik-baik saja ...!
oh, tidak, tidak. hanya jauh lebih sedikit

Anda melaporkan audio USB yang tersendat-sendat dengan Ethernet dalam masalah tentang audio Bluetooth dengan WiFi?

Ups!

Masalah Bluetooth + WiFi ini menyebabkan masalah dengan keyboard saya melakukan beberapa penekanan tombol untuk 1 tombol ke atas.

@ pratt-jeremy Apakah itu keyboard nirkabel?

Saya memiliki masalah yang sama. Menjalankan Arch pada Pi B3, B3 + dan Zero. Semua menunjukkan gejala yang sama: Permainan terputus-putus dengan a2dp. Arch belum memperbarui firmware seperti yang tercantum di sini, tetapi saya melakukannya secara manual terlebih dahulu. Jika saya menggunakan BT onboard pada 3 mesin ini, Bluealsa mengeluhkan buffer under run dan memainkan musik secara semburan. Jurnal menunjukkan buffer yang sedang dijalankan. Jika saya menggunakan dongle USB, semuanya berfungsi seperti yang diharapkan. Bisakah kita mencoba yang lain? fwiw, kernel saya adalah 4.19.32

Tampak jelas bagi saya bahwa memasang bluetooth dan wifi pada RPi seperti membuat dompet sutra dari telinga babi.

Tim pengembangan Raspberry Pi harus menyatakan bahwa memutar audio melalui bluetooth saat memutar video melalui wifi tidak didukung karena kurangnya tenaga kuda / bandwidth.

Sejak hari pertama Pi telah disebut-sebut sebagai pengganti terbaru untuk mikro BBC, untuk mengajar anak-anak di sekolah. Kodi adalah bonus besar. Saya baru saja menyerah pada ide ini. Saya ingin menyajikan film ke pi-top dengan tautan bluetooth ke sistem audio karavan saya, tetapi sekarang saya hanya mencolokkan hard drive film ke port usb. Tidak ada Wifi, tidak ada gangguan. Sedih, tapi tidak terlalu merepotkan.

Apakah ini perintah yang tepat untuk dijalankan agar BT onboard berfungsi?
/ usr / bin / btattach -B / dev / ttyAMA0 -P bcm -S 3000000
Ini adalah perintah dalam file layanan untuk Arch Linux dengan penginstalan default Bluez 5.50

Jadi saya memiliki streaming audio ke B3 + dengan wifi aktif dan aktif (saya masuk melalui ssh). Saya menjalankan Arch Linux. Saya harus menginstal bluez-utils-compat untuk mendapatkan perintah hciattach diinstal. Saya yakin Raspian sudah memiliki ini ...

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

Paket default Bluez 5.50 memiliki btattach yang digunakan Arch untuk menyalakan adaptor BT. Ini tidak berhasil. Yang saya dapatkan hanyalah suara gagap. Ini yang dipanggil paket Arch pi-bluetooth untuk perintah menjadi:
ExecStart=/usr/bin/btattach -B /dev/ttyAMA0 -P bcm -S 3000000
Perintah yang berfungsi berasal dari versi paket yang lebih lama:
ExecStart=/usr/bin/hciattach -n /dev/ttyAMA0 bcm43xx 921600 noflow -
Saya tidak mengklaim tahu apakah ini 'benar' atau apa pun, hanya saja ini pertama kalinya saya bermain bluetooth dengan lancar menggunakan adaptor onboard.

Hanya untuk menghindari kebingungan. Teknologi WiFi Broadcom dibeli oleh Cypress pada bulan Juni 2016. Sejak itu

  • BCM43438 adalah CYW43438
  • BCM43455 adalah CYW43455

@ pratt-jeremy Apakah itu keyboard nirkabel?

@ JamesH65 ya, ini keyboard bluetooth. Saya melihat ini untuk audio, tapi saya pikir saya akan menyebutkannya. Setelah saya mematikan wifi, keyboard bluetooth bekerja dengan sempurna. Tidak ada karakter berulang yang tidak saya tekan.

Mungkinkah distro Anda sudah sepenuhnya mutakhir?

Mungkinkah distro Anda sudah sepenuhnya mutakhir?

Itu up to date ketika saya memposting di sini, mungkin sekarang sudah ketinggalan zaman karena itu bulan Maret. Saya akan memperbarui dan melihat apakah itu masih terjadi.

Pada RPI4 dengan WiFi yang diblokir di rfkill. Masih berombak di Pulseaudio A2DP.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat