SDB:Intel-HDA sound problems
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!
Problems with Intel Broadwell CPU and mainboard chipset both using the snd-hda-intel driver
Problem: (with Opensuse Leap 42.2) the audio section on the backplane remains mute when Linux plays audio. It is possible to generate a test tone in the YAST sound config for this jack. This test tone however appears regardless of the configured order of the both audio devices always for the lower entry (second interface). Which is an indicator that the config generated by YAST actually does not affect the order of the interfaces and that the Mainboard Chipset always remains second interface, leaving the HDMI sound as default output.
Also an
aplay -ll
shows HDMI configured as card0 and PCH as card1, regardless of anything done in YAST.
Solution:
Step 1) Find out the exact ID of your audio controllers. Look at the part after the colon in the rectangular brackets:
lspci -nn |grep -i audio
00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 0a)
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
Step 2) Edit the file /etc/modprobe.d/sound.conf which is usually maintained by YAST manually, assign the default / first sound device to the mainboard chipset and the second one to the Broadwell chipset.
options snd-hda-intel index=0 model=auto vid=8086 pid=8ca0
options snd-hda-intel index=1 model=auto vid=8086 pid=160c
After a reboot the audio signal should be on the audio output on your backplane instead of being defaulted to the HDMI interface. Also most likely the interfaces will look unconfigured in YAST. Ignore this, as reconfiguring the interfaces in YAST will undo your changes to the sound.conf.
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 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>