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

Assicurati che i servizi PipeWire e WirePlumber siano attivi.

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

Se non sono in esecuzione, avviali e abilitali:

$ 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

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

  • Il dispositivo audio Bluetooth non appare in bluetoothctl o nelle Impostazioni di GNOME.

  • Nessun indirizzo MAC visualizzato anche quando il dispositivo è in modalità di accoppiamento.

Questo di solito significa che lo stack Bluetooth di Linux non ha ricevuto un pacchetto di annuncio dal dispositivo. Le cause comuni includono:

  • L’adattatore Bluetooth (dispositivo HCI) non è completamente inizializzato o supportato.

  • Il dispositivo utilizza una versione o un chipset Bluetooth più recente che richiede supporto del kernel o del firmware non ancora disponibile.

Verifica

Usa btmon per monitorare il traffico Bluetooth e cerca l’evento LE Advertising Report. Quando un dispositivo Bluetooth viene rilevato correttamente, vedrai righe come:

$ 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 indica che il dispositivo sta trasmettendo attivamente (advertising).

  • Address è l’indirizzo MAC del dispositivo rilevato.

  • RSSI: Intensità del segnale; un valore negativo di -40 dBm indica che il dispositivo è vicino.

Come passo successivo, esegui il comando bluetoothctl show per visualizzare lo stato e la configurazione attuale dell’adattatore Bluetooth. Fornisce informazioni come il nome dell’adattatore, lo stato di alimentazione (acceso/spento), la visibilità (se altri dispositivi possono vederlo) e la possibilità di accoppiamento.

$ 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

Questo è utile per verificare se l’adattatore Bluetooth è correttamente inizializzato e pronto per la scansione, l’accoppiamento o la connessione ai dispositivi.

NOTA: Se c’è un problema, l’output di bluetoothctl show o btmon potrebbe mostrare segni come l’adattatore spento, non rilevabile o completamente assente dall’indice. Ad esempio, in btmon, se non appare alcun LE Advertising Report, potrebbe indicare che il dispositivo Bluetooth non sta trasmettendo o non viene rilevato.

Per continuare, avvia lo strumento di controllo Bluetooth per elencare i dispositivi Bluetooth e i loro stati.

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

Ecco un riepilogo di ciò che sta accadendo nella tua sessione di bluetoothctl:

  • Agent registered: Un agente Bluetooth (per accoppiamento/autenticazione) è stato registrato con successo.

  • [CHG] Device …​ RSSI: 0xffffffb9 (-71): L’RSSI (intensità del segnale) per un dispositivo noto è cambiato. Il valore 0xffffffb9 è solo una rappresentazione esadecimale con segno di -71 dBm — un segnale moderato.

  • [WF-C710N]> scan on → Hai avviato la scoperta dei dispositivi (scansione). WF-C710N è il nome del dispositivo, generalmente impostato dal produttore.

  • SetDiscoveryFilter success → Eventuali filtri per la scoperta (ad esempio, solo dispositivi LE) sono stati applicati con successo. LE significa Low Energy, comune per i dispositivi audio Bluetooth.

  • Discovery started → L’adattatore ha iniziato la scansione dei dispositivi vicini.

  • [DEL] Device C4:9D:61:BC:E7:09 LE_WF-C710N → Il dispositivo è stato temporaneamente rimosso dalla cache/elenco interno — forse a causa di una riapparizione o di un aggiornamento del profilo.

  • [NEW] Device C4:9D:61:BC:E7:09 LE_WF-C710N → Il dispositivo è riapparso durante la scansione ed è ora elencato come appena scoperto.

NOTA: Se il dispositivo non appare mai nelle scansioni (nessun MAC mostrato), questo spesso non è risolvibile tramite configurazione a livello utente o riaccoppiamento e potrebbe indicare un’incompatibilità a livello hardware o firmware.

Raccomandazione

  • Testa il dispositivo su altri sistemi operativi (Ubuntu LTS, Windows, macOS) per confermare il funzionamento.

  • Cerca nei tracker di bug (ad esempio, kernel.org, Fedora Bugzilla, mailing list di bluez) problemi noti relativi al dispositivo o chipset specifico.

  • Se non esiste una soluzione alternativa, considera l’uso di un’altra cuffia nota per funzionare bene con Linux.

