snd_hda: loud distorted sound with NVidia MCP51

Hiroharu Tamaru tamaru at myn.rcast.u-tokyo.ac.jp
Mon Dec 18 11:46:23 PST 2006


At Mon, 18 Dec 2006 21:50:00 +0300,
Andrew Pantyukhin wrote:
> 
> On 12/11/06, Ariff Abdullah <ariff at freebsd.org> wrote:
> > Committed. You can grab the latest binary modules or
> > patch from the usual place.
> 
> Hi! Thanks for all the effort. It seems I have the
> very same problem with ATI SB460 built-in audio
> (recognized as SB450).
> 
> dmesg: http://people.freebsd.org/~sat/abc/hda1.dmesg
> (skip the non-verbose beginning)
> 
> What can I try?

Reading _very_ briefly through your dmesg, 
I think the only essential difference from mine is:
pcm0: PCI Subvendor: 0x10b81734
which, I have
pcm0: PCI Subvendor: 0x81cb1043

Ariff's diff that made mine work was:

--- hdac.c      Tue Dec 12 14:26:13 2006
+++ hdac_asus_alc861.c  Tue Dec 12 02:00:54 2006
@@ -3527,6 +3527,15 @@
                                w->enable = 0;
                }
                break;
+       case HDA_CODEC_ALC861:
+               if (subvendor == 0x81cb1043) {
+                       struct hdac_audio_ctl *ctl;
+
+                       ctl = hdac_audio_ctl_amp_get(devinfo, 28, 1, 1);
+                       if (ctl != NULL)
+                               ctl->muted = HDA_AMP_MUTE_ALL;
+               }
+               break;
        case HDA_CODEC_ALC880:
                for (i = devinfo->startnode; i < devinfo->endnode; i++) {
                        w = hdac_widget_get(devinfo, i);

This is already commited. So look for this line
              if (subvendor == 0x81cb1043) {
and replace it with 
              if (subvendor == 0x81cb1043 || subvendor == 0x10b81734) {
and have a try.
# I haven't tried compiling from the sources myself though; Ariff was
# so quick to provide me the binaries... ;-)

If it doesn't help, well, we should read your dmesg more carefully.
Hopefully, my long message the other day will help you go through
the dmesgs yourself as well.
-- 
Hiroharu


More information about the freebsd-multimedia mailing list