InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   Snow Leopard 10.6 (http://infinitemac.com/forumdisplay.php?f=87)
-   -   [GUIDE] ALC889a (with analog 5.1 surround) (http://infinitemac.com/showthread.php?t=3746)

mormegil 09-04-2009 02:17 PM

Your dsdt is fine. Don't touch it anymore. Make sure to change ALL LayoutIDs! Or just use the plists I made and you don't have to change anything.

Edit: I meant all LayoutID so long as they're 889 or 885. This confusion can be totally avoided to be honest if tmongkol hadn't messed up with layoutid's to make it look "good". It only changes the number in Sys Profile. Thats the number 12 you see btw.

Gurruwiwi 09-04-2009 02:21 PM

I tried that!

I just found out something.

In Snow's file he has

Code:

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

            Name (BUFA, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {3,4,5,6,7,9,10,11,12,14,15}
            })
            Name (BUFB, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {}
            })
            CreateWordField (BUFB, One, IRQV)
            Device (LNKA)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, One)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRA, 0x80, Local0)
                    If (LEqual (Local0, 0x80))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Return (BUFA)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Or (PIRA, 0x80, PIRA)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    And (PIRA, 0x0F, Local0)
                    ShiftLeft (One, Local0, IRQV)
                    Return (BUFB)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateWordField (Arg0, One, IRQ1)
                    FindSetRightBit (IRQ1, Local0)
                    Decrement (Local0)
                    Store (Local0, PIRA)
                }
            }

While I only have

Code:

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

I seem to be missing alot of code! And what about the first entry I seem to be missing too?

Are you sure mormegil?

mormegil 09-04-2009 02:33 PM

That's because those code were there originally in his stock dsdt while yours didn't. Just like mine.

Gurruwiwi 09-04-2009 02:35 PM

Ok, great thanks for the reply!

I'll give it another try. Without legacy again

Snow 09-04-2009 02:35 PM

I'm just letting Mormegil do his thang haha, he knows a lot more then me about this.

Question though Mormy, is my guide any help to others, since you mention my prepatched already has a lot of code. They just have to replace that section right? or does it differ from system to system?

@Gurru, replace the whole section m8. I don't know about the first missing section though. It might not work because there is no device ID.

Later bud

mormegil 09-04-2009 02:42 PM

If you can see the ports in SysProf and still no sound, then your configdata is correct but your pathmaps are not right. You might have a different variant of the same codec. Are you on a laptop? You sure your codec is 889a (885 address 3)?

mormegil 09-04-2009 02:47 PM

It's fine since you're showing before and after injecting the code. It just shows the important fact that dsdt is system specific and just blindly adding code into it will result in compilation errors etc.

Gurruwiwi 09-04-2009 02:48 PM

1 Attachment(s)
Yup, check it out.

First I'll try mormegil's compile with patched AppleHDA.

For learning sake, I tried to copy Snow's entry code, but I cant recompile no matter what

I am sure its a .dsl file, it outputs one error, says done, but no aml to be found. Lust be missing something... back to testing

off to try plist into vanilla HDA

Gurruwiwi 09-04-2009 03:05 PM

1 Attachment(s)
Yep, laptop here,

I did follow Snow's tutorial in the first page, if I patch vanilla AppleHDA, I loose system profiler devices.

Just tripled checked with google, and linux folk normally take no prisoners...

http://www.lapspecs.com/wiki/acer+aspire+6935g#sound

Sound

Sound Controller Realtek ALC889A High Definition Audio
Speakers 2 plus Subwoofer
Internal Microphone Yes
Headphone Port Yes
Microphone Port Yes
Line In Port Yes
S/PDIF In Port No
S/PDIF Out Port Yes, shared with headphone out


I wished there were karma point in this forum, you guys certainly deserve it!

mormegil 09-04-2009 03:23 PM

1 Attachment(s)
Think I know what's wrong. Just checked the plists I made for Snow and the legacy kexts. Turns out they are for different codecs! Both are 889a but the former is address 3 and the latter is address 2. You need to be certain first which of the two is yours. I've made 2 sets now.

SL 889a 1.7.4 AppleHDA plists: