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
Periksa apakah layanan pengguna PipeWire dan WirePlumber sedang berjalan:
$ systemctl --user status pipewire
$ systemctl --user status pipewire-pulse
$ systemctl --user status wireplumber
Untuk memastikan semua layanan aktif dan diaktifkan saat login bagi pengguna saat ini, jalankan:
$ systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service
Untuk mengaktifkan layanan pengguna ini secara system-wide (untuk semua pengguna) dan menghindari pembuatan override per-pengguna di ~/.config/systemd/user/, jalankan:
$ sudo systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service
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
bluetoothctlatau GNOME Settings. -
Tidak ada alamat MAC yang ditampilkan meskipun perangkat sedang dalam mode pairing.
Ini biasanya berarti stack Bluetooth Linux tidak pernah menerima paket advertisement dari perangkat tersebut. Penyebab umum meliputi:
-
Adapter Bluetooth (perangkat HCI) belum terinisialisasi sepenuhnya atau tidak didukung.
-
Perangkat menggunakan versi Bluetooth atau chipset yang lebih baru dan memerlukan dukungan kernel atau firmware yang belum tersedia.
-
Periksa*
Gunakan btmon untuk memantau lalu lintas Bluetooth dan cari event LE Advertising Report. Saat 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)
-
LE Advertising Report menunjukkan bahwa perangkat sedang aktif melakukan broadcast (advertising).
-
Address adalah alamat MAC dari perangkat yang terdeteksi.
-
RSSI: Kekuatan sinyal; nilai negatif seperti -40 dBm berarti perangkat berada di dekat.
Sebagai langkah berikutnya, jalankan perintah bluetoothctl show untuk menampilkan status dan konfigurasi adapter Bluetooth saat ini. Perintah ini memberikan informasi seperti nama adapter, status daya (on/off), discoverability (apakah perangkat lain dapat melihatnya), dan pairability.
$ 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
Ini berguna untuk memeriksa apakah adapter Bluetooth Anda sudah terinisialisasi dengan benar dan siap untuk scanning, pairing, atau connecting ke perangkat.
Jika ada masalah, output bluetoothctl show atau btmon dapat memperlihatkan tanda-tanda seperti adapter dalam keadaan mati, tidak discoverable, atau bahkan tidak muncul sama sekali di index. Sebagai contoh, di btmon, jika tidak ada LE Advertising Report, itu dapat menunjukkan bahwa perangkat Bluetooth tidak sedang melakukan broadcast atau tidak terdeteksi.
|
Untuk melanjutkan, jalankan Bluetooth control tool untuk menampilkan 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 ringkasan dari yang terjadi dalam sesi bluetoothctl Anda:
-
Agent registered: Agen Bluetooth (untuk pairing/autentikasi) berhasil didaftarkan.
-
[CHG] Device … RSSI: 0xffffffb9 (-71): RSSI (kekuatan sinyal) untuk perangkat yang sudah dikenal telah berubah. Nilai 0xffffffb9 hanyalah representasi hex bertanda dari -71 dBm — sinyal sedang.
-
[WF-C710N]> scan on → Anda telah memulai device discovery (scanning). WF-C710N adalah nama perangkat, biasanya ditetapkan oleh produsen.
-
SetDiscoveryFilter success → Filter discovery apa pun (misalnya, hanya perangkat LE) berhasil diterapkan. LE berarti Low Energy, yang umum pada perangkat audio Bluetooth.
-
Discovery started → Adapter mulai memindai perangkat di sekitarnya.
-
[DEL] Device C4:9D:61:BC:E7:09 LE_WF-C710N → Perangkat dihapus sementara dari cache/daftar internal — kemungkinan karena muncul kembali atau pembaruan profil.
-
[NEW] Device C4:9D:61:BC:E7:09 LE_WF-C710N → Perangkat muncul kembali saat scanning dan kini tercantum sebagai perangkat yang baru terdeteksi.
| Jika perangkat tidak pernah muncul dalam hasil scan (tidak ada MAC yang ditampilkan), ini sering kali tidak dapat diselesaikan melalui konfigurasi tingkat pengguna atau pairing ulang, dan dapat mengindikasikan inkompatibilitas pada tingkat perangkat keras atau firmware. |
Rekomendasi
-
Uji perangkat tersebut pada sistem operasi lain (Ubuntu LTS, Windows, macOS) untuk memastikan fungsinya.
-
Cari di bug tracker (misalnya, kernel.org, Fedora Bugzilla, bluez mailing list) untuk mengetahui adanya masalah yang sudah dikenal terkait perangkat atau chipset tertentu.
-
Jika tidak ada workaround, pertimbangkan menggunakan headset lain yang diketahui bekerja baik di Linux.
Komentar
-
Di forum komunitas, penting untuk membedakan masalah deteksi perangkat dari masalah pairing atau perpindahan profil. Banyak perangkat Bluetooth bekerja dengan baik di Linux. Namun, sebagian mungkin mengalami masalah—seperti gagal pairing atau tidak berpindah profil audio—karena codec yang tidak didukung. Memahami perbedaan jenis masalah ini membantu pengguna mengetahui apa yang diharapkan dan memudahkan kontributor memperbaiki panduan serta dukungan.
Kategori 2: Pemasangan Gagal atau Tidak Lengkap
Gejala
-
Perangkat terlihat tetapi tidak bisa dipasangkan atau terus gagal terhubung
-
Timeout otorisasi atau error koneksi
-
Periksa*
-
Gunakan
bluetoothctluntuk langkah manual.
$ bluetoothctl
Contoh perintah pada prompt bluetoothctl:
power on
agent on
default-agent
scan on
pair <MAC>
trust <MAC>
connect <MAC>
-
Perbaiki
-
Hapus perangkat lalu coba pairing ulang.
$ bluetoothctl remove <MAC>
-
Restart layanan Bluetooth.
$ sudo systemctl restart bluetooth
Untuk beberapa perangkat, pastikan Anda menahan tombol pairing sampai lampu berkedip cepat.
Kategori 3: Profil Audio Hilang atau Gagal
Gejala
-
Perangkat sudah paired tetapi tidak ada profil audio yang dapat digunakan (misalnya, A2DP, HSP) yang ditampilkan atau aktif.
-
Hanya HSP/HFP yang tersedia, A2DP (Advanced Audio Distribution Profile) tidak ada.
-
Periksa*
-
Pastikan PipeWire yang digunakan.
$ pactl info | grep Server
Contoh output:
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 konfigurasi audio lebih lanjut, perintah pactl list cards short memberikan ringkasan singkat semua kartu audio yang dikenali oleh PulseAudio. Ini berguna untuk mengidentifikasi perangkat audio yang tersedia dengan cepat tanpa harus melihat properti yang rinci.
$ pactl list cards short
Contoh output:
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 (dengan format bluez_card.XX_XX_XX_XX_XX_XX) pada output perintah pactl list cards short menunjukkan bahwa satu atau lebih masalah mungkin terjadi.
Selanjutnya, perintah di bawah ini memfilter output pactl list cards agar hanya menampilkan baris yang mengandung profile atau name, tanpa membedakan huruf besar dan kecil;
$ pactl list cards | grep -i 'profile\|name:'
Contoh output:
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 per baris:
-
Name: alsa_card.pci-0000_00_1f.3 → Ini adalah kartu audio bawaan atau berbasis PCI yang dikelola oleh ALSA.
-
api.acp.auto-profile = "false" → ACP (Advanced Configuration Profile) dinonaktifkan untuk kartu ini; profilnya tidak akan berpindah secara otomatis.
-
Name: 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 saja sudah usang atau tidak mencerminkan status aktif yang sebenarnya, karena profil dapat berpindah secara dinamis dan tidak selalu memperbarui properti yang tersimpan.
-
Active Profile: a2dp-sink → Ini menunjukkan bahwa A2DP (Advanced Audio Distribution Profile) sedang aktif, sehingga memungkinkan streaming audio berkualitas tinggi. Ini juga mendukung HSP/HFP (mode headset) dan beberapa variasi A2DP berbasis SBC. Struktur ini membantu PipeWire memilih atau mengganti profil sesuai kebutuhan penggunaan, misalnya musik atau panggilan.
| Jika tidak ada kartu audio Bluetooth (misalnya, bluez_card) dan tidak ada profil aktif terkait Bluetooth (seperti a2dp-sink atau headset-head-unit), ini menunjukkan adanya masalah pada sistem audio, baik PulseAudio maupun PipeWire. |
Rekomendasi
-
Uji pada sistem Fedora yang bersih dan terbaru, sebaiknya tanpa memasang banyak tool Bluetooth/audio lain yang saling bertentangan.
-
Pastikan perangkat audio Bluetooth berada dalam mode pairing yang benar—biasanya ditandai dengan kedipan cepat—dengan mengikuti petunjuk dari pabrikan.
-
Hindari mengutak-atik atau memasang ulang PipeWire/WirePlumber berdasarkan saran umum di forum, kecuali log menunjukkan kegagalan layanan yang nyata.
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 masukan membantu meningkatkan dokumentasi Fedora untuk semua orang.
Want to help? Learn how to contribute to Fedora Docs ›