Home Wiki > SDB:Intel-HDA sound problems
Sign up | Login

SDB:Intel-HDA sound problems

tagline: From openSUSE


Symptom

The Soundcard looks like it was properly configured with YaST but you can't hear any sound, can't use the mixer or the channels are wrongly assigned. This might also help if your Laptop don't switch of the speaker if you plugin a headphone. In this case you should be able after the changes to control the volumes (speaker and headphone) independently.

If the only problem you encounter is that you do not have any sound when plugging headphones then have a look a the "No sound from Headphones" section below.

Cause

There a a lot of different hda-intel soundcards on the market, unfortunately YaST can't always automatically configure them correctly.

Solution

Important Note:

With openSUSE 11.2 the naming scheme for configuration files in /etc/modprobe.d/ has changed.

If you run a version older than openSUSE 11.2, the respective file will be called /etc/modprobe.d/sound.

If you run openSUSE 11.2 or newer, the file will be called /etc/modprobe.d/50-sound.conf.

In a nutshell, for openSUSE 11.2 and newer all configuration files in /etc/modprobe.d/ have to end with .conf, otherwise they will be ignored.

Open a terminal like konsole and login as root. Find out what kind of codec is used for your soundcard:

head -n 1 /proc/asound/card0/codec*

Note: 
If for some reason you don't have a /proc/asound directory, then you are either not using ALSA, or your ALSA config is corrupt.  
Possibly restoring /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) described below to its original condition may at least get ALSA starting again.

here is an example output:

  ==> /proc/asound/card0/codec#0 <==
  Codec: Realtek ALC883
  
  ==> /proc/asound/card0/codec#1 <==
  Codec: Conexant ID 2c06

In this example the codec for the card is codec#0, ALC883.

The options for the modules are available in the kernel-source.rpm, install this if it's not already on your system.

In the file /usr/src/KERNEL_VERSION/Documentation/sound/alsa/ALSA-Configuration.txt search for the codec, in this example again ACL883.

  ALC883/888
	  3stack-dig	3-jack with SPDIF I/O						
	  6stack-dig	6-jack digital with SPDIF I/O					
	  3stack-6ch    3-jack 6-channel						
	  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O				
	  6stack-dig-demo  6-jack digital for Intel demo board				
	  acer		Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)		
	  medion	Medion Laptops							
	  medion-md2	Medion MD2							
	  targa-dig	Targa/MSI							
	  targa-2ch-dig	Targs/MSI with 2-channel					
	  laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)		
	  lenovo-101e	Lenovo 101E							
	  lenovo-nb0763	Lenovo NB0763							
	  lenovo-ms7195-dig Lenovo MS7195						
	  6stack-hp	HP machines with 6stack (Nettle boards)				
	  3stack-hp	HP machines with 3stack (Lucknow, Samba boards)			
	  auto		auto-config reading BIOS (default)

You have to enter the option into /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2). You can control the values in this file via Yast's Sound module with advanced configuration. The below shows directly editing the config file.

The original file should look like this:

  options snd-hda-intel enable=1 index=0
  # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller
  alias snd-card-0 snd-hda-intel

after the change:

  options snd-hda-intel model=6stack-dig enable=1 index=0
  # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller
  alias snd-card-0 snd-hda-intel

Add or change only the model= part of the configuration. Now go to the "Restarting the sound server" section below.

Warning! Don't create a backup file of 'sound' in /etc/modprobe.d/ as this would also be read!

No sound from Headphones

If you have an Intel sound card which requires snd-hda-intel driver but do not have any sound when plugging in headphones, you are in the correct section. YaST2 should have created the /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) file and it should contain the following (or something very similar):

options snd slots=snd-hda-intel
# u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
alias snd-card-0 snd-hda-intel

The driver problem occurs with every distribution so it is normal. Anyways, you are going to have to modify the options line either by directly editing the file, or using Yast's Sound Module - Advanced Configuration. The new file should look like the following (lines staring with a pound sign # are comments):

options snd-hda-intel model=z71v position_fix=1
# u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
alias snd-card-0 snd-hda-intel

That should do the trick. Now go to the "Restarting the sound server" section below.

If after restarting the sound you still don't have any output from your headphones, make sure you un-muted the headphones using alsamixer (in command line) or your favorite graphical mixer (such as KMix).

Note! On Sony Vaio FZ21M, you have to insert the following options:

options snd-hda-intel model=vaio enable=1 index=0 position_fix=1

On Dell Adamo 13 options line should be:

options snd-hda-intel model=dell-m6 position_fix=1

On Dell Studio 17, you have to use

options snd-pcsp index=-2
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel model=dell-m6-amic

Restarting the sound server

Before restarting make sure to change ALSA settings such that Microphone channels are muted to prevent sound loopback and squealing sound. Not doing this might cause high and continuous beep sounds. One can do this using alsamixer.

alsamixer

Save the file /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) after the changes and restart the soundsystem as root.

rcalsasound restart

You have to restart the mixer you use, so start as user kmix or gmix, depending on what windowmanager you use. Open the mixer and set all channels to medium and check if you can hear sound now.

If you start KMix with a left mouse click, you will see only the main volume slider. Click on Mixer to see all channels.

SigmaTel STAC9271D: Make sure that the master volume is almost maximum. If not, you might have no sound. You should use speaker channel to control the volume.

If this was not successful, use another option in /etc/modprobe.d/sound (openSUSE <= 11.1) or /etc/modprobe.d/50-sound.conf (openSUSE >= 11.2) and restart the procedure.

<keyword>sound,hda-intel,ICH8,ICH7,ICH6,headphone</keyword>