Jump to content
ErmaC

AppleHDA for AD2000b 10.8+ 2.4.7 (10.8.5 - 12F45)

By ErmaC ( Find their other files )

1 Screenshot

About This File

For Mountain Lion 10.8, 10.8.1, 10.8.2, 10.8.3, 10.8.4, 10.8.5

 

Patched AppleHDA.kext for AD2000b Audio Controller

Use this with Layout 99 injection or DSDT!

 

For more info see this post.

Credits:

Samantha (aka Revogirl, DHP)

TimeWalker75a


What's New in Version 2.4.7 (10.8.5 - 12F45)   See changelog

Released

  • Update from 12F37 to 12F45
  • Update from 12E47 to 12F37
  • Update from 12E40 to 12E47



User Feedback

Recommended Comments

Last patched 12F37 (ML10.8.5):

 

Console spam with "kernel[0]: Sound assertion in AppleHDACodecGeneric at line 532"
 
back to 12E47 : no problem but not vanilla  :lol:
 
edit : 12F45 works but, like 12F37, it spams console with "sound assertion"
Last clean stills 12E47. I've seen that plist format changed, perhaps it's the reason.
Tried to correct it but my skills are (very) limited.

Share this comment


Link to comment
Share on other sites

Thank you a lot, ErmaC! I just got sound working on 10.9 GM with my ASUS Rampage II Gene by installing your kext and making the Layout 99 adjustment in DSDT. You are very awesome!

Share this comment


Link to comment
Share on other sites

Thank you very much ErmaC for another wonder excellent working kext with guide to DSDT edit to layout 99. The AD2000b sound works now on both ML & Mavericks 10.9 GM.

Share this comment


Link to comment
Share on other sites

12E47 works without assertions on my 10.9 13A603 with P5Q DLX. Try to load it with kext wizard an reboot.

Newer kexts are working to but with dirty sound assertions.

Share this comment


Link to comment
Share on other sites

here is hdef device for a mac pro 3.1 or 4.1 (P5Q dlx) :

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
                Field (HDCS, DWordAcc, NoLock, Preserve)
                {
                        ,   15, 
                    PMES,   1
                }
                Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
                {
                    0x0D, 
                    0x06
                })
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x12)
                        {
                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                 0xA0, 0x00, 0x00, 0x00
                            }, 
                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                 0x6B, 0x10, 0x00, 0x00
                            }, 
                            "layout-id", 
                            Unicode ("c"), 
                            "device-type", 
                            Buffer (0x17)
                            {
                                "Analog Devices AD2000b"
                            }, 
                            "model", 
                            Buffer (0x0D)
                            {
                                "ADI AD2000B"
                            }, 
                            "built-in", 
                            Buffer (One)
                            {
                                 0x00
                            }, 
                            "MaximumBootBeepVolume", 
                            Buffer (One)
                            {
                                 0x40
                            }, 
                            "PinConfigurations", 
                            Buffer (Zero) {}, 
                            "platformFamily", 
                            Buffer (One)
                            {
                                 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Share this comment


Link to comment
Share on other sites

How do i modified that?

The onyle thing i see under

"layout-id"

Buffer (0x04)

{

0x0C, 0x00, 0x00, 0x00

}

 

should i modified that 0x04 for 0x99 ? or what?

Share this comment


Link to comment
Share on other sites

Hi! I need some help here. Before Mavericks, I just need to install 4 modified kexts (AD2000b.kext, AppleHDA.kext, HDAEnabler.kext, HDEFEnabler.kext) that I downloaded here. But now with Mavericks, if I install those kexts, I cannot boot anymore, no matter what flags I use. So I'm looking for other solutions, and I found this one. I've installed 12E47, but it doesn't work for me, altough the system boots fine. If there's a way to get sound working with this 12E47 file, that would be perfect for me. I've edited my DSDT HDEF, but with no luck. Obviously I'm doing something wrong, so I decided to went back to my original DSDT file, and ask here for help to modify this thing to get it working.

Here's my DSDT HDEF code:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x08)
                        {
                            "AFGLowPowerState", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

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

And here's is what it looks like after I modified it:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
                Field (HDCS, DWordAcc, NoLock, Preserve)
                {
                        ,   15, 
                    PMES,   1
                }

                Name (_PRW, Package (0x02)
                {
                    0x0D, 
                    0x06
                })
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0E)
                        {
                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                0xA0, 0x00, 0x00, 0x00
                            }, 

                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                0x6B, 0x10, 0x00, 0x00
                            }, 

                            "layout-id", 
                            Unicode ("c"), 
                            "device-type", 
                            Buffer (0x17)
                            {
                                "Analog Devices AD2000b"
                            }, 

                            "model", 
                            Buffer (0x0D)
                            {
                                "ADI AD2000B"
                            }, 

                            "built-in", 
                            Buffer (One)
                            {
                                0x00
                            }, 

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

