[2024-jan-12] The Wiki has been upgraded and its template changed from MonoBook to Vector for a more modern look and feel.

Welcome to the Slackware Documentation Project

Audio and snd-hda-intel


This HOWTO deals with issues related to sound cards which use the Intel HDA chipset.

Do you encounter audio problems such as:

  • No sound?
  • Headphones work but speakers do not?
  • Speakers work but headphones do not?
  • Speakers do not mute when headphones are plugged in?
  • Audio inputs are not recognised?

Diagnosing the issue

Execute the command

lsmod | grep snd

in a terminal window. If there is a reference to snd_hda_intel in the output then the snd-hda-intel kernel module has been loaded as the driver for the controller chip and the codec chips on the HD-audio bus.

Execute the command

aplay -l

in a terminal window. If there are multiple sound devices then you will need to identify and set the sound device that you wish to use. See http://docs.slackware.com/howtos:hardware:sound_problems_on_slackware

The fix

The snd-hda-intel kernel module tries to autodetect and configure your sound hardware, but this is not always successful. Some further configuration may help.

Often the fix is simple. Just create a file in the /etc/modprobe.d/ directory and provide suitable options to the snd-hda-intel kernel module. The actual file name is not important although it must have a .conf suffix. You could use snd-hda-intel.conf. Names used by other distributions to hold this information include sound.conf and alsa-base.conf.

A simple way is to execute (as root)

echo "options snd-hda-intel model=auto" > /etc/modprobe.d/snd-hda-intel.conf
If you use an editor to create files in /etc/modprobe.d/ be sure to remove any backup copies.

It is probably easiest just to reboot at this stage to check if it works right.

If you have multiple sound devices, then you can specify the index values that are to be assigned to each device, where index=0 is the default. For example, if

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

then you could assign card 1 to index=0 with /etc/modprobe.d/snd-hda-intel.conf containing

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 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)




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

 howtos:hardware:audio_and_snd-hda-intel ()