BR Indice(depth=1) Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,429027.0.html; rilasci="10.10 10.04 9.10 8.04";)
Introduzione
I problemi audio possono avere molte cause: assenza di codec, errata rilevazione automatica dell'hardware, configurazione o impostazioni errate e, nel peggiore dei casi, hardware non supportato.
In questa guida verranno mostrati i principali metodi per diagnosticare i problemi relativi alle schede audio.
Diagnostica
Riconoscimento
Ubuntu usa Alsa come server audio ed è già presente nel sistema.
Se Alsa ha rilevato la scheda, lo si può verificare digitando in una finestra di terminale il seguente comando:
cat /proc/asound/cards
Se la scheda audio è stata riconosciuta, l'output del comando precedente sarà simile al seguente:
cat /proc/asound/cards
potrà essere simile al seguente
0 [CMI8738MC6 ]: CMI8738-MC6 - C-Media PCI CMI8738-MC6 C-Media PCI CMI8738-MC6 (model 55) at 0xd800, irq 19 1 [V8237 ]: VIA8237 - VIA 8237 VIA 8237 with AD1888 at 0xe000, irq 20
In questo caso, sono state riconosciute due schede audio.Se il risultato del comando precedente fosse
no sound cards
oppure qualcosa di simile, la scheda audio non è stata rilevata.Se la scheda audio è ti tipo PCI, provare quindi a rilevare la scheda audio digitando in una finestra di terminale il seguente comando:
lspci | grep -i audio
oppure, se la scheda audio è di tipo Usb, digitare il comando:
lsusb
- Il comando restituirà il nome della scheda audio e sarà cominciare una ricerca per risolvere il problema.
Riproduzione
Se Alsa ha riconosciuto la scheda sarà possibile eseguire dei test di riproduzione.
In Ubuntu 8.04. digitare il seguente comando in una finestra di terminale:
aplay /usr/share/sounds/startup.wav
Nelle versioni di Ubuntu successive, digitare il seguente comando in una finestra di terminale:
aplay /usr/share/sounds/alsa/Front_Center.wav
In entrambi i casi, il risultato sarà simile al seguente:
Wiedergabe Wave '/usr/share/sounds/startup.wav' : Signed 16 bit Little Endian, Samplingrate: 44100 Hz, Stereo
Ciò significa che il file audio è stato riprodotto e si dovrebbe sentirne il suono.
Risoluzione dei problemi
Configurare il mixer
Potrebbe accadere che la scheda audio sia stata riconosciuta ma la prova di riproduzione non è andata a buon fine. E' quindi necessario verificare quali impostazioni impediscono la riproduzione. Questo è possibile attraverso il programma Alsamixer fornito dal pacchetto [apt://alsamixergui alsamixergui].
In particolare verificare che il controller PCM non sia impostato su "mute".
Reset del mixer
Se le impostazioni del mixer sono correte ma ancora non si sente nulla può essere di aiuto il reset completo delle impostazioni.
Digitare il seguente comando in una finestra di terminale:
sudo /etc/init.d/alsa-utils reset sudo /etc/init.d/alsa-utils start
In Ubuntu 10.10, digitare il seguente comando in una finestra di terminale:
sudo /sbin/alsa-utils reset sudo /sbin/alsa-utils start
Reimpostare Alsamixer.
Mantenere il volume
Potrebbe accadere che le impostazioni del volume non vengano mantenute al riavvio.
Digitare il seguente comando in una finestra di terminale:
sudo alsactl store
In rari casi occorre ripristinare il volume con il seguente comando:
sudo alsactl restore
Permessi utente
Potrebbe accadere che da Sistema → Preferenze → Audio non sia possibile selezionare una scheda audio.
Spesso questo avviene perché l'utente non dispone dei permessi necessari. In particolare, l'utente dovrebbe essere parte del gruppo "audio".
Blocco della scheda audio
Quando un programma per la riproduzione dell'audio non funziona, può essere dovuto al fatto che già un altro programma sta utilizzando la scheda audio.
Per verificarlo, digitare il seguente comando in una finestra di terminale:
lsof | grep pcm
oppure
lsof | grep snd
Il risultato sarà simile al seguente:
mplayer 5301 dm mem CHR 116,16 4705 /dev/snd/pcmC0D0p mplayer 5301 dm 15u CHR 116,16 4705 /dev/snd/pcmC0D0p
In questo caso, il programma Mplayer sta impegnando la scheda audio e nessun altro programma può utilizzarla. Se è così si dovrebbe chiudere Mplayer e configurare l'uscita audio attraverso il giusto server audio.
Alsa e Open Sound System
Alcuni programmi non possono comunicare con Alsa in quanto il suono è in uscita dal file di dispositivo /dev/dsp. Questo perché viene utilizzato il server audio 'OSS (Open Sound System) ormai obsoleto.
Al fine di far comunicare tali programmi con Alsa è necessario installare il pacchetto [apt://alsa-oss alsa-oss].
S/PDIF e TOSLINK
In presenza degli standard [http://it.wikipedia.org/wiki/S/PDIF S/PDIF e TOSLINK], il valore di uscita di IEC958 va impostato a zero per ottenere un uscita audio. COSA?
Dispositivi audio usb
Le schede audio usb, che includono anche le webcam con microfono incorporato ed uscita per le cuffie, sono supportate dal modulo snd-usb-audio. Si hanno ora più dispositivi audio usb collegati al computer in modo che accada che l'ordine dei dispositivi cambi dopo un avvio, ovvero ci si trovi nella situazione in cui il sistema imposti come predefinita una scheda audio sbagliata. Le soluzioni viste sopra non sono possibili perché si ha a che fare sempre con lo stesso modulo del kernel, ma anche per i dispositivi usb possibile determinarne l'ordine.
Per fare questo si deve determinare il numero id dei dispositivi audio usb. Il modo più semplice per fare questo è collegare i dispositivi e digitare il comando:
lsusb
L'output sarà un qualcosa simile al seguente:
Bus 008 Device 001: ID 0000:0000 Bus 007 Device 002: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter Bus 003 Device 002: ID 0471:0311 Philips PCVC740K ToUcam Pro [pwc]
Qui vi sono due dispositivi connessi al computer: una webcam (Philips PCVC740K ToUcam Pro) e una scheda audio usb (C-Media Electronics, Inc. Audio Adapter). La riga 0d8c: 000c è l'id usb della scheda audio. Questa consiste del vid (vendor id) e del pid (product id) nel formato vid:pid. Questa informazione deve essere immessa nel file /etc/modprobe.d/snd-usb-audio. Se il file non esiste è possibile crearlo ricorrendo ad un editor di testo ed ai privilegi amministrativi.
# Generico options snd-usb-audio index={a},{b} vid=0x{vid1},0x{vid2} pid=0x{pid1},0x{pid2} # Esempio options snd-usb-audio index=2,3 vid=0x0d8c,0x0471 pid=0x000c,0x0311
I valori fra parentesi graffe sono adattati. Nell'esempio, si considera che al computer sono connessi due dispositivi audio (scheda audio e webcam). Pertanto, le schede esterne saranno ordinate con l'opzione index= 2,3. Dopo il riavvio successivo il sistema dovrebbe ricordare l'ordine dato ai dispositivi audio usb ovvero che la scheda audio predefinita sarà la scheda audio usb (C-Media Electronics, Inc. Audio Adapter).
Chip Via
Per alcune schede audio VIA, vi sono più controller 'VIA DXS'. Può essere che non tutti siano stati regolati con valori alti.
Potrebbe verificarsi che il suono per alcune applicazioni è molto altro mentre è troppo basso per altro. Regolare al massimo in alsamixer tutti gli elementi DXS.
Reinstallazione dei moduli Alsa
Se si è gestita la configurazione della collocazione fatta in maniera selvaggia, i driver Alsa non saranno più disponibili e si dovrà reinstalllare l'ultimo kernel. Per fare questo digitare in un terminale il seguente comando:
sudo apt-get install --reinstall linux-image-$(uname -r)
I moduli Alsa sono parte del kernel e sono quindi riportato al suo stato originale.
Passare ad Alsa
Alcuni programmi non funzionano bene con il server audio. In questi casi è utile impostare l'uscita predefinita su Alsa. Andare su Sistema → Preferenze → Selettore sistemi multimediali . Questa voce del menù è nascosta in Ubuntu e per avviare il Selettore sistemi multimediali occorre digitare in un terminale:
gstreamer-properties
Se si desidera utilizzare i suoni di sistema, installare il pacchetto libesd-alsa0 (Da Ubuntu 10.10 il pacchetto libesd-alsa0 è stato rinominato in libesd0). Poi Alsa si avvierà chiedendo ad Esd i suoni di sistema e li elaborerà da sé.
Allora si avrà asoundconf impostato come scheda predefinita.
Disturbi di interrupt
Se il suono viene riprodotto a scatti può essere d'aiuto disabilitare l'HPET (High Precision Event Timers) nel BIOS e dare al kernel, attraverso GRUB, l'opzione di avvio pci=noacpi.
Gestione di più schede audio
Qualora Alsa abbia rilevato più di una scheda audio, l'output potrebbe essere stato direzionato sulla scheda sbagliata, ovvero il sistema ha automaticamente impostato come predefinita una scheda audio sbagliata.
Per selezionare la scheda audio predefinita, installare il pacchetto [apt://asoundconf-gtk asoundconf-gtk] e andare su Sistema → Preferenze → Default Soundcard.
Se ciò non dovesse funzionare digitare in una finestra di terminale il comando:
cat /proc/asound/modules
l'output darà il nome e l'indice di ogni dispositivo audio presente nel sistema. Prendere nota del nome e decidere quale scheda si desidera come predefinita.
Aprire con un [http://wiki.ubuntu-it.org/Ufficio/EditorDiTesto editor di testo] e con i [http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo privilegi di amministrazione] il file /etc/modprobe.d/alsa-base.conf. Alla fine del file dovrebbero essere presenti delle righe simili alle seguenti
options snd-1 index=0 options snd-2 index=1
, nel caso tali righe non siano presenti esse vanno aggiunte, dove snd-1 e snd-2 sono i nomi dei dispositivi ottenuti con il precedente comando. La scheda audio con index=0 sarà la scheda audio predefinita
Ulteriori risorse
[http://wiki.ubuntuusers.de/Soundprobleme Documento originale]