Come risolvere i problemi audio

Hank Lee, Il gruppo SIG Musica e Audio Version F40 Last review: 2025-06-06
Questa pagina descrive alcune tecniche di base per la risoluzione dei problemi audio, utili per identificare la causa principale di un problema. Spiega anche quali informazioni includere quando si segnalano bug relativi all’audio.

Introduzione

I problemi audio in Fedora Linux possono derivare da diversi fattori, tra cui profili audio, procedure di accoppiamento, compatibilità dei dispositivi o configurazioni errate da parte dell’utente. I problemi più comuni che gli utenti potrebbero incontrare includono:

  • Nessuna uscita o ingresso audio

  • Solo “Uscita fittizia” disponibile

  • Microfoni non rilevati

  • Dispositivi audio mancanti dopo gli aggiornamenti

  • Connessioni audio Bluetooth non funzionanti

Questa guida offre un approccio passo-passo per diagnosticare e risolvere i problemi audio. Copre sia la risoluzione generale dei problemi sia soluzioni specifiche per problemi relativi all’ingresso audio, come microfoni mancanti o dispositivi di ingresso inattivi.

Diagnosticare il problema

  • Determinare se il problema riguarda il kernel, PipeWire o applicazioni specifiche.

  • Raccogliere log e informazioni di sistema.

Verificare quale driver del kernel è in uso dai dispositivi PCI

Per visualizzare i driver del kernel che gestiscono ogni dispositivo, utilizzare il comando lspci (List PCI) con l’opzione -k. Cerca problemi noti specifici per il nome del driver e il modello del tuo hardware prima di segnalare problemi su Ask Fedora.

$ sudo lspci -k

I driver per l’hardware vengono aggiornati continuamente. Se un dispositivo è elencato come sconosciuto, consulta il database degli ID dei dispositivi PCI.

$ sudo lspci -Q

E aggiorna il database locale degli ID PCI eseguendo il comando update-pciids.

$ sudo update-pciids

Firmware ALSA

Il pacchetto ALSA Firmware contiene firmware per diverse schede audio di terze parti.

Verifica quale firmware è in uso eseguendo il seguente comando.

$ sudo dnf list alsa-firmware

Il firmware ALSA standard apparirà come <alsa-firmware.noarch>.

Se il firmware standard non appare nell’output, installa alsa-firmware.

$ sudo dnf install alsa-firmware

Se è installato un altro firmware, inseriscilo nella lista di blocco nella directory di configurazione per modprobe.

