[alsa-devel] Conexant 5051 lenovo-x200 fixes

Ulo Mets umets at osa.pri.ee
Tue Aug 23 13:32:21 CEST 2011

On 8/22/2011 3:00 PM, Takashi Iwai wrote:
> At Sat, 20 Aug 2011 18:14:20 +0300,
> Ülo Mets wrote:
>> On 08/19/2011 08:43 AM, Takashi Iwai wrote:
>>> At Fri, 19 Aug 2011 03:00:58 +0300,
>>> Ulo Mets wrote:
>>>> On 08/18/2011 01:08 PM, Takashi Iwai wrote:
>>>>> At Thu, 18 Aug 2011 03:45:33 +0300,
>>>>> Ulo Mets wrote:
>>>>>> Hi,
>>>>>> I am not a kernel developer, but occasionally dig into it if something gets in my way.
>>>>>> On Lenovo X200 Tablet none of the mixers showed Mic Boost adjustments, but HDA-Analyzer found them
>>>>>> and adjusted properly. So I inserted the corresponding controls, and it worked.
>>>>>> Then, during testing I found that the labels of External and Docking Mic are swapped,
>>>>>> so I exchanged these too. Since I could not test it on other hardware, I put it all on lenovo-x200 branch.
>>>>>> The patch applies to 3.1-rc2, I hope it is sufficiently recent.
>>>>>> The Mic Switches don't have any effect on my unit (X200T without modem)
>>>>> Could you try model=auto instead of patching?
>>>>> The recent auto-parser should work better.
>>>> Model=auto seems to give a very generic configuration, which indeed does
>>>> include working
>>>> Mic boost for Internal Mic. (Ext?) Mic Boost and gain are also present,
>>>> but jack sensing does not work,
>>>> so these cannot be tested.
>>> The automatic mic-switch by jack-sensing works without model=auto,
>>> right?  Then we need to fix it.  Could you give alsa-info.sh output?
>> Right. The alsa-info.sh output is attached.
> Thanks.
>>>> It would be nice to get the mute switches to work as well.
>>> Which mute switch do you mean exactly?
>> I see the "Mic Switch" controls in the input nodes 0x14 and 0x15, and some Mute controls
>> with hda-analyzer. But it may well be just wishful thinking. I wonder if anybody has seen the
>> datasheet of CX20561?
> Google is your friend :)
Is that so? I'll give you $100 for a set of keywords that leads to the datasheet. BTW, the chip revision
in question is -15Z

> But you can figure out almost all things in the codec proc file.
Yes, the Pin Defaults are correct in the proc file, and the control names in 0x14 and 0x15 contradict these.
That's why it was so easy to fix.

> What you should test is to check which I/O the pins 0x16, 0x17, 0x18
> and 0x19 correspond.  I suppose 0x16 = HP, 0x17 = mic-jack, 0x18 =
> dock-mic, 0x19 = dock-HP.
Almost. 0x16 = HP, 0x17 = dock-mic, 0x18 = ext-mic, 0x19 = dock-HP

> An easy way would be to test the jack-detection via hda-verb.
> 	# hda-verb /dev/snd/hwC0D0 0x16 GET_PIN_SENSE 0
> When any jack corresponds to the pin 0x16, it'll report 0x80000000
> upon plugged.
Nice tool. But ver. 0.3 reports 0xffffffff when plugged and 0x7fffffff when unplugged.

> When you finish figuring out these pins, please let me know.
> Takashi

More information about the Alsa-devel mailing list