====== Audio and snd-hda-intel ====== ===== Overview ===== 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 ". 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 ====== * Originally written by [[wiki:user:allend|David Allen]] for the SlackDocs Wiki Project * Contributions by [[wiki:user:vharishankar|Harishankar]] ====== References ======= * ''/usr/src/linux/Documentation/sound/alsa/HD-Audio.txt'' * ''/usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt'' {{tag>howtos hardware snd-hda-intel audio author_allend}}