[pulseaudio-discuss] [PATCH] alsa: make headset-mic scanned earlier than headphone-mic

Hui Wang hui.wang at canonical.com
Fri May 19 01:29:23 UTC 2017


Hello Tanu,

Could you please help take a look at this patch? This patch really fix 
an issue on some Dell machines (with realtek codec and has no internal 
microphone on them), And I think this minor change will not introduce 
regression, it is pretty safe.

Thanks in advance.
Hui.

On 05/16/2017 11:21 AM, Hui Wang wrote:
> On some Dell machines with realtek codec, they have a headset audio
> jack which supports headphone, headset and pure microphone, but this
> audio jack can only detect something is plugged in but doesn't have
> capabilites to distinguish what is plugged in. So we need to apply the
> fixup similar to ALC298_FIXUP_DELL1_MIC_NO_PRESENCE to the kernel
> driver. When something is plugged in, a pop-up dialogue shows up and
> users can select what is plugged in.
>
> On some Dell machines (especially desktop computers), they have no
> internal microphone, if users plug a headphone and select the
> headphone, the headphone is supposed to work, but there is no sound
> can be played via headphone.
>
> Through debugging, I found the root cause has something to do with
> the active_port of pa-source, since there is no internal microphone,
> and there is no other available input devices, the headphone-mic and
> headset-mic will be the candidates to be the active_port, and they
> have the same priority and headphone-mic is scanned earlier than
> headset-mic, so the headphone-mic is set to be the active_port. After
> users select the headphone, the function alc_update_headset_mode()
> in the kernel driver will be called, in this function it will check
> what is the default input device for that jack, if it is
> headphone-mic, that means users want this jack to work as a pure
> microphone jack, then it will configure the codec and the jack is
> changed to be a mic-in jack. As a result even users plug and select
> the headphone, but this jack can't work with headphone.
>
> A simple fix for this issue is to exchange the position of
> headphone-mic and headset-mic, then the headset-mic will be the
> active_port of pa-source if there is no internal microphone and no
> other available input devices.
>
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
> ---
>   src/modules/alsa/mixer/profile-sets/default.conf | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/modules/alsa/mixer/profile-sets/default.conf b/src/modules/alsa/mixer/profile-sets/default.conf
> index f412058..16ee567 100644
> --- a/src/modules/alsa/mixer/profile-sets/default.conf
> +++ b/src/modules/alsa/mixer/profile-sets/default.conf
> @@ -112,7 +112,7 @@ priority = 2
>   device-strings = front:%f
>   channel-map = left,right
>   paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
> -paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
> +paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic analog-input-headphone-mic
>   priority = 10
>   
>   [Mapping analog-surround-21]




More information about the pulseaudio-discuss mailing list