[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Àudio i snd-hda-intel

Work in progress by Jordi Garcia Soler

Perspectiva General

Aquest COM tracta amb els problemes relacionats amb targetes de so que utilitzen el conjunt de xips Intel HDA.

Et trobes amb problemes d'àudio com:

  • Cap so?
  • Els auriculars funcionen però els altaveus no?
  • Els altaveus funcionen però els auriculars no?
  • Els altaveus no es silencien quan els auriculars estan connectats?
  • No es reconeixen les entrades d'Àudio?

Diagnosticant el problema el

Executa la ordre

lsmod | grep snd

en una finestra de terminal. Si hi ha una referència a snd_hda_intel en la eixida, aleshores el mòdul de nucli snd-hda-intel ha sigut carregat així com el controlador per al xip controlador i el xip de codec al bus HD-audio.

Execute la ordre

aplay -l

en una finestra de terminal. Si hi ha més d'un dispositiu d'àudio caldrà que identifiques i definisques el dispositiu que t'agradaria utilitzar. Mira http://docs.slackware.com/howtos:hardware:sound_problems_on_slackware

La solució

El mòdul snd-hda-intel kernel intenta auto-detectar i configurar el teu maquinari de so, però no sempre amb èxit. Una mica de configuració extra pot ajudar.

Sovint la solucion és senzilla. Tan sols crea un fitxer al directori /etc/modprobe.d/ i proporciona-li les opcions adequades al mòdul del nucli snd-hda-intel. El nom del fitxer en sí no és important malgrat que ha de tindre el sufixe .conf. Pots utilitzar snd-hda-intel.conf. Els noms utilitzats per altres distribucions per a sostindre aquesta informació inclouen sound.conf i alsa-base.conf.

Una forma simple de fer-ho és executar (com root)

echo "options snd-hda-intel model=auto" > /etc/modprobe.d/snd-hda-intel.conf
Si utilitzes un editor per a crear els fitxers a /etc/modprobe.d/ assegura't d'esborrar qualsevol còpia de seguretat.

És probablement més fàcil reiniciar en aquesta fase per a comprovar si tot funciona correctament.

Si tens múltiples dispositius de so, pots especificar els valors d'índex que s'han d'assignar a cada dispositiu, on index=0 és el valor per defecte. Per exemple, si

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: CX20756 Analog [CX20756 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

aleshores podries assignar index=0 a la targeta 1 amb /etc/modprobe.d/snd-hda-intel.conf contenint

alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel

options snd-hda-intel id=Generic_1 index=0
options snd-hda-intel id=Generic index=1

How to find the right options?

Very often the problem has already been solved. Use your favourite internet search engine and search for “snd-hda-intel <Your make> <Your model>”.

If that is unsuccessful then execute

cat /proc/asound/card*/codec* | grep Codec

The output from that command should be something like

  Codec: SigmaTel STAC9227

You can then read the documentation in the file /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt to see a list of possible models that can be used with your codec chip. The default is always model=auto, but it has been reported that some devices seem to need that option supplied explicitly to be made to work.

If that does not work and you are very keen then take a look at the file /usr/src/linux/Documentation/sound/alsa/HD-Audio.txt.

The table below shows options that have been reported to work. Suggestions for additions/amendments are very welcome!

Make Model Output of '/sbin/lspci | grep Audio' Option Slackware Version
? ? 00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01) options snd-hda-intel model=auto 13.37
? ? 0:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05) options snd-hda-intel model=auto 13.37
Asus Eee PC 1001px ? options snd-hda-intel model=auto 13.1 with ALSA 1.0.24
Asus K50IJ 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) options snd-hda-intel model=auto, enable_msi=1 14.0
Dell Dimension E520 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02) options snd-hda-intel model=3stack 13.37
Dell Inspiron 1420 ? options snd-hda-intel model=dell 13.37
Dell Inspiron 1545 ? options snd-hda-intel model=dell-m4-1 13.1
Dell Inspiron 15R i7 ? options snd-hda-intel model=dell-s14 13.1
Gateway 4022 00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2) options snd-hda-intel model=3stack 13.1
Gateway GT5468 ? options snd-hda-intel model=haier-w66 ?
Gigabyte GA-M68MT-S2 Motherboard 00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2) options snd-hda-intel model=auto 14.0
HP Pavilion dv6-2140ca 01:00.1 Audio device: ATI Technologies Inc RV710/730 options snd-hda-intel model=hp-dv5, enable_msi=1 13.37
Intel DG965SS motherboard 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02) options snd-hda-intel model=auto 14.0
Lenovo X120e 00:01.1 Audio device: ATI Technologies Inc Device 1314 options snd-hda-intel index=1 13.37 (with 2.6.38.4 kernel from /testing)
Toshiba Satellite L30-10X 00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01) options snd-hda-intel model=hp, enable_msi=1 12.0.0, 12.1.0, 12.2.0 (audio input not tested)

.

Sources

References

  • /usr/src/linux/Documentation/sound/alsa/HD-Audio.txt
  • /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt

 ca-valencia:howtos:hardware:audio_and_snd-hda-intel ()
Translations of this page?: