[SOUND/ALSA] two sound-cards using the same module

Hi :slight_smile:

I’ve apparently got two sound-controllers using the same kernel-module and YaSTs auto-generated modprobe-config doesn’t work in that case.

Here is the content of that file (50-sound):

options snd slots=snd-hda-intel,snd-hda-intel
# 3hqH.cALDBjs6+3E:Haswell HD Audio Controller
alias snd-card-1 snd-hda-intel
# u1Nb.PwcBmeUwJbF:Lynx Point High Definition Audio Controller
alias snd-card-0 snd-hda-intel

It’s all like: Load ‘bla’ first and then load ‘bla’!
I think the solution would be to use the ‘index’-option - but i am not really an expert.
Whichever is set as the primary output will output the test sound through HDMI and the second one through my laptop speakers :stuck_out_tongue:

Sound in KDE however will not work entirely and playing test sounds there will only result in errors.

It would be really nice if the default-configuration could support this case :slight_smile:

Ohh, and: With pulse-audio enabled there is output in KDE - it does its own thing, which is why i am using ALSA:wink:

You all have lovely days!
Leon George

Can i somehow append the output of alsa-info.sh? It is more than 15000 characters long

Send url of that file. When you create it it goes to w url

DId you try changing the order of the sound devices in yast?

Hi

i am not entirely sure what you mean…
/etc/modprobe.d/50-sound

That was what i meant by ‘setting it as primary’:


  │Index│Card Model                                  │
  │0    │Haswell HD Audio Controller                 │
  │1    │Lynx Point High Definition Audio Controller │

‘Changing the order’ by selecting 1 and going to Other->Set as the Primary Card.
Whichever order i choose - the test sound only ever comes from the second device.

I assume it always loads the HDMI-device first.

Sadly, my attempts to load them in order by ID failed.
This is my best shot:

options snd-hda-intel index=0,1 id=PCH,HDMI

any help is highly appreciated!
and - if you are able to use the bugtracker - can you file a bug report?

thank you :slight_smile:

When you run the audio diagnosis script it produces a file on a web site and gives you the URL

In any case If you turn on Pulse again and try pavolcontrol (you have to install) This gives control on source and sink for audio streams.

It is unclear about what result you got when you changed the order of the drivers. Sounds like it went back to original order but it is unclear.

Ok, thank you for your reply :slight_smile:

Why haven’t i thought of this earlier:
http://pastebin.com/2mCU5UbV

this is with “Haswell HD” being the primary output:

options snd slots=snd-hda-intel,snd-hda-intel
# 3hqH.cALDBjs6+3E:Haswell HD Audio Controller
alias snd-card-0 snd-hda-intel
# u1Nb.PwcBmeUwJbF:Lynx Point High Definition Audio Controller
alias snd-card-1 snd-hda-intel

and this is with Lynx:

options snd slots=snd-hda-intel,snd-hda-intel
# 3hqH.cALDBjs6+3E:Haswell HD Audio Controller
alias snd-card-1 snd-hda-intel
# u1Nb.PwcBmeUwJbF:Lynx Point High Definition Audio Controller
alias snd-card-0 snd-hda-intel

I can understand why that doesn’t have any effect lol!

i’ll need a sec to seed what that program does

Hmm, can’t edit anymore.

This pavucontrol-thing gives me two sliders for output.
it does seem to allow using headphones - not in the headphones-jack but the speakers-jack…

“No input devices available”
i checked and input doesn’t work in vlc.

“No cards available for configuration”
Maybe pulse doesn’t even know why it’s working?

Didn’t you turn Pulse Audio off?? You have to have it turned on in yast to use pavucontrol (PulsAudioVoumneControl)

pulse audio was on when i tested pavucontrol :slight_smile:
i’m forced to use pulse if i want to hear anything…
but not everything works with pulse: The headphones- and microphone-jack are not working.
also, pulse doesn’t recognize any devices for recording :frowning:

really i don’t want to debug pulse and use alsa instead :-/

I’m trying to understand your problem. … I note:

