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
Is this problem still seen with modern kernels ?