/etc/modprobe.d/*.conf

Aggiungi la seguente riga nel file di configurazione.

blacklist <il modulo da inserire nella lista di blocco>

Lo strumento dracut crea un’immagine iniziale utilizzata dal kernel per precaricare i moduli dei dispositivi a blocchi. L’opzione -f sovrascrive il file initramfs esistente.

$ sudo dracut -f

Riavvia il computer per applicare le modifiche.

$ sudo reboot

Informazioni hardware

È sempre utile includere informazioni dettagliate sull’hardware audio quando si segnala un bug relativo all’audio. Per generare queste informazioni, esegui il seguente comando:

$ alsa-info.sh --no-upload

Verrà generato un file contenente informazioni dettagliate sull’hardware audio, nominato /tmp/alsa-info.txt. Allega questo file alla tua segnalazione di bug.

È un problema di PipeWire?

PipeWire è un server di condivisione multimediale, un framework multimediale di basso livello che ha come obiettivo;

  • migliorare la gestione di audio e video su Linux

  • funzionare per tutti gli utenti a tutti i livelli

  • offrire supporto per applicazioni basate su PulseAudio, JACK (JACK Audio Connection Kit), ALSA e GStreamer

Controlli visivi sulle porte

Qpwgraph è un gestore di grafi dedicato a PipeWire.

I controlli visivi sulle porte utilizzando Qpwgraph aiutano a scoprire tutto il routing tra applicazioni e dispositivi e a modificarlo secondo necessità. Ad esempio, se più applicazioni e dispositivi sono connessi e disconnessi come indicato di seguito,

  • Firefox: applicazione per videoconferenze che utilizza il protocollo WebRTC

  • VLC: riproduzione multimediale

  • OBS Studio: streaming live e registrazione

  • Schede audio USB o mixer: dispositivi

sarà utile capire graficamente come le porte sono connesse ad applicazioni e dispositivi.

Le porte sono direzionali e possono essere:

  • Porte sorgente (uscita). Situate al confine destro di un nodo, generano un flusso audio/video/MIDI.

  • Porte di assorbimento (ingresso). Situate al confine sinistro di un nodo, consumano un flusso audio/video/MIDI.

Le porte hanno anche diversi tipi:

  • Audio (colore predefinito: verde)

  • Video (colore predefinito: blu)

  • PipeWire/JACK MIDI (colore predefinito: rosso)

  • ALSA MIDI (colore predefinito: viola)

Le porte dello stesso tipo e di direzione opposta possono essere connesse.

Consulta la documentazione upstream per la guida utente Guida utente di Qpwgraph.

Risolvere i problemi di ingresso audio

Segui questi passaggi per risolvere la maggior parte dei problemi di ingresso audio.

Passaggi per la soluzione:

Passaggio 1: Reinstallare PipeWire e i pacchetti correlati

Assicurati che i componenti necessari di PipeWire siano installati e funzionino correttamente.

$ sudo dnf reinstall pipewire pipewire-pulseaudio pipewire-alsa wireplumber

Poi riavvia il sistema.

Passaggio 2: Verificare lo stato dei servizi audio

Check whether the PipeWire and WirePlumber user services are running:

$ systemctl --user status pipewire
$ systemctl --user status pipewire-pulse
$ systemctl --user status wireplumber

To ensure all services are active and enabled on login for the current user, run:

$ systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service

To enable these user services system-wide (for all users) and avoid creating per-user overrides under ~/.config/systemd/user/, run:

$ sudo systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service

Passaggio 3: Verificare i permessi dell’utente

Verifica che il tuo utente appartenga ai gruppi corretti:

$ groups

Se manca il gruppo audio, aggiungilo:

$ sudo usermod -aG audio $USER

Passaggio 4: Reimpostare i file di configurazione

Se la configurazione audio è corrotta, puoi reimpostarla spostando le vecchie cartelle di configurazione:

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

Poi riavvia il sistema.

Passaggio 5: Verificare l’hardware

Se stai utilizzando un microfono esterno, prova a ricollegarlo o a testarlo con un altro dispositivo per escludere problemi hardware.

Diagnosticare e risolvere i problemi audio Bluetooth

I problemi audio Bluetooth possono spesso essere suddivisi in tre categorie: rilevamento del dispositivo, accoppiamento o profilo audio mancante. Questa sezione fornisce una guida strutturata per determinare a quale di queste fasi appartiene il problema e come risolverlo.

Categoria 1: Dispositivo non rilevato

Sintomi

  • Bluetooth audio device does not appear in bluetoothctl or GNOME Settings.

  • No MAC address shown even while device is in pairing mode.

This usually means the Linux Bluetooth stack never received an advertisement packet from the device. Common causes include:

  • The Bluetooth adapter (HCI device) is not fully initialized or supported.

  • The device uses a newer Bluetooth version or chipset that requires kernel or firmware support not yet available.

Verifica

Use btmon to monitor Bluetooth traffic and look for LE Advertising Report event. When a Bluetooth device is detected properly, you will see lines like:

$ 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 indicates the device is actively broadcasting (advertising).

  • Address is the MAC address of the detected device.

  • RSSI: Signal strength; a negative value of -40 dBm, means the device is nearby.

As a next step, run the bluetoothctl show command to display the current status and configuration of the Bluetooth adapter. It provides information such as adapter name, power status (on/off), discoverability (whether other devices can see it), and 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

This is useful for checking if your Bluetooth adapter is properly initialized and ready for scanning, pairing, or connecting to devices.

If there is a problem, the output of bluetoothctl show or btmon may reveal signs like the adapter being powered off, not discoverable, or missing from the index entirely. For example, in btmon, if no LE Advertising Report appears, it may indicate the Bluetooth device is not broadcasting or not being detected.

To continue, start the Bluetooth control tool to list Bluetooth devices and their statuses.

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

Here’s a summary of what’s happening in your bluetoothctl session:

  • Agent registered: A Bluetooth agent (for pairing/authentication) has been successfully registered.

  • [CHG] Device …​ RSSI: 0xffffffb9 (-71): RSSI (signal strength) for a known device has changed. The value 0xffffffb9 is just a signed hex representation of -71 dBm — a moderate signal.

  • [WF-C710N]> scan on → You’ve started device discovery (scanning). WF-C710N is the device name, typically set by the manufacturer.

  • SetDiscoveryFilter success → Any filters for discovery (For example, only LE devices) were successfully applied. LE means Low Energy, which is common for Bluetooth audio devices.

  • Discovery started → The adapter began scanning for nearby devices.

  • [DEL] Device C4:9D:61:BC:E7:09 LE_WF-C710N → The device was removed from the internal cache/list temporarily — possibly due to reappearance or profile update.

  • [NEW] Device C4:9D:61:BC:E7:09 LE_WF-C710N → The device reappeared during scanning and is now listed as newly discovered.

If the device never appears in scans (no MAC shown), this is often not solvable by user-level configuration or re-pairing, and may indicate hardware or firmware-level incompatibility.

Raccomandazione

  • Test the device on other operating systems (Ubuntu LTS, Windows, macOS) to confirm functionality.

  • Search bug trackers (For example, kernel.org, Fedora Bugzilla, bluez mailing list) for known issues related to the specific device or chipset.

  • If no workaround exists, consider using another headset known to work well with Linux.

Commento

  • In community forums, it’s helpful to distinguish device detection issues from pairing or profile switching problems. Many Bluetooth devices work well under Linux. However, some may exhibit issues—such as failing to pair or not switching audio profiles—because of unsupported codecs. Understanding the differences between these issue types helps users know what to expect and makes it easier for contributors to improve guidance and support.

Categoria 2: Accoppiamento fallito o incompleto

Sintomi

  • Device is visible but cannot be paired or consistently fails to connect

  • Authorization timeouts or connection errors

Verifica

  • Use bluetoothctl for manual steps.

$ bluetoothctl

Example bluetoothctl prompt commands:

  power on
  agent on
  default-agent
  scan on
  pair <MAC>
  trust <MAC>
  connect <MAC>

Soluzione

  • Remove device and retry pairing.

$ bluetoothctl remove <MAC>
  • Restart Bluetooth service.

$ sudo systemctl restart bluetooth

For some devices, make sure to hold the pairing button until rapid blinking starts.

Categoria 3: Profili audio mancanti o non funzionanti

Sintomi

  • The device is paired but no usable audio profile (for example, A2DP, HSP) is shown or active.

  • Only HSP/HFP is available, A2DP (Advanced Audio Distribution Profile) is missing.

Verifica

  • Confirm PipeWire is used.

$ pactl info | grep Server

Example 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

This output shows that the system is using the PulseAudio compatibility layer on top of PipeWire. To further inspect the audio setup, the command pactl list cards short provides a concise summary of all audio cards recognized by PulseAudio. It’s useful for quickly identifying available audio devices without diving into detailed properties.

$ pactl list cards short

Example Output:

42 alsa_card.pci-0000_00_1f.3 alsa
1092 bluez_card.14_06_A7_04_73_78 module-bluez5-device.c

The absence of Bluetooth-related cards (in the format bluez_card.XX_XX_XX_XX_XX_XX) in the output of the pactl list cards short command indicates that one or more issues may be present.

Next, the command below filters the output of pactl list cards to only show lines containing either profile or name, ignoring case;

$ pactl list cards | grep -i 'profile\|name:'

Example 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

Line-by-Line Explanation:

  • Name: alsa_card.pci-0000_00_1f.3 → This is a built-in or PCI-based audio card managed by ALSA.

  • api.acp.auto-profile = "false" → ACP (Advanced Configuration Profile) is disabled for this card; it won’t automatically switch profiles.

  • Name: bluez_card.14_06_A7_04_73_78 → This is a Bluetooth audio device, identified by its MAC address.

  • bluez5.profile = "off" → In PipeWire (especially with WirePlumber), this value can be outdated or not reflect the actual active state, since profiles can be switched dynamically and not always update the stored property.

  • Active Profile: a2dp-sink → This indicates that the A2DP (Advanced Audio Distribution Profile) is currently active, allowing high-quality audio streaming. It also supports HSP/HFP (headset mode) and multiple SBC-based A2DP variations. This structure helps PipeWire choose or switch profiles depending on use case (for example, music vs. calls)

If there is no Bluetooth audio card (for example, bluez_card) present and no Bluetooth-related active profile (such as a2dp-sink or headset-head-unit), this indicates a problem in the audio system, whether PulseAudio or PipeWire.

Raccomandazione

  • Test on a clean and latest Fedora system, preferably without having installed multiple conflicting Bluetooth/audio tools.

  • Make sure the Bluetooth audio device is in proper pairing mode—usually indicated by rapid blinking—by following the manufacturer’s instructions.

  • Avoid tweaking or reinstalling PipeWire/WirePlumber based on general forum advice, unless logs show actual service failure.

Opzioni di debug di PipeWire

Il debug solitamente inizia dopo che il bug è stato identificato e funziona meglio quando gli utenti hanno familiarità con le circostanze che circondano il bug.

PipeWire dispone di proprie opzioni di debug. Consulta la documentazione upstream Debug di PipeWire.

Hai bisogno di ulteriore aiuto?

Se i passaggi precedenti non risolvono il tuo problema, visita la comunità Fedora:

Contributions and feedback help improve Fedora documentation for everyone.