List Info

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




Re: nForce 430 / ASUS M2NPV-VM snd_hda_intel (surround) sound problems
country flaguser name
Germany
2007-04-14 04:24:49
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

------------------------------------------------------------
-------------
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
Alsa-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user


Re: nForce 430 / ASUS M2NPV-VM snd_hda_intel (surround) sound problems
country flaguser name
Germany
2007-04-14 07:13:57
Am Samstag 14 April 2007 schrieb Prakash Punnoor:

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

OK, I was right. Taking out ad1986a_3st_init_verbs is enough
for making it 
work:

	case AD1986A_3STACK:
		spec->num_mixers = 2;
		spec->mixers[1] = ad1986a_3st_mixers;
		spec->num_init_verbs = 1;//2;
		//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 = 1;
		spec->multiout.max_channels = 2;
		spec->multiout.num_dacs = 1;
		break;

There is still one bug left for me: If I change ch setting,
I need to adjust 
vol for sur, cl/lfe again, otherwise they stay mute. Bug of
driver or 
alsamixer?

Would be nice if we got a real fix for kernel 2.6.21. 

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

------------------------------------------------------------
-------------
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
Alsa-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user


Re: nForce 430 / ASUS M2NPV-VM snd_hda_intel (surround) sound problems
country flaguser name
France
2007-04-14 11:05:47
Prakash Punnoor <prakashpunnoor.de> writes:

> 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?

As far as I have understood the spec, 0x2 means that NID 0xf
widget's
input is connected to the third widget listed in NID 0xf
widget's
connection list.  It's like a pointer into the connection
list.

So you need widget's 0x0f connection list to know the actual
widget
connected its input.

Likewise for 0x1.

HTH



------------------------------------------------------------
-------------
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://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Alsa-user mailing list
Alsa-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user


Re: nForce 430 / ASUS M2NPV-VM snd_hda_intel (surround) sound problems
country flaguser name
Germany
2007-04-16 04:14:44
At Sat, 14 Apr 2007 11:24:49 +0200,
Prakash Punnoor wrote:
> 
> 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},

You're using older version.  The latet HG version has
different values
there.  Please try the HG version first then further
debugging...


Takashi

------------------------------------------------------------
-------------
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://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Alsa-user mailing list
Alsa-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user


[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )