Re: nForce 430 / ASUS M2NPV-VM snd_hda_intel (surround) sound problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



FYI, I'm eagerly watching this discussion as a user from the sidelines.  
I'll be happy to test out release candidates once they come out, but 
until then I don't want to mess with my(mostly) working settings.

Keep going guys!

Trevor

Takashi Iwai wrote:
> At Mon, 16 Apr 2007 20:42:10 +0200,
> Prakash Punnoor wrote:
>   
>> Am Montag 16 April 2007 schrieb Takashi Iwai:
>>     
>>> At Mon, 16 Apr 2007 19:03:51 +0200,
>>>
>>> Prakash Punnoor wrote:
>>>       
>>>> Am Montag 16 April 2007 schrieb Takashi Iwai:
>>>>         
>>>>> At Mon, 16 Apr 2007 16:51:21 +0200,
>>>>>
>>>>> Prakash Punnoor wrote:
>>>>>           
>>>>>> Am Montag 16 April 2007 schrieb Takashi Iwai:
>>>>>>             
>>>>>>> At Sat, 14 Apr 2007 11:24:49 +0200,
>>>>>>>
>>>>>>> Prakash Punnoor wrote:
>>>>>>>               
>>>>>>>> So my guess is that probably setting ad1986a_3st_init_verbs is
>>>>>>>> wrong for my mobo.
>>>>>>>>
>>>>>>>> 	{0x0f, AC_VERB_SET_CONNECT_SEL, 0x2},
>>>>>>>> 	{0x10, AC_VERB_SET_CONNECT_SEL, 0x1},
>>>>>>>>                 
>>>>>>> You're using older version.  The latet HG version has different
>>>>>>> values there.  Please try the HG version first then further
>>>>>>> debugging...
>>>>>>>               
>>>>>> Nope doesn't work. I didn't put in complete hg drivers
>>>>>>             
>>>>> Why not?
>>>>>           
>>>> Because within 5 minutes I didn't find an easy way to deploy the hg tree
>>>> into kernel sources except copiying the directions to correct locations
>>>> by examining the kernel directory tree which is not very user friendly...
>>>>
>>>>         
>>>>> Anyway, if these verbs are harmful for your devices, we need to adjust
>>>>> it a bit.  Try to comment out these verbs then confirm that the
>>>>> surround is working again.
>>>>>           
>>>> It does.
>>>>
>>>>         
>>>>> Then get the connection of the
>>>>> corresponding widgets from /proc/asound/card0/codec#* file and compare
>>>>> with the above values.
>>>>>           
>>>> Node 0x0f [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>>>>   Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
>>>>   Amp-Out vals:  [0x00 0x00]
>>>>   Connection: 8
>>>>      0x1f* 0x20 0x1d 0x1d 0x27 0x28 0x29 0x2a
>>>> Node 0x10 [Audio Selector] wcaps 0x300101: Stereo
>>>>   Connection: 3
>>>>      0x20* 0x1c 0x1f
>>>>
>>>> Please remember, there is still the bug left, that when I change ch
>>>> setting, I have to alter surr/center/lfe vol as they are otherwise muted.
>>>>         
>>> Hmm, I can't follow the thread right now, so could you give a detailed
>>> problem description again, how to reproduce the problems?
>>>       
>> With 2.6.21-rc6, surr and center/lfe remain silent, regardless of alsamixer 
>> setting. When I patch ad1986a_3st_init_verbs out, it works.
>>
>> Another related bug is above:
>>
>>     
>>>> Please remember, there is still the bug left, that when I change ch
>>>> setting, I have to alter surr/center/lfe vol as they are otherwise muted.
>>>>         
>> I guess writing 0xb000 is not enough, as the lower 6 bits are gain value. Or 
>> does the gain get applied somewhere else?
>>     
>
> It corresponds to "Mic Boost" control.
>
>   
>>> The widgets 0x0f and 0x10 are basically only for inputs (line and
>>> mic-in selections).  Thus I'm wondering why these affects to outputs
>>> at all...
>>>       
>> Well, I am not sure how to read the specs:
>>
>> 0x0f Chooses the mic inputs betweeb the MIC_1/2 and C/LFE pins. Contains the 
>> mic gain boost amp.
>>
>> 0x10 Chooses the line in inputs between the line in, surround and MIC_1/2 
>> pins.
>>
>> I think with those NIDs you actually select between "I want line in" or "I 
>> want surround out" and whatever.
>>     
>
> It sounds like so although it's just a guess work.
>
>   
>> I remeber having troubles capturing sound via mic in or line in using audacity 
>> alsa driver. I only managed it with audacity oss driver (with alsa oss kernel 
>> emu). I guess this is related to wrong setting of above NIDs?
>>     
>
> Maybe.  The 0x0f and 0x10 are really mysterious setting on AD1986A.
>  
>   
>>> Also, make sure that changing only these verbs do the same effect.
>>> That is, instead of commenting out, put 0 to the verbs for 0x0f and
>>> 0x10 in ad1986a_3st_init_verbs, and don't touch other lines.
>>>       
>> This works, I get sound.
>>     
>
> Then, we seems to need reset 0x0f and 0x10 at each channel setting.
> Try the patch below.  This will reset 0x0f and 0x10 to 0 when 6ch
> channel mode is chosen.  On 2ch channel mode, these values should be
> back to make mic and line working (and no surround outputs, of
> course).
>
>
> Takashi
>
> diff -r 4b6ed4ef4820 pci/hda/patch_analog.c
> --- a/pci/hda/patch_analog.c	Mon Apr 16 19:20:17 2007 +0200
> +++ b/pci/hda/patch_analog.c	Mon Apr 16 21:07:45 2007 +0200
> @@ -764,9 +764,11 @@ static struct hda_verb ad1986a_ch2_init[
>  	/* Surround out -> Line In */
>  	{ 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
>  	{ 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
> +	{ 0x10, AC_VERB_SET_CONNECT_SEL, 0x1 },
>  	/* CLFE -> Mic in */
>  	{ 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
>  	{ 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
> +	{ 0x0f, AC_VERB_SET_CONNECT_SEL, 0x4 },
>  	{ } /* end */
>  };
>  
> @@ -774,9 +776,11 @@ static struct hda_verb ad1986a_ch4_init[
>  	/* Surround out -> Surround */
>  	{ 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
>  	{ 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
> +	{ 0x10, AC_VERB_SET_CONNECT_SEL, 0x0 },
>  	/* CLFE -> Mic in */
>  	{ 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
>  	{ 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
> +	{ 0x0f, AC_VERB_SET_CONNECT_SEL, 0x4 },
>  	{ } /* end */
>  };
>  
> @@ -784,9 +788,11 @@ static struct hda_verb ad1986a_ch6_init[
>  	/* Surround out -> Surround out */
>  	{ 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
>  	{ 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
> +	{ 0x10, AC_VERB_SET_CONNECT_SEL, 0x0 },
>  	/* CLFE -> CLFE */
>  	{ 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
>  	{ 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
> +	{ 0x0f, AC_VERB_SET_CONNECT_SEL, 0x0 },
>  	{ } /* end */
>  };
>  
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux