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