User Tools

Site Tools


audio_and_snd-hda-intel

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
Se si usa un editor di testo per creare il file in /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

Risorse

audio_and_snd-hda-intel.txt · Last modified: 2023/09/22 21:32 by gperon