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