Re: [PATCH] make alsa use corect patch for Realtek ALC889A

From: Kasper Sandberg
Date: Tue Apr 22 2008 - 16:54:07 EST


On Fri, 2008-04-18 at 12:16 +0200, Takashi Iwai wrote:
> At Fri, 18 Apr 2008 03:52:06 +0200,
> Kasper Sandberg wrote:
> >
> > On Wed, 2008-04-16 at 16:31 +0200, Takashi Iwai wrote:
> > > At Wed, 16 Apr 2008 13:01:44 +0200,
> > > I wrote:
> > > >
> > > > At Sat, 12 Apr 2008 18:17:23 +0200,
> > > > Kasper Sandberg wrote:
> > > > >
> > > > > Hello..
> > > > > I have a gigabyte X48-DQ6 motherboard, specification url:
> > > > > http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ClassValue=Motherboard&ProductID=2763&ProductName=GA-X48-DQ6
> > > > > they clearly state it uses a realtek alc 889a.
> > > > >
> > > > > google around, it seems lots of people which has this chip gets it
> > > > > detected as alc885, including me.
> > > > >
> > > > > now, audio works (atleast analog out, havent tested the rest), allthough
> > > > > i couldnt get the supposed feature of separate channel to front panel to
> > > > > work(doesent matter much to me though)
> > > > >
> > > > > interrested in fixing this just for the sake of fixing, i ventured into
> > > > > patch_realtek.c, and found the structure that defined patches for hda
> > > > > audio.
> > > > >
> > > > > i inspected my /proc/asound/card0/codec#2 file (only one except the id
> > > > > file), and found the following information:
> > > > > Codec: Realtek ALC885
> > > > > Address: 2
> > > > > Vendor Id: 0x10ec0885
> > > > > Subsystem Id: 0x1458a002
> > > > > Revision Id: 0x100103
> > > > >
> > > > > i then modified patch_realtek.c to detect mine as ALC889A, and assign
> > > > > the correct patch to it (well, the one used for 889).
> > > > >
> > > > > After rebuilding, it now uses patch 883 instead of 882 as it did before.
> > > > > i dont appear to have recieved any separate front panel channel,
> > > > > however, it still seems more correct now, and is probably wise to keep
> > > > > for when 883 is improved to support the hardware fully.
> > > > >
> > > > > the only thing i notice has changed, is the message i get from the
> > > > > kernel, before i changed, it said:
> > > > > hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...
> > > > > now it says:
> > > > > hda_codec: Unknown model for ALC883, trying auto-probe from BIOS...
> > > > > but i guess if it has to spew out such a line, it now spews out the
> > > > > correct one.
> > > > >
> > > > > analog audio works, so thats fine..
> > > > >
> > > > > the patch(i apologize if my mailer messes up whitespace, but its so
> > > > > simple that it doesent matter):
> > > >
> > > > The change looks OK (although I'd move the line just before ALC885
> > I wasnt sure how it was evaluated, i dont really know alsa alot, so i
> > wanted to make sure my entry got evaluated first.
> > > > entry). I have no datasheet of ALC889A, but rumor says that it's
> > > > almost compatible with ALC888. So patch_alc883 seems to be a better
> > > > choice than now.
> > > >
> > > > I'll fix it on ALSA tree now.
> > >
> > > On the second thought, replacing to patch_alc883 may break many
> > > devices with preset models because patch_alc882() and patch_alc883()
> > > have different model tables. So, I applied the patch below in
> > > addition.
> > >
> > > BTW, could you show your codec#* files? This will be really helpful
> > > to identify problems.
> >
> > Yes, sorry for delay, for some reason my mail client decided not to
> > update the view.. weird..
> >
> > You should know that this is WITH my modification..
> >
> > About problems.. well.. now that you do mention it, when i play
> > something without a .asoundrc, i get:
> > ALSA lib dlmisc.c:118:(snd_dlsym_verify) unable to verify version for
> > symbol _snd_pcm_empty_open
> > ALSA lib pcm.c:2108:(snd_pcm_open_conf) symbol _snd_pcm_empty_open is
> > not defined inside [builtin]
> > No default libao driver available.
>
> It's a bug of alsa-lib that was already fixed in the recent version.
> Nothing to do with kernel.
>
> > Now as far as i know, the gigabyte site(and realteks site) says that
> > this ALC889A should have 7.1 surround, with 2 separate channels of
> > streaming for front. I connected the hd audio connector for front panel
> > on motherboard.. but well.. the same thing comes out, and i see no
> > special channels for it.. BUT, one thing i find odd is, if i play 2
> > channel stuff, it also comes out of all the other channels, eg the
> > surround channels.. :)
>
> You can open 4, 6 or 8 channels with the device. But, the default PCM
> is set up only for two channels due to soft-mixing. You can use
> special PCM names such as "surround51" to open for 5.1 output
> instead. Again, no kernel issue.

if i open hw:0,0, and play only 2 channels, it comes out of all 8
channels.. but thats fine.. what i meant that does NOT work, is that
according to gigabyte, i actually should have 10 channels, 7.1 for the
back panel connectors, and two entirely separate for the front panel,
but the front panel just plays same as back panel stereo (green)
connector.

Btw, i now inspected the motherboard, and it is indeed ALC889A, atleast
if the label on the chip is to be trusted..
>
>
> thanks,
>
> Takashi
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/