PulseAudio gagal mengatur profil kartu ke 'a2dp_sink'. Bagaimana saya bisa melihat log dan mencari tahu apa yang salah?
Saat ini saya telah menginstal ubuntu 16.04 dan a2dp digunakan untuk bekerja pada instalasi baru, yang saya lebih suka pergi sebagai opsi terakhir. Ketika pairing dihapus dari pengaturan bluetooth dan dipasangkan lagi kadang-kadang berhasil berada di profil a2dp, tetapi jika headset diputuskan dan kemudian dihubungkan kembali profil a2dp tidak berfungsi lagi (meskipun dikatakan ada di a2dp), itu hanya berfungsi setelah beralih ke HSP / HSF dan kemudian saya tidak dapat mengaturnya di a2dp.
Saya telah mencoba melakukan:
pacmd set-card-profile <index> a2dp_sink
tetapi kesalahan berikut keluar:
"Failed to set card profile to 'a2dp_sink'"
Saya tidak berpengalaman di Linux jadi saya tidak tahu bagaimana cara mendapatkan log atau apa yang harus dicari di dalamnya, tapi saya mendapatkan ini dari pacmd list-cards:
Ketika berhasil:
name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 27
properties:
device.description = "Jabra REVO a4.0.0"
device.string = "50:C9:71:97:A1:86"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
bluez.class = "0x240404"
bluez.alias = "Jabra REVO a4.0.0"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
bluez_sink.50_C9_71_97_A1_86/#6: Jabra REVO a4.0.0
sources:
bluez_sink.50_C9_71_97_A1_86.monitor/#10: Monitor of Jabra REVO a4.0.0
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
Ketika tidak berhasil:
name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 25
properties:
device.description = "Jabra REVO a4.0.0"
device.string = "50:C9:71:97:A1:86"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
bluez.class = "0x240404"
bluez.alias = "Jabra REVO a4.0.0"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
off: Off (priority 0, available: yes)
active profile: <off>
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
Dan modul yang dimiliki adalah:
name: <module-bluez5-device>
argument: <path=/org/bluez/hci0/dev_50_C9_71_97_A1_86>
used: 0
load once: no
properties:
module.author = "João Paulo Rechi Vita"
module.description = "BlueZ 5 Bluetooth audio sink and source"
module.version = "8.0"
Saya sudah mencoba memodifikasi /etc/bluetooth/audio.conf dan menginstal blueman tetapi tidak berhasil. Saya juga mencoba menginstal ulang bluez dan pulseaudio tetapi tidak ada yang berubah.
Apakah ada cara agar saya bisa tahu apa yang salah dan memperbaikinya?
Berdasarkan baris "active profile: " profil suara tidak diaktifkan.
Satu program yang mudah digunakan untuk mengubah profil adalah pavucontrol. Anda dapat menginstalnya dengan
sudo apt install pavucontrol -y
. Kemudian jalankan pavucontrol dari command line atau Alt+F2 jika Anda menggunakan Kubuntu dan memasukkan pavucontrol.Pilih tab konfigurasi dan kemudian coba ubah profil untuk headphone Anda dan lihat apakah itu memperbarui untuk Anda. Sepertinya ada bug dengan bluetooth a2dp yang masih ada di linux dan itu mempengaruhi dua instalasi 16.04 saya. Jika sudah mengatakan A2DP ubah ke OFF, lepaskan perangkat di applet bluetooth, lalu sambungkan kembali. Kemudian akhirnya lanjutkan untuk mengubah profil kembali ke A2DP dan seharusnya berfungsi.
Anda juga dapat mencoba yang berikut ini pada baris perintah dan seharusnya tab menyelesaikan sebagian besar untuk Anda. Ganti angka 2 dengan nomor indeks saat ini untuk kedua perintah pacmd di bawah ini.
Untuk cara yang lebih rumit tetapi otomatis untuk melakukan hal yang sama untuk mengubah profil ke off dan kemudian kembali ke a2dp tetapi tidak melakukan pemutusan dan penyambungan perangkat bluetooth
Saya juga membuat skrip yang berfungsi tetapi ceroboh untuk melakukan hal yang sama tetapi juga memutuskan dan menghubungkan kembali headphone bluetooth. Ini mengambil indeks profil karena indeks berubah setiap kali perangkat terputus dan terhubung kembali. Ini adalah hardcoded dengan id perangkat untuk headset yang Anda daftarkan di atas
Selama pengujian, saya berakhir dengan 5 detik untuk tidur, bukan 3 detik karena perangkat belum siap untuk mengubah profil audio. Hasil Anda mungkin berbeda beberapa detik +/- 5 detik. Edit mengenai potensi jebakan. Saya menemukan bahwa kadang-kadang diperlukan untuk menjalankan skrip yang lebih besar dua kali sebelum berhasil. Saya tidak yakin apakah meningkatkan waktu tidur akan membantu atau tidak karena saya belum mengujinya. Tetapi saya telah menggunakannya pada dua mesin dengan merek headphone BT yang sama dan itu melakukan apa yang seharusnya untuk mengotomatisasi proses untuk mendapatkan suara yang berfungsi pada headphone.
Akhirnya masalah ini akan ditambal dalam paket bluetooth tetapi tampaknya terus kembali dalam rilis baru Ubuntu serta versi Linux lainnya. Tapi bagaimanapun juga semoga itu membantu Anda
Saya mengalami masalah ini di Ubuntu 16.04.1 LTS, dan menerapkan cara kerja GDM yang ditemukan di https://wiki.debian.org/BluetoothUser/a2dp menyelesaikannya.
Secara khusus, buat/edit
/var/lib/gdm3/.config/pulse/client.conf
untuk dibaca:Kemudian
Saya juga menambahkan ke
/etc/pulse/default.pa
Meskipun hal ini mungkin tidak terlalu diperlukan.
Setelah reboot, saya terhubung melalui bluetooth manager dan berhasil mengalihkan profil audio ke
a2dp_sink
.lagerismi memposting skrip di sini di launchpad berdasarkan jawaban oleh Jamie S.
Ubah alamat MAC perangkat dalam variabel di dalam skrip! (bisa ditemukan dengan
bluetoothctl
--> Device)Buatlah skrip dapat dieksekusi
chmod a-x bluetooth_headphone_reactivation.sh
Untuk eksekusi otomatis saat startup (hanya berfungsi jika headset sudah dinyalakan):
Untuk eksekusi manual yang cepat:
Skrip: