Am Freitag 13 April 2007 schrieb Trevor Bradley:
> I *didn't* get it working.  I eventually got stereo sound working by
> eliminating all references to 5.1 sound (try eliminating your .asoundrc
> file if you've already created one).

[..]
> Prakash Punnoor wrote:
> > Am Donnerstag 22 Februar 2007 schrieb Trevor Bradley:
> >> For reference, I've fixed this problem.  Be sure not to just do an rmmod
> >> of snd_hda_codec, but *every* snd module.  Do an lsmod and rmmod
> >> everything that looks like snd*.  I was trying to reload snd_hda_codec
> >> while leaving other alsa 1.0.11 drivers loaded.
> >>
> >> That should have been obvious, but it wasn't.
> >>
> >> No clue if 1.0.14rc2 works at all (I'm sshing to home to fix it), but at
> >> least I have updated drivers.
> >>
> >> Thanks for the advice Oliver.  Eventually I got it. :)
> >
> > Could you tell me how you got it working? I have the same mobo and I only
> > managed to get stereo out of it. I am currently using kernel 2.6.21-rc6.
> > I am testing with
> >
> > speaker-test -Dplug:surround51 -c 6
> >
> > I have unmuted and set vol to high/max for pcm, front, surround, center
> > and lfe. I have set channel to 6ch. Everything else is muted.
> >
> > :-(


Hah! I managed it!!! Just tested with speaker-test, so far. I hacked the 
driver a bit:

In patch_analog.c in static int patch_ad1986a(struct hda_codec *codec)

        case AD1986A_3STACK:
                spec->num_mixers = 2;
                spec->mixers[1] = ad1986a_3st_mixers;
                //spec->num_init_verbs = 3;
                //spec->init_verbs[1] = ad1986a_3st_init_verbs;
                //spec->init_verbs[2] = ad1986a_ch2_init;
                spec->channel_mode = ad1986a_modes;
                spec->num_channel_mode = ARRAY_SIZE(ad1986a_modes);
                spec->need_dac_fix = 0;//1;
                spec->multiout.max_channels = 6;//2;
                spec->multiout.num_dacs = 3;//1;
                break;

I don't yet know whether it is completely correct what I did and what is the 
minimal change needed.

Perhaps some of the changes will lead to regressions, I need to check further. 

I think setting max channels and num_dacs has nor meaning, as probably the get 
overwritten on ch set, right? dac_fix probably changes the way num_dacs are 
assigned to?

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},

What do those magic number 0x1 and 0x2 mean here? I looked into hda specs and 
ad1986a specs. 0xf is mic selector and 0x10 is line selector. Does is select 
which physical output is chosen?

I will test later whether leaking dac_fix as 1 and ust taking out 
ad1986a_3st_init_verbs will be enough.

Cheers,
-- 
(°=                 =°)
//\ Prakash Punnoor /\\
V_/                 \_V

Attachment: signature.asc
Description: This is a digitally signed message part.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to