Jump to content

[Solved] Help with ADI AD2000b on Mavericks


Shinji3rd2000
 Share

59 posts in this topic

Recommended Posts

Hi all!

 

I will try to be brief with the description, but at the same time I will explain the problem in detail.

 

I have a hackintosh system since 10.7, and to activate sound on this hack I use a package of kexts that I downloaded here.

By installing those four kexts, I got fully functional sound, including not only the traditional 1.8" plugs outputs, but SPDIF and Digital Optical too, with no crackling sound, and excellent volume in full 5.1 sound.

That package of four kexts have been working through all versions of Lion and Mountain Lion. When I needed to upgrade the system to a newer version, I just only have to reinstall those kexts, and done: sound working great.

 

But now with Mavericks (10.9) it's a different story.

I upgraded from 10.8.5 to 10.9, and when I installed those four kexts and rebooted, I found that the system gets stuck at boot. I tried to boot it with different flags and multiple combinations, but none of that worked. So, I reinstalled the system by restoring a TimeMachine backup, and tried again. Same result.

I've been trying different things since then, and I cannot activate sound as with previous versions. So, I decided to track down the problem, and I found that the culprit is AppleHDA.kext of that package. If I install the other 3 kexts, I get no sound but I can boot the system just fine. If I install AppleHDA.kext from that package, the system becomes unbootable. But I need those four to get the sound working as in previous OS X versions if I wamt to use the same activation method.

 

This is a list of things that I already tried with no success:

 

-Found another AppleHDA.kext patched for AD2000b that is supported by 10.9 and installed it along the other 3 kexts, but it didn't work.

 

-Installed AppleHDA.kext patched for AD2000b and patched my DSDT HDEF code from Layout-id 12 (0c) to Layout-id 99 (63) as instructed here on this same forum by ErmaC, but it doesn't work for me, since I have an Asus Rampage II Gene motherboard, and it's Intel X58 based, and I read that for Intel X58 motherboards I need to inject HDEF with an HDEF injector. That leads me to the next step.

 

-Installed again the AppleHDA.kext patched for AD2000b, and activate the module HDAEnabler.dylib in Chameleon. Inserted the key "HDAEnable=Yes" in org.chameleon.boot.plist and restarted. Nothing. Then I've added the key "HDEFLayoutID=63" and restarted. Still nothing. (Also tried putting 63000000 and 00000063). I tried the same but with the key "HDAULayoutID=63" instead of HDEF. And even tried with the two together.

 

These are some things I saw:

 

In About this Mac - More Info - System Information - Hardware - Audio, I can see that the audio information is recognized there, as an Intel HD Audio, with ID 12. No matter if I try the DSDT HDEF edit from 12 to 99, or the HDEF injection with Chameleon, I still see the same information and the same ID number.

BUT if I install HDAEnabler.kext, and HDEFEnabler.kext from the first package (the 4 kexts package), then the ID number for the audio device change to 889. I don't know if that info could help to find a solution, but jut to be sure I'm trying to put everything here.

 

Resuming:

-I can't use the 4 kext package that I've been using so far, because the file AppleHDA.kext from that package breaks the boot process of Mavericks and the only solution is to reinstall the system or restore to a TimeMachine backup.

-I can't use the AppleHDA.kext patched for AD2000b with support for Mavericks or to patch my own file, because I cannot find a way to change the Layout-id for HDEF on my system from 12 to 99, as needed for that file to work.

 

If anyone knows how can I solve this problem (and many others with the same mobo or other similar versions), please share your knowledge, that would be awesone.

 

Thank you in advance.

 

EDIT: After trying different things all the night, and reading multiple forums messages, I found the solution! The newer AppleHDA.kext, and HDAEnabler.kext modified to put LayoutID=99. Nothing more. It works great.

 

Files attached ready to use for anyone with the same problem. :)

 

Sound AD2000B Mavericks 10.9 AppleHDA.12E47 + HDAEnabler.zip

  • Like 3
Link to comment
Share on other sites

You only need those two kexts.
Maybe it's a stupid question, but what software did you used to install those kexts? I used Kext Wizard, and after the installation I did "Repair permissions" and "Rebuild cache". Also, after installation and reboot, you have to select the audio output in System Preferences / Sound.

 

If you have a DSDT for your motherboard, maybe you can try to edit HDEF inside DSDT to Layout-ID 99. If you need help, just ask.

Link to comment
Share on other sites

You don't need to reinstall the OS.

But putting the DSDT in the Extra folder is not enough, you need to add a couple of lines in your org.chameleon.Boot.plist to activate that DSDT.

 

This is what you need to add at the beggining, just after <dict>:

 

<key>DSDT</key>
<string>/Extra/DSDT.aml</string>
Link to comment
Share on other sites

But putting the DSDT in the Extra folder is not enough, you need to add a couple of lines in your org.chameleon.Boot.plist to activate that DSDT.

 

This is what you need to add at the beggining, just after :

 

DSDT
/Extra/DSDT.aml

 

 

No, that's not true. You don't have to do anything.

 

If it's in /Extra and named dsdt.aml then Chameleon will load it.

Link to comment
Share on other sites

is this the part of the dsdt that i should be editing

 

            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)
                }
            }

 

if so what should be changed to 99?

Link to comment
Share on other sites

 

 

I see a lot of boot.plists with the path to DSDT and smbios.plist set (probably from the use of Chameleon Wizard).

 

However, /Extra is the default location for those files and Chameleon does not need to be told to look for them there.

 

I'm using Chameleon Wizard, yes. :) I see now that the lines that point out to the dsdt are meant to give the oportunity to change location or use various dsdt files for testing purposes.

 

is this the part of the dsdt that i should be editing

            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)
                }
            }

if so what should be changed to 99?

Yes, that's the part you need to edit.

If you look at it, you can see this part:

 

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

 

The 0x0C part means 12 (12 in dec = 0C in hex). You need to edit that part to 0x63 (99 in dec = 63 in hex). And that's all.

 

 

  • Like 1
Link to comment
Share on other sites

Actually it's much more practical when testing DSDTs to just load them from the boot prompt - as opposed to editing org.chameleon.Boot.plist each time.

 

Just type dsdt=test.aml and that'll load test.aml instead of dsdt.aml, as long as it's placed in /Extra.

 

You can also type dsdt=none to not load a DSDT.

Link to comment
Share on other sites

That's right Shinji!!

I've installed once again Maverick this time with AppleACPIPlatform.kext that I've never installed before.

I've installed also the kexts in post # 1 and now Mavericks sings like Pavarotti!

When I try to upgrade Chameleon to new 2266 ver. something very strange happen to my hack. That doesn't sing anymore!

I downgrade to Chameleon 2248 ver. and I return to a fully singing Mavericks 

 

 

By the way I have a P6T Deluxe V2. All my hardware is in my signature.

 

Thank you so much Shinji

 

 

 

Edit: No way!!! Reboot and Mav is once again with no sound. Chameleon 2248 ver.

Link to comment
Share on other sites

 Share

×
×
  • Create New...