Comment 137 for bug 1332900

Revision history for this message
In , superquad.vortex2 (superquad.vortex2-linux-kernel-bugs) wrote :

the only way to test the headset mic is modify patch_realtek.c

the driver's pin fixup will add the missing pin and you don't need those user pin fixup anymore by remove patch=*.fw in alsa-base.conf

the driver disable auto mic selection when there is internal mic, headset mic and external mic after you add the headset mic pin

 mux pin (capture source control) in alsamixer determine the role of the combo jack is a headset or headphone

the current logic still not handle the external mic correctly and default to headphone

if (!snd_hda_jack_detect(codec, hp_pin))
  new_headset_mode = ALC_HEADSET_MODE_UNPLUGGED;
else if (mux_pin == spec->headset_mic_pin)
  new_headset_mode = ALC_HEADSET_MODE_HEADSET;
else if (mux_pin == spec->headphone_mic_pin)
 new_headset_mode = ALC_HEADSET_MODE_MIC;
 else
 new_headset_mode = ALC_HEADSET_MODE_HEADPHONE;

Sysfs Files !!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x12 0x99a30140
0x14 0x90170110
0x15 0x0321101f
0x16 0x03211020
0x18 0x40030008
0x19 0x03a11030
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x41000001
0x1e 0x411111f0
0x1f 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:
 0x12 0x99a30140
0x14 0x90170110
0x15 0x0321101f
0x16 0x411111f0
0x18 0x40030008
 0x19 0x03a11030
0x1a 0x90170111
 0x1b 0x411111f0
 0x1d 0x41000001
0x1e 0x411111f0
0x1f 0x411111f0