Jump to content

No audio on Asus P5Q-EM - ALC1200 - AppleHDA.kext


ads103
 Share

56 posts in this topic

Recommended Posts

Hello, all.

 

A few days ago, I installed OSX 10.9 Mavericks on my Asus P5Q-EM, which uses an ALC1200 onboard sound card. Once everything got up and running, my sound card didn't work - no input or output devices were showing up in System Preferences or Audio MIDI Setup: neither my analog outputs nor the digital outputs on my NVidia GeForce GTX 650's HDMI port. My first solution was to install VoodooHDA. Version 2.7 of VoodooHDA got my sound "working," but there was a constant buzz coming from my speakers. Even after following through this post - http://www.insanelymac.com/forum/topic/267905-voodoohda-common-problems/ - the buzz was persistant.

 

I did some more googling, and discovered AppleHDA. It apparently supports Realtek cards like mine better than VoodooHDA, but not the ALC1200.

 

Then, I stumbled accross this thread: http://www.insanelymac.com/forum/topic/161430-realtek-alc1200-ich10-working-kext-on-mavericks-109-and-even-ml-l-and-sl/ - The folks there were apparently able to get AppleHDA working on the Asus P5Q boards in Mavericks by patching a DSDT. Now, I've never had any experience with DSDT patching, so the concept is fairly mind-boggling to me. I was able to find guides online, though. I extracted my DSDT using dsdteditor, applied the patch here: http://olarila.com/forum/packs.php I continued to follow the directions in the post, further editing the dsdt, placing the kext in /s/l/e, and rebooting.

 

While booting, I noticed a few lines flash by that read, "Sound Assertion" - I managed to find the lines in my system log, and I've attached them to this post. Sound still didn't work. I hopped back onto Google and stumbled accross this post: http://www.projectosx.com/forum/index.php?showtopic=465 I was able to understand most of what was going on unitl I got to, "Chapter III-a: Fixing AppleHDAController.kext Info.plist."  Thats when everything started going over my head.

 

I'd really, really rahter not use VoodooHDA because of the annoying buzz it gives me, desptie my taking steps to reduce that buzz. With AppleHDA supposedly more "native" for Realtek cards, I really would love to get this thing working, but I'm at a loss. Anyone out there have any ideas?

 

Thanks in advance.

SoundAssertion.txt

Link to comment
Share on other sites

@ads103:

To get your sound working you need a patched AppleHDA.kext, which you already found, and a way to inject the "layout-id" property for Mac to know how to work with your audio chipset - which in turn is described in the according layout file contained in AppleHDA.

 

As styrian said, Chameleon has an option to set a layout-id using the HDAEnabler module withough the need to edit any DSDT. This is probably what you might want to try.

Link to comment
Share on other sites

My hdef layout id in my dsdt is already 12. I'd be glad to set the option in Chameleon. How do you do that, though?

 

Patching the applehda kext is where I got lost. The scripts I tried failed to run, and my digging around in the kext cause signature verification failure to pop up during verbose boot. Patching seemed to break the kext. Perhaps you could dumb the process down for me?

Link to comment
Share on other sites

Per the information found here: http://forge.voodooprojects.org/p/chameleon/source/tree/2215/trunk/i386/modules/HDAEnabler/Readme.txt

I added HDAEnabler.dylib to /Extra/modules and added these lines to org.chameleon.Boot.plist:

<key>HDAEnabler</key>
<string>Yes</string>
<key>HDEFLayoutID</key>
<string>12</string>

I moved my dsdt.aml to my desktop, rebooted, and still have no sound. This time, I did not see any "Sound Assertion" messages during verbose boot.

 

Next, I found this nifty little tool: http://www.insanelymac.com/forum/topic/266531-hda-wizard-simple-tool-for-applehdakext/

I used it to patch my AppleHDA, given the platforms.xml and layout.xml files in the 2nd link in my origional post. First, I rebooted with the HDAEnabler.dylib. I saw no "sound assertion" messages during bootup, and audio did not work. Next, I moved HDAEnabler.dylib to my desktop and placed my dsdt in /Extra, rebooted again. I saw some "sound assertion" messages during bootup, and still had no sound.

 

I just double-checked my dsdt. My _DSM method is correct! Here, I'll share my endire Device(HDEF) section.

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }
                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)
                }
            }

Perhaps I need to do some work with "pin configuration," but I have absolutly no idea how to do that.

Link to comment
Share on other sites

@ads103:

You are doing too much work. :P

