Cara mengatasi masalah suara

Hank Lee, SIG Musik dan Audio Versi F40 Last review: 2025-06-06
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

Langkah 4: Atur ulang berkas konfigurasi

Jika konfigurasi audio rusak, Anda dapat mengatur ulang dengan memindahkan folder konfigurasi yang lama:

----  $ mv ~/.config/pulse ~/.config/pulse_backup $ mv ~/.config/pipewire ~/.config/pipewire_backup
----

Kemudian boot ulang sistem Anda.

Langkah 5: Periksa perangkat keras

Jika Anda menggunakan mikrofon eksternal, coba sambungkan kembali atau uji coba dengan perangkat yang berbeda untuk mengesampingkan masalah perangkat keras.

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:

Kontribusi dan umpan balik membantu meningkatkan dokumentasi Fedora untuk semua orang.