Commento

  • Nei forum della comunità, è utile distinguere i problemi di rilevamento del dispositivo da quelli di accoppiamento o di cambio di profilo audio. Molti dispositivi Bluetooth funzionano bene su Linux. Tuttavia, alcuni possono presentare problemi, come il fallimento dell’accoppiamento o l’impossibilità di cambiare i profili audio, a causa di codec non supportati. Comprendere le differenze tra questi tipi di problemi aiuta gli utenti a sapere cosa aspettarsi e facilita il miglioramento delle guide e del supporto da parte dei contributori.

Categoria 2: Accoppiamento fallito o incompleto

Sintomi

  • Il dispositivo è visibile ma non può essere accoppiato o fallisce costantemente nel connettersi

  • Timeout di autorizzazione o errori di connessione

Verifica

  • Usa bluetoothctl per i passaggi manuali.

$ bluetoothctl

Esempio di comandi nel prompt di bluetoothctl:

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

Soluzione

  • Rimuovi il dispositivo e riprova l’accoppiamento.

$ bluetoothctl remove <MAC>
  • Riavvia il servizio Bluetooth.

$ sudo systemctl restart bluetooth

Per alcuni dispositivi, assicurati di tenere premuto il pulsante di accoppiamento fino a quando non inizia a lampeggiare rapidamente.

Categoria 3: Profili audio mancanti o non funzionanti

Sintomi

  • Il dispositivo è accoppiato ma nessun profilo audio utilizzabile (ad esempio, A2DP, HSP) è mostrato o attivo.

  • Solo HSP/HFP è disponibile, A2DP (Advanced Audio Distribution Profile) è mancante.

Verifica

  • Conferma che PipeWire sia in uso.

$ pactl info | grep Server

Esempio di 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

Questo output mostra che il sistema sta utilizzando il livello di compatibilità PulseAudio sopra PipeWire. Per ispezionare ulteriormente la configurazione audio, il comando pactl list cards short fornisce un riepilogo conciso di tutte le schede audio riconosciute da PulseAudio. È utile per identificare rapidamente i dispositivi audio disponibili senza approfondire le proprietà dettagliate.

$ pactl list cards short

Esempio di output:

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

L’assenza di schede relative a Bluetooth (nel formato bluez_card.XX_XX_XX_XX_XX_XX) nell’output del comando pactl list cards short indica che potrebbero esserci uno o più problemi.

Successivamente, il comando seguente filtra l’output di pactl list cards per mostrare solo le righe contenenti 'profile' o 'name', ignorando le maiuscole;

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

Esempio di 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

Spiegazione riga per riga:

  • Name: alsa_card.pci-0000_00_1f.3 → Questa è una scheda audio integrata o basata su PCI gestita da ALSA.

  • api.acp.auto-profile = "false" → ACP (Profilo di Configurazione Avanzato) è disabilitato per questa scheda; non cambierà automaticamente i profili.

  • Name: bluez_card.14_06_A7_04_73_78 → Questo è un dispositivo audio Bluetooth, identificato dal suo indirizzo MAC.

  • bluez5.profile = "off" → In PipeWire (in particolare con WirePlumber), questo valore può essere obsoleto o non riflettere lo stato attivo effettivo, poiché i profili possono essere cambiati dinamicamente e non sempre aggiornano la proprietà memorizzata.

  • Active Profile: a2dp-sink → Questo indica che il profilo A2DP (Advanced Audio Distribution Profile) è attualmente attivo, consentendo lo streaming audio di alta qualità. Supporta anche HSP/HFP (modalità cuffia) e diverse varianti di A2DP basate su SBC. Questa struttura aiuta PipeWire a scegliere o cambiare i profili in base al caso d’uso (ad esempio, musica contro chiamate)

NOTA: Se non è presente alcuna scheda audio Bluetooth (ad esempio, bluez_card) e nessun profilo attivo relativo a Bluetooth (come a2dp-sink o headset-head-unit), questo indica un problema nel sistema audio, sia PulseAudio che PipeWire.

Raccomandazione

  • Testa su un sistema Fedora pulito e aggiornato, preferibilmente senza aver installato più strumenti Bluetooth/audio in conflitto.

  • Assicurati che il dispositivo audio Bluetooth sia in modalità di accoppiamento corretta, solitamente indicata da un lampeggio rapido, seguendo le istruzioni del produttore.

  • Evita di modificare o reinstallare PipeWire/WirePlumber basandoti su consigli generici dei forum, a meno che i log non mostrino un’effettiva failure del servizio.

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:

I contributi e i feedback aiutano a migliorare la documentazione di Fedora per tutti.