SDB:Intel-HDA sound problems
tagline: From openSUSE
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.
There a a lot of different hda-intel soundcards on the market, unfortunately YaST can't always automatically configure them correctly.
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.
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.
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.