Cara mengatasi masalah suara
Halaman ini mencakup beberapa teknik pemecahan masalah dasar untuk membantu mempersempit akar penyebab masalah. Halaman ini juga menjelaskan informasi yang harus disertakan saat membuat berkas bug yang terkait dengan suara.
Pendahuluan
Masalah suara pada Fedora Linux dapat berasal dari berbagai faktor, termasuk profil audio, prosedur pemasangan, kompatibilitas perangkat, atau kesalahan konfigurasi pengguna. Masalah-masalah umum yang mungkin dihadapi pengguna:
-
Tidak ada output atau input suara
-
Hanya "Dummy Output" yang tersedia
-
Mikrofon tidak terdeteksi
-
Perangkat audio hilang setelah pembaruan
-
Koneksi audio Bluetooth rusak
Panduan ini memberikan pendekatan langkah demi langkah untuk mendiagnosis dan menyelesaikan masalah suara ini. Panduan ini mencakup pemecahan masalah umum dan perbaikan khusus untuk masalah terkait input, seperti mikrofon yang hilang atau perangkat input yang tidak aktif.
Mendiagnosis Masalah
-
Menentukan apakah masalahnya ada pada kernel, PipeWire, atau aplikasi tertentu.
-
Mengumpulkan log dan informasi sistem.
Periksa driver Kernel mana yang digunakan oleh perangkat PCI
Untuk menampilkan driver kernel yang menangani setiap perangkat, gunakan perintah lspci (Daftar PCI) dengan opsi -k. Mencari masalah yang diketahui secara spesifik pada nama driver dan model perangkat keras Anda sebelum melaporkan masalah ke Ask Fedora.
$ sudo lspci -k
Driver perangkat keras baru terus diperbarui. Jika Anda melihat perangkat yang terdaftar sebagai tidak dikenal, lakukan kueri database ID perangkat PCI Anda.
$ sudo lspci -Q
Dan perbarui basis data PCI ID lokal Anda dengan menjalankan perintah update-pciids.
$ sudo update-pciids
Firmware ALSA
Paket Firmware ALSA berisi firmware untuk berbagai kartu suara pihak ketiga.
Lihat firmware mana yang sedang digunakan dengan menjalankan perintah berikut.
$ sudo dnf list alsa-firmware
Firmware ALSA biasa akan muncul <alsa-firmware.noarch>.
Jika firmware biasa tidak ada pada output, lakukan instal alsa-firmware.
$ sudo dnf install alsa-firmware
Jika ada firmware lain yang diinstal, letakkan di blocklist pada direktori konfigurasi untuk modprobe.
/etc/modprobe.d/*.conf
Tambahkan baris pada berkas konfigurasi.
blacklist <the module to blocklist>
Alat dracut membuat image awal yang digunakan oleh kernel untuk memuat modul perangkat blok. Opsi -f menimpa berkas initramfs yang sudah ada.
$ sudo dracut -f
Nyalakan ulang komputer Anda agar perubahan diterapkan.
$ sudo reboot
Informasi perangkat keras
Selalu berguna untuk menyertakan informasi rinci tentang perangkat keras suara Anda saat membuat berkas bug terkait suara. Untuk menghasilkan informasi ini, jalankan perintah ini:
$ alsa-info.sh --no-upload
Ini akan menghasilkan sebuah berkas yang berisi informasi rinci tentang perangkat keras suara Anda dengan nama /tmp/alsa-info.txt. Lampirkan berkas ini ke laporan bug Anda.
Apakah itu PipeWire?
PipeWire adalah server berbagi media, kerangka kerja multimedia tingkat rendah yang bertujuan untuk;
-
meningkatkan penanganan audio dan video di Linux
-
bekerja untuk semua pengguna di semua tingkatan
-
menawarkan dukungan untuk aplikasi berbasis PulseAudio, JACK (JACK Audio Connection Kit), ALSA, dan GStreamer
Pemeriksaan visual pada port
Qpwgraph adalah pengelola grafik yang didedikasikan untuk PipeWire.
Pemeriksaan visual pada port menggunakan Qpwgraph akan membantu menemukan semua perutean antara aplikasi dan perangkat dan mengubah perutean yang Anda perlukan. Misalnya, jika beberapa aplikasi dan perangkat terhubung dan terputus seperti di bawah ini,
-
Firefox: aplikasi konferensi video menggunakan protokol WebRTC
-
VLC: pemutaran media
-
OBS Studio: streaming langsung dan perekaman
-
Kartu suara atau mixer USB: perangkat
akan berguna untuk mempelajari bagaimana port terhubung ke aplikasi dan perangkat secara grafis.
Port bersifat terarah, bisa keduanya:
-
Port sumber (output). Terletak di tepi paling kanan dari node, port ini menghasilkan aliran audio/video/midi.
-
Port sink (input). Terletak di tepi paling kiri node, port ini mengkonsumsi aliran audio/video/midi.
Port juga memiliki jenis yang berbeda:
-
Audio (warna default: hijau)
-
Video (warna default: biru)
-
PipeWire/JACK MIDI (warna default: merah)
-
ALSA MIDI (warna default: ungu)
Port dengan tipe yang sama dan arah yang berlawanan dapat dihubungkan.
Periksa dokumentasi hulu untuk tautan panduan pengguna: Panduan Pengguna Qpwgraph.
Mengatasi Masalah Input Audio
Ikuti langkah-langkah berikut ini untuk mengatasi sebagian besar masalah input audio.
Langkah-langkah solusi:
Langkah 1: Instal Ulang PipeWire dan Paket Terkait
Pastikan komponen PipeWire yang diperlukan sudah diinstal dan berfungsi dengan benar.
$ sudo dnf reinstall pipewire pipewire-pulseaudio pipewire-alsa wireplumber
Kemudian nyalakan ulang sistem Anda.
Langkah 2: Periksa Status Layanan Audio
Pastikan bahwa layanan PipeWire dan WirePlumber aktif.
$ systemctl --user status pipewire
$ systemctl --user status pipewire-pulse
$ systemctl --user status wireplumber
Jika tidak berjalan, mulai dan aktifkan:
$ systemctl --user enable --now pipewire.socket
$ systemctl --user enable --now pipewire-pulse.socket
$ systemctl --user start pipewire
$ systemctl --user start pipewire-pulse
$ systemctl --user enable --now wireplumber
Langkah 3: Verifikasi Izin Pengguna
Periksa apakah pengguna Anda termasuk dalam grup yang benar:
$ groups
Jika audio
tidak ada, tambahkan:
$ sudo usermod -aG audio $USER
Mendiagnosis dan Memperbaiki Masalah Audio Bluetooth
Masalah audio Bluetooth sering kali dapat dikategorikan ke dalam salah satu dari tiga kategori: deteksi perangkat, pairing, atau profil audio yang hilang. Bagian ini memberikan panduan terstruktur untuk menentukan menata mana yang menjadi masalah dan cara mengatasinya.
Kategori 1: Perangkat Tidak Terdeteksi
Gejala
-
Perangkat audio Bluetooth tidak muncul di
bluetoothctl
atau Pengaturan GNOME. -
Tidak ada alamat MAC yang ditampilkan bahkan ketika perangkat dalam mode pemasangan.
Hal ini biasanya berarti tumpukan Bluetooth Linux tidak pernah menerima paket iklan dari perangkat. Penyebab umum meliputi:
-
Adaptor Bluetooth (perangkat HCI) tidak diinisialisasi atau didukung sepenuhnya.
-
Perangkat menggunakan versi Bluetooth yang lebih baru atau chipset yang memerlukan dukungan kernel atau firmware yang belum tersedia.
-
Periksa*
Gunakan btmon
untuk memantau lalu lintas Bluetooth dan mencari acara LE Advertising Report. Ketika perangkat Bluetooth terdeteksi dengan benar, Anda akan melihat baris seperti:
$ sudo btmon
Bluetooth monitor ver 5.81
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Random (0x01)
Address: C4:9D:61:BC:E7:09 (Static)
Data length: 25
16-bit Service UUIDs (partial): 1 entry
Unknown (0xfd2a)
Company: Sony Corporation (301)
Data[17]: 13000130ed000000004001fffd1c91351c
RSSI: -40 dBm (0xd8)
Laporan Iklan LE menunjukkan perangkat sedang melakukan aktivitas menyiarkan (beriklan).
-
Alamat adalah alamat MAC perangkat yang terdeteksi.
-
RSSI: Kekuatan sinyal; nilai negatif -40 dBm, berarti perangkat berada di dekatnya.
Sebagai langkah berikutnya, jalankan perintah bluetoothctl show
untuk menampilkan status dan konfigurasi adaptor Bluetooth saat ini. Perintah ini memberikan informasi seperti nama adaptor, status daya (hidup/mati), penemuan (apakah perangkat lain dapat melihatnya), dan kemampuan berpasangan.
$ bluetoothctl show
Controller A0:C5:89:3B:26:52 (public)
Manufacturer: 0x0002 (2)
Version: 0x08 (8)
Name: hanku
Alias: hanku
Class: 0x007c010c (8126732)
Powered: yes
PowerState: on
Discoverable: yes
DiscoverableTimeout: 0x000000b4 (180)
Pairable: yes
Hal ini berguna untuk memeriksa apakah adaptor Bluetooth Anda telah diinisialisasi dengan benar dan siap untuk memindai, memasangkan, atau menyambungkan ke perangkat.
CATATAN: Jika ada masalah, output bluetoothctl show
atau btmon
mungkin menunjukkan tanda-tanda seperti adaptor dimatikan, tidak dapat ditemukan, atau hilang sama sekali dari indeks. Misalnya, di btmon, jika tidak ada Laporan Iklan LE yang muncul, hal ini mungkin mengindikasikan perangkat Bluetooth tidak menyiarkan atau tidak terdeteksi.
Untuk melanjutkan, jalankan alat kontrol Bluetooth untuk membuat daftar perangkat Bluetooth dan statusnya.
$ bluetoothctl
Agent registered
[CHG] Device 40:19:20:19:69:9F RSSI: 0xffffffb9 (-71)
[CHG] Device 28:6B:B4:40:2F:87 RSSI: 0xffffffbd (-67)
[CHG] Device 28:6B:B4:4C:82:E5 RSSI: 0xffffffb9 (-71)
[WF-C710N]> scan on
SetDiscoveryFilter success
Discovery started
[DEL] Device C4:9D:61:BC:E7:09 LE_WF-C710N
[NEW] Device C4:9D:61:BC:E7:09 LE_WF-C710N
[WF-C710N]>
Berikut adalah ringkasan tentang apa yang terjadi dalam sesi bluetoothctl Anda:
-
Agen terdaftar: Agen Bluetooth (untuk pemasangan/autentikasi) telah berhasil didaftarkan.
-
[CHG] Perangkat … RSSI: 0xffffffffb9 (-71): RSSI (kekuatan sinyal) untuk perangkat yang diketahui telah berubah. Nilai 0xffffffffb9 hanyalah representasi heksa bertanda -71 dBm - sinyal sedang.
-
[WF-C710N]> pindai aktif → Anda telah memulai penemuan perangkat (pemindaian). WF-C710N adalah nama perangkat, yang biasanya ditetapkan oleh produsen.
-
Keberhasilan SetDiscoveryFilter → Filter apa pun untuk penemuan (Misalnya, hanya perangkat LE) berhasil diterapkan. LE berarti Low Energy, yang umum digunakan untuk perangkat audio Bluetooth.
-
Penemuan dimulai → Adaptor mulai memindai perangkat terdekat.
-
[DEL] Perangkat C4:9D:61:BC:E7:09 LE_WF-C710N → Perangkat telah dihapus dari cache/daftar internal untuk sementara - mungkin karena kemunculan kembali atau pembaruan profil.
-
[BARU] Perangkat C4:9D:61:BC:E7:09 LE_WF-C710N → Perangkat muncul kembali selama pemindaian dan sekarang terdaftar sebagai perangkat yang baru ditemukan.
CATATAN: Jika perangkat tidak pernah muncul dalam pemindaian (tidak ada MAC yang ditampilkan), hal ini sering kali tidak dapat diselesaikan dengan konfigurasi tingkat pengguna atau pemasangan ulang, dan mungkin mengindikasikan ketidakcocokan tingkat perangkat keras atau firmware.
Rekomendasi
-
Uji perangkat pada sistem operasi lain (Ubuntu LTS, Windows, macOS) untuk memastikan fungsionalitasnya.
-
Cari pelacak bug (Misalnya, kernel.org, Fedora Bugzilla, milis bluez) untuk masalah yang diketahui terkait dengan perangkat atau chipset tertentu.
-
Jika tidak ada solusi yang tersedia, pertimbangkan untuk menggunakan headset lain yang diketahui dapat bekerja dengan baik dengan Linux.
Komentar
-
Di forum komunitas, akan sangat membantu untuk membedakan masalah pendeteksian perangkat dari masalah pemasangan atau pengalihan profil. Banyak perangkat Bluetooth yang bekerja dengan baik di Linux. Namun, beberapa mungkin mengalami masalah-seperti gagal melakukan pairing atau tidak berpindah profil audio-karena codec yang tidak didukung. Memahami perbedaan antara jenis-jenis masalah ini akan membantu pengguna mengetahui apa yang diharapkan dan memudahkan kontributor untuk meningkatkan panduan dan dukungan.
Kategori 2: Pemasangan Gagal atau Tidak Lengkap
Gejala
-
Perangkat terlihat namun tidak dapat dipasangkan atau secara konsisten gagal tersambung
-
Batas waktu otorisasi atau kesalahan koneksi
-
Periksa*
-
Gunakan
bluetoothctl
untuk langkah-langkah manual.
$ bluetoothctl
Contoh perintah cepat bluetoothctl
:
power on agent on default-agent scan on pair <MAC> trust <MAC> connect <MAC>
-
Perbaiki
-
Lepaskan perangkat dan coba lagi pemasangan.
$ bluetoothctl remove <MAC>
-
Mulai ulang layanan Bluetooth.
$ sudo systemctl restart bluetooth
Untuk beberapa perangkat, pastikan untuk menahan tombol pairing sampai kedipan cepat dimulai.
Kategori 3: Profil Audio Hilang atau Gagal
Gejala
-
Perangkat dipasangkan tetapi tidak ada profil audio yang dapat digunakan (misalnya, A2DP, HSP) yang ditampilkan atau aktif.
-
Hanya HSP/HFP yang tersedia, A2DP (Profil Distribusi Audio Lanjutan) tidak ada.
-
Periksa*
-
Konfirmasi penggunaan PipeWire.
$ pactl info | grep Server
Contoh Keluaran:
Server String: /run/user/1000/pulse/native Server Protocol Version: 35 Server Name: PulseAudio (on PipeWire 1.4.2) Server Version: 15.0.0
Output ini menunjukkan bahwa sistem menggunakan lapisan kompatibilitas PulseAudio di atas PipeWire. Untuk memeriksa pengaturan audio lebih lanjut, perintah pactl list cards short
memberikan ringkasan ringkas semua kartu audio yang dikenali oleh PulseAudio. Perintah ini berguna untuk mengidentifikasi perangkat audio yang tersedia dengan cepat tanpa harus menyelami properti yang mendetail.
$ pactl list cards short
Contoh Keluaran:
42 alsa_card.pci-0000_00_1f.3 alsa 1092 bluez_card.14_06_A7_04_73_78 module-bluez5-device.c
Tidak adanya kartu terkait Bluetooth (dalam format bluez_card.XX_XX_XX_XX_XX_XX) pada keluaran perintah pactl list cards short
mengindikasikan adanya satu atau beberapa masalah.
Selanjutnya, perintah di bawah ini memfilter keluaran pactl list cards
untuk hanya menampilkan baris yang berisi profil atau nama, dengan mengabaikan huruf besar/kecil;
$ pactl list cards | grep -i 'profile\|name:'
Contoh Keluaran:
Name: alsa_card.pci-0000_00_1f.3
api.acp.auto-profile = "false"
Name: bluez_card.14_06_A7_04_73_78
bluez5.profile = "off"
Active Profile: a2dp-sink
Part of profile(s): headset-head-unit-cvsd, headset-head-unit
Part of profile(s): a2dp-sink-sbc, a2dp-sink-sbc_xq, a2dp-sink
Part of profile(s): headset-head-unit-cvsd, headset-head-unit
Penjelasan Baris demi Baris:
-
Nama: alsa_card.pci-0000_00_1f.3 → Ini adalah kartu audio internal atau berbasis PCI yang dikelola oleh ALSA.
-
api.acp.auto-profile = "false" → ACP (Profil Konfigurasi Lanjutan) dinonaktifkan untuk kartu ini; kartu ini tidak akan berpindah profil secara otomatis.
-
Nama: bluez_card.14_06_A7_04_73_78 → Ini adalah perangkat audio Bluetooth, yang diidentifikasi oleh alamat MAC-nya.
-
bluez5.profile = "off" → Di PipeWire (terutama dengan WirePlumber), nilai ini bisa jadi sudah usang atau tidak mencerminkan keadaan aktif yang sebenarnya, karena profil dapat diubah secara dinamis dan tidak selalu memperbarui properti yang tersimpan.
-
Profil Aktif: a2dp-sink → Ini mengindikasikan bahwa A2DP (Advanced Audio Distribution Profile) sedang aktif, memungkinkan streaming audio berkualitas tinggi. Profil ini juga mendukung HSP/HFP (mode headset) dan beberapa variasi A2DP berbasis SBC. Struktur ini membantu PipeWire memilih atau mengganti profil tergantung pada kasus penggunaan (misalnya, musik vs. panggilan)
CATATAN: Jika tidak ada kartu audio Bluetooth (misalnya, bluez_card) dan tidak ada profil aktif terkait Bluetooth (seperti a2dp-sink atau headset-head-unit), hal ini mengindikasikan adanya masalah pada sistem audio, baik PulseAudio atau PipeWire.
Rekomendasi
-
Uji pada sistem Fedora yang bersih dan terbaru, sebaiknya tanpa menginstal beberapa alat Bluetooth/audio yang saling bertentangan.
-
Pastikan perangkat audio Bluetooth berada dalam mode pemasangan yang benar - biasanya ditunjukkan dengan kedipan cepat - dengan mengikuti petunjuk dari pabriknya.
-
Hindari mengutak-atik atau menginstal ulang PipeWire/WirePlumber berdasarkan saran dari forum umum, kecuali jika log menunjukkan kegagalan layanan yang sebenarnya.
Opsi Debugging Pipewire
Debugging biasanya dimulai setelah bug diidentifikasi, dan bekerja paling baik ketika pengguna sangat paham dengan keadaan di sekitar bug.
PipeWire memiliki opsi debugging sendiri. Silakan lihat tautan dokumentasi hulu: PipeWire debugging.
Butuh Bantuan Lebih Lanjut?
Jika langkah-langkah di atas tidak menyelesaikan masalah Anda, kunjungi komunitas Fedora:
-
https://discussion.fedoraproject.org/ – Ask Fedora
Kontribusi dan umpan balik membantu meningkatkan dokumentasi Fedora untuk semua orang.
Want to help? Learn how to contribute to Fedora Docs ›