Come risolvere i problemi audio
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
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
bluetoothctlo 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
bluetoothctlper 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:
-
https://discussion.fedoraproject.org/ – Ask Fedora
I contributi e i feedback aiutano a migliorare la documentazione di Fedora per tutti.
Want to help? Learn how to contribute to Fedora Docs ›