If I read that, you can not get sound to work on your PC , which you believe is due to two sound ‘cards’ using the same kernel sound module.

I also note:

It reads like you tried using pulse audio volume control (pavucontrol) but did not suceed well. Ultimately, pavucontrol should provide you the control over both audio sound cards, allowing you to redirect the audio from any application (that uses pulse audio) to your sound card of choice. I provided a blog description how to do this here: https://forums.opensuse.org/entry.php/96-Pulseaudio-Basics-for-openSUSE-with-pavucontrol I recommend you look at my two sound card examples there. It may be a ‘bit tricky’ wrt very confusing sound card labelling/titles in pavucontrol as the same alsa kernel module is being used in each case, but regardless the control for tuning should be there and it should be possible.

An alternative idea … (albeit this is my second idea to try and not the approach I would follow) … wrt multiple sound cards, can you post the content of your /etc/modprobe.d/50-sound.conf file ? Its useful to have that public as a backup, as I have some suggestions to edit that file. Is there a line that looks like: " options snd slots=snd-hda-intel,snd-hda-intel " ? Can you post its exact contents ?

I note this from the script:


!!Soundcards recognised by ALSA
!!-----------------------------
 
 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7a14000 irq 51
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7a10000 irq 50
 
 
!!PCI Soundcards installed in the system
!!--------------------------------------
 
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
 
 
!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------
 
00:03.0 0403: 8086:0c0c (rev 06)
        Subsystem: 1558:6555
--
00:1b.0 0403: 8086:8c20 (rev 05)
        Subsystem: 1558:6555

ie one card is 8086 : 0c0c (vid : pid) and the other is 8086 : 8c20 (where 8086 is the Intel vendor ID, I believe, and the other # corresponds to identifying the sound card).

Possibly you could try to either replace the " options snd slots=snd-hda-intel,snd-hda-intel " line in the 50-sound.conf (or maybe you should add … < not sure > with something like:


options snd_hda_intel index=0 model=auto vid=8086 pid=8c20
options snd_hda_intel index=1 model=auto vid=8086 pid=0c0c

possibly I have the code syntax wrong , and maybe instead it should be:


options snd_hda_intel index=0 model=auto vid=8086 pid=0c0c
options snd_hda_intel index=1 model=auto vid=8086 pid=8c20

and also I may have the order of sound cards wrong. You would need to reboot to test.

You may also need lines like:


alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel

at the end of the file.

I have actually never tried this myself (only read about it) so that may not work at all, and you may need instead to completely remove my suggestion.

and its even possible that something as simple as replacing :


 options snd slots=snd-hda-intel,snd-hda-intel  

with


 options snd slots=snd-hda-intel,  

in the 50-sound.conf file, followed by a restart to test would work. < not sure >
.

this mic/headphone issue is likely a different problem.

Look at your PC’s mixer settings:


**Simple mixer control 'Mic',0**
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] -34.50dB] [on]
  Front Right: Playback 0 [0%] -34.50dB] [on]
**Simple mixer control 'Mic Boost',0**
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
**Simple mixer control 'Digital',0**
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 0 [0%] -30.00dB]
  Front Right: Capture 0 [0%] -30.00dB]

Playback at 0% means no feedback wrt recording working. And Mic Boost at 0% is typically far too low. Also, if your mic is a digital mic, then its capture is at 0% and switched OFF.

wrt pavucontrol recognizing devices for recording, you need to be running in real time an application that records, before it will appear in pavucontrol.

WOW

thanks a lot!

these are the entire contents of the file:

kde works - alsa works

even all the jacks work!

is there a way to make yast do the configuration as awesome as you did?

Thanks interesting. So if I read that, by adding those two lines to your /etc/modprobe.d/50-sound.conf file, your HDMI device is no longer the default device.

Thats good news.

I confess I had read about this technique, but actually had never read (before you) of anyone succeeding in this working. I’m very happy to read this worked.

There could be, but I’m not familiar enough with yast sound configuration front end to know if that is the case.
.