Date: Tue, 19 Dec 2006 04:24:34 +0900 From: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp> To: "Andrew Pantyukhin" <infofarmer@FreeBSD.org> Cc: multimedia@freebsd.org, Ariff Abdullah <ariff@freebsd.org> Subject: Re: snd_hda: loud distorted sound with NVidia MCP51 Message-ID: <sa6vek9uhvx.wl%tamaru@myn.rcast.u-tokyo.ac.jp> In-Reply-To: <cb5206420612181050s71681a59tfc9d7a8b66d7d74a@mail.gmail.com> References: <sa6mz612cxq.wl%tamaru@myn.rcast.u-tokyo.ac.jp> <20061207010750.4f73bc15.ariff@FreeBSD.org> <sa6psawadmy.wl%tamaru@myn.rcast.u-tokyo.ac.jp> <sa6zm9umnrh.wl%tamaru@myn.rcast.u-tokyo.ac.jp> <20061212010805.3b1b3dff.ariff@FreeBSD.org> <sa6d56qjp8n.wl%tamaru@myn.rcast.u-tokyo.ac.jp> <20061212033104.051a7d0f.ariff@FreeBSD.org> <cb5206420612181050s71681a59tfc9d7a8b66d7d74a@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
At Mon, 18 Dec 2006 21:50:00 +0300, Andrew Pantyukhin wrote: > > On 12/11/06, Ariff Abdullah <ariff@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?sa6vek9uhvx.wl%tamaru>