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]