Table of Contents
Audio and snd-hda-intel
Overview
Questo HOWTO tratta dei problemi con le schede audio che usano il chipset Intel HDA. La discussione originale è presa da qui http://docs.slackware.com/howtos:hardware:audio_and_snd-hda-intel?rev=1357431282
Diagnosticare il problema
Per prima cosa eseguire il comando
lsmod | grep snd
in una finestra di terminale. Se c'è un riferimento al modulo snd_hda_intel
allora il modulo del kernel snd-hda-intel
è stato caricato come driver per il chip di controllo del bus HD-audio. Questo un esempio
snd_seq_dummy 1456 0 snd_seq_oss 28985 0 snd_seq_midi_event 5621 1 snd_seq_oss snd_seq 51267 5 snd_seq_midi_event,snd_seq_oss,snd_seq_dummy snd_pcm_oss 39120 0 snd_mixer_oss 15436 1 snd_pcm_oss snd_hda_codec_hdmi 27753 4 snd_hda_codec_realtek 60054 1 snd_usb_audio 103831 2 snd_usbmidi_lib 18801 1 snd_usb_audio snd_rawmidi 19234 1 snd_usbmidi_lib snd_seq_device 5197 4 snd_seq,snd_rawmidi,snd_seq_oss,snd_seq_dummy snd_hda_intel 27371 4 snd_hda_codec 96971 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel snd_hwdep 6453 2 snd_usb_audio,snd_hda_codec snd_pcm 76135 5 snd_pcm_oss,snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel snd_page_alloc 7323 2 snd_pcm,snd_hda_intel snd_timer 18735 2 snd_pcm,snd_seq snd 59613 27 snd_hda_codec_realtek,snd_pcm_oss,snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_oss,snd_seq_device,snd_mixer_oss soundcore 5315 1 snd
Il modulo del kernel snd-hda-intel
cerca di riconoscere e configurare la scheda audio, ma potrebbe non funzionare sempre. Alcune configurazioni possono aiutare.
Spesso la soluzione è semplice. Basta creare un file nella cartella /etc/modprobe.d/
e fornire le giuste opzioni al modulo del kernel snd-hda-intel
. Il nome del file non è importante, basta che abbia estensione .conf
. Si può usare snd-hda-intel.conf
. Nomi usati da altre distribuzioni sono sound.conf
e alsa-base.conf
.
Un modo semplice di impostarlo è eseguire (come root)
echo "options snd-hda-intel model=auto" > /etc/modprobe.d/snd-hda-intel.conf
/etc/modprobe.d/
assicurarsi di rimuove ogni copia di backup del file.
A questo punto è più facile riavviare e vedere se l'audio funziona.
Come trovare le giuste configurazioni?
Il modo più semplice è usare un motore di ricerca e cercare “snd-hda-intel <Your make> <Your model>”.
Se la ricerca non ha successo, allora eseguire
cat /proc/asound/card*/codec* | grep Codec
L'output potrebbe essere qualcosa di simile
Codec: Realtek ALC889 Codec: Nvidia GPU 18 HDMI/DP
o
Codec: Nvidia GPU 84 HDMI/DP Codec: Nvidia GPU 92 HDMI/DP Codec: Realtek ALC1220
Si può leggere la documentazione nel file /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt
per vedere l'elenco dei possibili modelli che si possono usare con il vostro codec chip. Il default è sempre model=auto
, ma si sa che alcuni dispositivi necessitano di ulteriori configurazioni per funzionare. Un esempio che funziona per la mia macchina è
#options snd-hda-intel model=auto options snd-hda-intel model=intel-alc889a index=0 options snd-usb-audio index=4
o
#options snd-hda-intel model=auto options snd-hda-intel model=intel-alc889a index=0 options snd-usb-audio index=4
dove è servito cambiare l'ordine di caricamento dei dispositivi per avere la scheda audio Intel come primo dispositivo. In alternativa per definire il dispositivo di default, editare il file /etc/asound.conf
- asound.conf
# ALSA system-wide config file # By default, redirect to PulseAudio: #pcm.default pulse #ctl.default pulse pcm.!default { type hw card 3 device 0 } ctl.!default { type hw card 3 }
L'ID della scheda si recupera dal comando aplay -l
.
root@darkstar:~# aplay -l *** List of PLAYBACK Hardware Devices **** card 0: NVidia_1 [HDA NVidia], device 3: HDMI 0 [BenQ PD2700U] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia_1 [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia_1 [HDA NVidia], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia_1 [HDA NVidia], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0