Comment 52 for bug 590756

Revision history for this message
kayno (kayno) wrote :

looks like this has been fixed in newer versions of alsa - i downloaded this version: http://ftp.kernel.org/pub/linux/kernel/people/tiwai/alsa/alsa-driver/alsa-driver-20101221.tar.gz and compiled and installed (./configure; make; make install) and now my mic works all the time, even after a reboot. i think the relevant fix is in the file alsa-driver/sound/pci/hda/patch_conexant.c:

        /* Node 14 connections: 0x17 0x18 0x23 0x24 0x27 */
        {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x50},
        {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
        {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2) | 0x50},
        {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
        {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
        {0x14, AC_VERB_SET_CONNECT_SEL, 2}, /* default to internal mic */

taking a look at a diff with the older version of alsa, you can see the AC_VERB_SET_CONNECT_SEL changed from 1 to 2:

2822c2944
< {0x14, AC_VERB_SET_CONNECT_SEL, 1}, /* default to internal mic */
---
> {0x14, AC_VERB_SET_CONNECT_SEL, 2}, /* default to internal mic */

if you dont want to go down that path, consider installing snd-hda-tools (add repos "deb http://ppa.launchpad.net/diwic/ppa/ubuntu lucid main" and "deb-src http://ppa.launchpad.net/diwic/ppa/ubuntu lucid main") and then use hda-verb to change the settings previously changed using hda-analyzer. you will need to figure out the options for hda-verb, i worked out how to change the audio selector:

$ sudo hda-verb /dev/snd/hwC0D1 0x14 SET_CONNECT_SEL 0

see the following ubuntu post for ideas on setting up a script to automate hda-verb: http://ubuntuforums.org/showpost.php?p=9826074&postcount=121

id go with installing the newer version of alsa though...