At Wed, 24 Aug 2011 07:53:00 +0200, Takashi Iwai wrote:
In Rec screen of Alsamixer all three mic volume and boost controls are present. Autosensing of Dock Mic works, and so do its controls. Internal mic works too, but autosensing of Ext mic does not.
Does ext-mic pin (0x18) jack-sense work with hda-emu at all? When this pin is selected, the recording is done via another ADC (0x15) instead of the one for int-mic and dock-mic (0x14). Try to reopen the recording stream when you plug the ext-mic. It might be a bug in the dynamic ADC-switching of the running stream.
The patch below should fix the ADC-switching behavior.
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda/conexant - Enable ADC-switching for auto-mic mode, too
The ADC-switching can work also in the auto-mic mode, too.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/patch_conexant.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 4c462c3..5616444 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c @@ -3866,7 +3866,7 @@ static void cx_auto_parse_input(struct hda_codec *codec) } if (imux->num_items >= 2 && cfg->num_inputs == imux->num_items) cx_auto_check_auto_mic(codec); - if (imux->num_items > 1 && !spec->auto_mic) { + if (imux->num_items > 1) { for (i = 1; i < imux->num_items; i++) { if (spec->imux_info[i].adc != spec->imux_info[0].adc) { spec->adc_switching = 1;