What am I doing wrong?

Thank you very much in advance.

 

EDIT: Well, I tried a few things and it still didn't work. Last thing I tried was to restore my original unmodified DSDT, and use HDAEnabler.dylib in /Extra/Modules, and add the strings

 

<key>HDEFLayoutID</key>

<string>63000000</string>
 
to org.chameleon.Boot.plist
 
Am I doing something wrong?
 
I refuse to believe that there's no solution for AD2000b to work in Mavericks.

 

 

EDITED AGAIN: Solved! If you are reading this and have the same problem, you can solve it by installing another kext, that I included in a zip to a forum post: http://www.insanelymac.com/forum/topic/293422-solved-help-with-adi-ad2000b-on-mavericks/

 

Share this comment


Link to comment
Share on other sites

EDITED AGAIN: Solved! If you are reading this and have the same problem, you can solve it by installing another kext, that I included in a zip to a forum post: http://www.insanelymac.com/forum/topic/293422-solved-help-with-adi-ad2000b-on-mavericks/

 

???

What solution?

???

Change the layout_id from your 0x0C(hex) 12(dec) to 0x63(hex) 99(dec) ????

 

and where is the difference with the suggested link in the first post???

Patched AppleHDA.kext for AD2000b Audio Controller

Use this with Layout 99 injection or DSDT!

 

 

For more info see this post.

and the linked post say...

-= ADI AD2000B =-

...…

2) DSDT edits for HDEF (We change from Layout 12(0C) to 99(63)

Device (HDEF)

{
Name (_ADR, 0x001B0000)
OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
Field (HDCS, DWordAcc, NoLock, Preserve)
{
, 15,
PMES, 1
}
 
Name (_PRW, Package (0x02)
{
0x0D,
0x06
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"subsystem-id",
Buffer (0x04)
{
0xA0, 0x00, 0x00, 0x00
},
 
"subsystem-vendor-id",
Buffer (0x04)
{
0x6B, 0x10, 0x00, 0x00
},
 
"layout-id",
Buffer (0x04)
{
0x63, 0x00, 0x00, 0x00
},
 
"device-type",
Buffer (0x17)
{
"Analog Devices AD2000b"
},
 
"model",
Buffer (0x0D)
{
"ADI AD2000B"
},
 
"built-in",
Buffer (One)
{
0x00
},
 
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
3) …..

 

Note: A warning to people who take and upload this files on other sites.

Remember to give the right credits!

 

Other things:

- I have removed the HDAEnabler.dylib module from the Chameleon and Enoch for a simple reason… now is embedded into the main code!

So remove it from your Extra/modules folder and use the "built in" code:

org.chameleon.Boot.plist

…
	<key>HDAEnabler</key>
	<string>Yes</string>
	<key>HDEFLayoutID</key>
	<string>63000000</string>
…

That's all! No need any crazy DSDT edits

for instance… this is my actually HDEF entry in my DSDT…

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
                Field (HDCS, DWordAcc, NoLock, Preserve)
                {
                        ,   15, 
                    PMES,   1
                }

                Name (_PRW, Package (0x02)
                {
                    0x0D, 
                    0x06
                })
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0C)
                        {
                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                0xA0, 0x00, 0x00, 0x00
                            }, 

                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                0x6B, 0x10, 0x00, 0x00
                            }, 

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

As you can see… I don't have a headache any more ;)

 

ErmaC

 

Share this comment


Link to comment
Share on other sites

Hi, I'm new hackintosh user and i have the Asus p5q deluxe mobo. I have gotten the ethernet to work but i can't fix the sound. I have tried to use a DSDT file that is for my mobo but every time i install it i get stock on "waiting for root devices" when i reboot the pc. And when i go to my DSDT i cant even find anything in there about HDEF so i cant edit it either
 

Maybe you got some helpful pointers for me

Share this comment


Link to comment
Share on other sites
×