[alsa-devel] [ALC668]: Asus N751JK - mic selection not working

Raymond Yau superquad.vortex2 at gmail.com
Wed Aug 5 03:40:36 CEST 2015


> --------------------------------
> 2. External microphone
> --------------------------------

> The Asus N751JK notebook (ALC668) has a 3,5mm 4-ring combo jack for
> headphones and microphone.
> The headphone is detected correct and auto-mute works good (jack
detection).
> The microphone is not detected and does not work.

> I was unable to get it to work with hdajackretask or any of the Asus model
settings, such as:
> * options snd_hda_intel model=,asus-mode4

> I was able to get the microphone to work with the following setting:
> * options snd_hda_intel model=,dell-headset-multi

> This setting creates two new items in PulseAudio making a total of three:
> * Internal microphone (works out of the box)
> * Headset microphone (works indeed with a headset)
> * Microphone (don't know if this works, since I don't have a single
> microphone, but it does not work with the headset)

> Unfortunately the auto-input-device-switch to the Headset microphone does
> not seem to work.
> When I plugin a headset, the headphones get detected and the Internal
speakers are muted.
> The Input device does not automatically switch from Internal microphone to
Headset microphone.
> I have to do this manually, after which it works.
> I don't know if the microphone has a jack detection.
> If it does not, maybe it is possible to use the headphones jack detection?

> I have added the alsa-info without any snd_intel / alsa modifications
here:
http://www.alsa-project.org/db/?f=0b5135bd12f28bb5cb182f83bfa21bc50022faa6

> Result of "pactl list sources" plugged and unplugged in this order, with
your previous patches applied.
>
>
> Nothing: http://pastebin.com/RWuiW0RG
> Headphones: http://pastebin.com/GvEkQ8HB
> Microphone: http://pastebin.com/NRiREULS
> Headset: http://pastebin.com/QuGLFD8A
> Subwoofer: http://pastebin.com/nxZNGgyY
>
> For dell-headset-multi, [JACK Headphone Mic] may need fix in pulseaudio
conf files

However it seem that Sound Preference in Mate Ubutnu 15.10 Alpha only show
active port of the source and You have to use pavucontrol to change the
Capture Source/Active port manually after you plug the jack


diff --git a/src/modules/alsa/mixer/paths/analog-input-headphone-mic.conf
b/src/modules/alsa/mixer/paths/analog-input-headphone-mic.conf
index eb5740a..9930916 100644
--- a/src/modules/alsa/mixer/paths/analog-input-headphone-mic.conf
+++ b/src/modules/alsa/mixer/paths/analog-input-headphone-mic.conf
@@ -25,6 +25,7 @@ description-key = analog-input-microphone
 [Jack Headphone Mic]
 required-any = any
 state.plugged = unknown
+state.unplugged = no

 [Element Capture]
 switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
index a67e1db..f7731de 100644
--- a/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
+++ b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
@@ -34,6 +34,7 @@ state.plugged = unknown

 [Jack Headphone Mic]
 state.plugged = unknown
+state.unplugged = no

 [Element Capture]
 switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-input-internal-mic.conf
b/src/modules/alsa/mixer/paths/analog-input-internal-mic.conf
index 898410a..ae8c97f 100644
--- a/src/modules/alsa/mixer/paths/analog-input-internal-mic.conf
+++ b/src/modules/alsa/mixer/paths/analog-input-internal-mic.conf
@@ -38,6 +38,10 @@ state.unplugged = unknown
 state.plugged = no
 state.unplugged = unknown

+[Jack Headphone Mic]
+state.plugged = unknown
+state.unplugged = yes
+
 [Jack Internal Mic Phantom]
 state.plugged = unknown
 state.unplugged = unknown


Following is a variant of the dell-headset-multi which support headset only

asus_headset model require

1) pin fixup only the headset mic pin and no headphone mic pin
2) create "Headset Mic Jack" kctl by spec->hs_mic_use_hp_sense and new
version of __snd_hda_jack_add_kct() with hp_pin as sense_nid
"Headset Mic Jack" is also slave of "Headphone Jack"

3) modify check_auto_mic_availability() to allow auto mic selection for
headset mic which use hs_mic_use_hp_sense
4) update mux_pin for alc668 codec when spec->auto_mic and
alc668_combo_type is equal to ALC_HEADSET_MODE_HEADSET by
snd_hda_gen_mic_autoswitch()

This new model only support headset and it does not support headphone nor
mic, only headphone has event input device and no headset mic event input

For Dell Alienware 14, 17 and 18 which have three jacks: headset, headphone
and mic, auto_mic is not enabled since two of  the three capture sources
are detectable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asus.patch
Type: text/x-patch
Size: 9526 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20150805/303b34c5/attachment-0001.bin>


More information about the Alsa-devel mailing list