Bug 14533

Summary: Regression: ALC269 (Asus 1005HA) internal MIC doesn't work for kernel 2.6.31.5
Product: Drivers Reporter: bin.gao
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED INSUFFICIENT_DATA    
Severity: high CC: alan, tiwai
Priority: P1    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.31.5 Subsystem:
Regression: Yes Bisected commit-id:

Description bin.gao 2009-11-02 08:45:11 UTC
I had a Asus netbook 1005HA and alsa-info.sh reported it has an ALC269 codec.
The command "alsamixer -c 0" can correctly switch between internal mic ("MIC") and external mic (Front MIC). When "external mic" was selected, I can record normally by a externally plugged microphone. But when "internal mic" was select, I failed to record from the internal(built-in) mic. This issue happened only on 2.6.31.5 kernel(I didn't try other 2.6.31 series). I tried 2.6.30.3 and 2.6.32-rc5 but didn't find this issue. So I guess this is a alsa driver regression. (sound/pci/hda/patch_realtek.c?)

Other information:

For kernel 2.6.31.5:
# hda-verb /dev/snd/hwC0D0 0x23 get_connect_sel
# 0x5
This is correct, index 0x5 points to nid 0x12 (Digital MIC, i.e. internal mic).

For 2.6.30.3 and 2.6.32-rc5 (worked fine),
# hda-verb /dev/snd/hwC0D0 0x23 get_connect_sel
# 0x9
This is not correct, valid index should be 0x0 ~ 0x5.

If I manually set current connection index to 0x5, then the internal mic works fine:
# hda-verb /dev/snd/hwC0D0 0x23 set_connect_sel 0x5
Comment 1 Alan 2012-06-14 16:41:37 UTC
Is this problem still seen with modern kernels ?