[alsa-devel] A problem about two microphones

Takashi Iwai tiwai at suse.de
Thu Jul 6 09:40:02 CEST 2017


On Thu, 06 Jul 2017 04:09:07 +0200,
Hui Wang wrote:
> 
> Recently we met a problem, on a lenovo machine, it has two
> microphones(one is microphone, the other is headset-mic), and both of
> them are located in the front panel.
> 
> When the driver assigns names for them (via the function
> hda_get_autocfg_input_label()), they are assigned the same name "Mic"
> since they have the same location. So there are two "Mic", but the
> pulseaudio can't handle two "Mic", in the pulseaudio, it can only
> handle multiple inputs/microphones with different names, like "Mic"
> and "Front Mic". If two microphones have the same name, we can only
> see one of them through pulseaudio.
> 
> I don't know how to solve this problem, the simplest way to workaround
> it I can figure out is to change one of the microphone's location, let
> them have differnt location, then they have differnet names.
> Pin Default 0x02a19040: [Jack] Mic at Ext Front
> Changed to:
> Pin Default 0x04a19040: [Jack] Mic at Ext Right
> 
> Do you have any ideas to solve this problem?

As you noticed, an easy fix would be to fake the front mic by
adjusting the pin config.  It's more or less acceptable, IMO.
It'd be OK by adding a proper comment explaining the situation.

Another option would be to rename the kctls later as you like.
If PA works no matter which string prefix is, it's also an acceptable
workaround, but I guess this would be come bigger changes than the
above although it achieves an almost same result.

Or fix PA, it's a better one for kernel side ;)


thanks,

Takashi


More information about the Alsa-devel mailing list