The thread you linked to already provides a patched AppleHDA, which is ready to be used. You don't need to patch it anymore, except if you want to recreate it youself. Put it into /System/Library/Extensions, rebuild the kernel cache and make use of HDAEnabler. Alternatively use the patched DSDT, your HDEF section looks fine.

 

You can check if layout-id was injected properly by using IORegistryExplorer and looking at the properties of your HDEF device.

Link to comment
Share on other sites

Heh. I'm doing so much work because what was supposed to work just didn't. I certainly don't want to recreate the patched AppleHDA, so I'll stop playing around with its insides.

According to IORegistryExplorer, my layout-id has been injected properly, as you can see in the attached screenshot. Would you remind me how to rebuild the kernel cache? Isn't that the -f flag in Chameleon?

 

ioregexshot.tiff

Link to comment
Share on other sites

You can use one of the multiple kext utilities or a simple "touch /System/Library/Extensions" should be enough to trigger a rebuild.

layout-id looks good, theoretically it should be enough to place a valid patched AppleHDA. How did you install AppleHDA? It also needs to have correct permissions.

 

Does system profiler recognize any out-/inputs? Do you have any out-/inputs in Audio MIDI Setup?

 

By the way, usually you get 1-2 sound assertion lines, which can be removed by injecting some more missing properties and that's it.

Edited by k3nny
Link to comment
Share on other sites

I used kexthelper b7 to install AppleHDA. I've also manually installed it by dragging and dropping it to /s/l/e, and run 'chown -R root:wheel' followed by 'chmod -R 755' afterwards.

No inputs/outputs show up in either of those apps, as you can see in the screenshots below. I'll rebuild my cache and reboot again right now.

 

 

Edit - Reboot complete. Still no sound.

MIDI.tiff

SystemInfo.tiff

Link to comment
Share on other sites

from your ioreg screen shot (post#7), the pin config data is empty!  i don't think appleHDA.kext is loading look at "About This Mac>System Report>Extensions" to confirm this.

 

as pointed out earlier by k3nny (post #6), the "thread you stumbled across" should really provide you with a working audio.

 
post your DSDT.dsl and org.chameleon.boot.plist files, and i'll have a "quick look."
Link to comment
Share on other sites

@K3nny: This is the output the command gave me:

Requesting load of /System/Library/Extensions/AppleHDA.kext.
/System/Library/Extensions/AppleHDA.kext loaded successfully (or already loaded).

@b1gdadd1: The system info app agrees with the command line - the kext is loaded, as you can see in the attached screenshot. Here are my dsdt and boot.plist for you. I had to change the extensions on them because the forum doesn't like .plist and .dsl.

 

 

Edit: Do y'all believe that using a fresh install of Mavericks would help? This install has been tinkered with quite a bit, what with me trying stuff off of Google, trying to get the sound working.

 

Edit 2 - replaced incorrect dsdt file with correct one.

org.chameleon.Boot.txt

SystemInfoExtensions.tiff

dsdt.txt

Link to comment
Share on other sites

from quick look of your files: (you don't have to change file extension just compress it to one file)

 

1. DSDT.dsl - no device hdef? no device with "Name (_ADR, 0x001B0000)"? but you said you double-checked your DSDT? 

2. org.Chameleon.boot.plist - what is device property for? IGPEnabler? TonyM stuff?   

Link to comment
Share on other sites

I'm sorry, I somehow managed to attach the wrong dsdt file. The correct dsdt.dsl is attached here.

The device property is for my Ethernet card. I was having some trouble getting the app store to work. Placing that ID in my boot plist fixed the app store. I haven't touched the IGP Enabler setting, since it was enabled by default, but I just did a quick Google search on it. I guess I should turn it off since I'm using an NVidia graphics card.

dsdt.txt

Link to comment
Share on other sites

If you don't have any important patches in your DSDT you cannot live without, better don't patch it at all.

Chose one way to inject a property. Currently you have the property string and the key EthernetBuiltin in your config. Most probably they do the same. Same goes for the layout-id via DSDT or HDAEnabler.

Link to comment
Share on other sites

from ioregistryexplorer, look for HDEF@1B.  you will find PinConfigurations, layout-id, etc..

 

yes, DSDT and HDAEnabler=Yes.

 

without the codec dump from linux (of your machine), i can't verify if the pin configurations are correct.  can you get an unbunu live cd (or something similar) and get a codec dump?

 

 

EDIT:  your applehdacontroller.kext failed to load.   due to not found and/or failed to resolve dependency? (thinking aloud here....)   please post your bdmesg here.  what version of bootloader are you using?

Link to comment
Share on other sites

 Share

×
×
  • Create New...