Sound configuration on Intel hardware

I have a Shuttle All-In-One PC and have installed Leap 42.1 on it. Yast sound configuration shows me 2 sound cards:

Haswell-ULT HD audio Controller and
8 Series HD Audio Controller

Whichever one I select to configure, I get the error message:

The kernel module snd-hda-intel for sound support could not be loaded.

How can I get this module loaded and which sound card should I use?

Can you help and provide a bit more information for a more complete picture as to your pc audio configuration ?

Please with PC connected to the internet send in an xterm/konsole the command (as a regular user) :


/usr/sbin/alsa-info.sh

and let the script run to completion. Please select the SHARE/UPLOAD option when prompted. When the script is complete it will provide a web address in the xterm/console for you to share with those trying to help. Please post that web address here. Possibly with that information we will be better able to provide a helpful recommendation.
.

Thanks for the prompt reply. Info uploaded to


http://www.alsa-project.org/db/?f=22cdc3b5d1cb1a9d77dab5d8883722b3cfbb89e5

I can’t explain that error. According to the diagnostic script, the sound module is loaded for both instances of the intel audio driver that are running.

I note this:

The short story is your sound by default is being sent to an HDMI audio out and not to an analog audio out. Typically speakers connect to an analog audio out. Hence if you are typing to play sound via speakers (and not via HDMI to a TV) then you will not nominally be getting any sound. If using pulse audio you could use an application like ‘pavucontrol’ to configure the sound for your device setup but you are not using pulse audio. Note pulse audio nominally allows the selection of the output device on a per multimedia application basis. By default for your setup (where sound-card-0 is HDMI) the sound will go to the HDMI device and so you you need to change the analog to be sound card-0 (which CAN NOT be done via YaST but needs a custom edit (do NOT try YaST for this as it will mislead you)) or you need to use the HDMI TV audio output. Again you don’t have pulse audio setup so you can’t redirect sound per application to the analog device as configured now.

The long story …

From the diagnostic script


!!Loaded ALSA modules
!!-------------------

snd_hda_intel
snd_hda_intel

Clearly two instances of the same snd_hda_intel alsa driver module running. Note in this case, YaST can not help you and running YaST sound will likely make this worse.


!!Sound Servers on this system
!!----------------------------

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No

ie no pulse audio running.


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7e14000 irq 49
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e10000 irq 48

ie the HDMI is the default audio device (sound card-0).




!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
    Subsystem: 1297:6010
--
00:1b.0 0403: 8086:9c20 (rev 04)
    Subsystem: 1297:6010

the above will come in handy later if it is desired to change the analog to be sound-card-0.

Please, can you post the content of /etc/modprobe.d/50-sound.conf file (if it exists) ?


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

again, its clear sound-card-0 is HDMI and sound-card-1 is analog.

Out of curiousity, do either of these two lines yield sound ?


aplay -d plughw:0,0 /usr/share/sounds/alsa/test.wav

or


aplay -d plughw:1,0 /usr/share/sounds/alsa/test.wav

If I had to guess, and if you are using analogue audio, I would guess the second aplay yields sound.
.

Many thanks, oldcpu, for taking the trouble to give me such a detailed reply.

The file /etc/modprobe.d/50-sound.conf doesn’t exist. Presumably this is set up by Yast if it’s successful.

The aplay commands you provided didn’t produce any sound via headphones plugged into the headphone jack on the machine. The machine has a HDMI connection but I only want to use headphones so I guess the analogue sound card is the one I need.

If I understand you correctly, using pulseaudio could possibly solve the problem. I’ve been using openSUSE since version 8.3 and have never used pulseaudio as I occasionally make recordings using audacity and I believe audacity had/has problems with pulseaudio. However, on this new machine I won’t be using audacity, so there’s no reason not to install pulseaudio. Do I need to do anything apart from installing the pulseaudio and pavucontrol packages?

Once again, many thanks for your help.

Nick

I think the headphones should have worked with this command:


aplay -d plughw:1,0 /usr/share/sounds/alsa/test.wav

where the “plughw:1,0” was designed to send sound to soundcard-1. Did you get any errors with that aplay command ?

Note with my proposal below, that (above) command should not work with the headphones.

I propose now, to instead create a custom /etc/modprobe.d/50-sound.conf file, and use that to force the analog sound to be card-0, and the HDMI sound to be card-1. Recall this:



!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
    Subsystem: 1297:6010
--
00:1b.0 0403: 8086:9c20 (rev 04)
    Subsystem: 1297:6010

and from the script this:


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Haswell HDMI

from that you can see the Haswell is the HDMI (ie the 00:03.0 0403: 8086:0a0c (rev 0b)) Ergo the “8 Series HD Audio” is the analog (ie the 00:1b.0 0403: 8086:9c20 (rev 04)).

So with root permissions create this file with a text editor and save it as /etc/modprobe.d/50-sound.conf


options snd_hda_intel index=0 vid=8086 pid=9c20
options snd_hda_intel index=1 vid=8086 pid=0a0c

where you can see I’ve assigned index=0 (ie sound card 0) to the analog and index=1 assigned to the HDMI.

With that in place, reboot (so to reload the sound modules). and test your sound. Try the command:


aplay -d plughw:0,0 /usr/share/sounds/alsa/test.wav

which I think should work for sound-card-0. Please report any errors.

Note you may need to check your mixer levels after this.

If sound does not work, please again as a regular user run in an xterm/konsole the diagnostic script:


/usr/sbin/alsa-info.sh

Good luck.

For any nntp users, that last few lines of my post should read:

If sound does not work, please again as a regular user run in an xterm/konsole the diagnostic script:


/usr/sbin/alsa-info.sh

Thanks very much, oldcpu, sound is now working fine with your solution.

Excellent !! Glad to read that worked.