Jump to content

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


Best Answer Mirone, 10 November 2013 - 12:55 PM

yes it would be possible with VoodooHDA.

Go to the full post


  • Please log in to reply
55 replies to this topic

#1
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

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.insanelym...ommon-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.insanelym...en-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.projectos...p?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.

Attached Files



#2
styrian

styrian

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 849 posts
  • Gender:Male

You have to set the hdef layout ID to 12 (0x0C, 0x00, 0x00) in the DSM method under device HDEF in your Dsdt or enable this option in Chameleon or Enoch bootloader.

 

Have fun.



#3
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
@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.

#4
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male
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?

#5
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

Per the information found here: http://forge.voodoop...bler/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.insanelym...r-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.



#6
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
@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.

#7
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

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?

 

Attached Files



#8
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
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, 07 November 2013 - 06:00 PM.


#9
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

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.

Attached Files



#10
styrian

styrian

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 849 posts
  • Gender:Male

Have you removed all VoodooHDA Files?

 

Have fun.



#11
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

I've removed all the ones I know of. I've removed both the kext and the prefpanes. Are there any others I've missed?



#12
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
I don't know much about VoodooHDA, but you can look at the loaded extensions with "kextstat" and try loading AppleHDA manually with "sudo kextload -v AppleHDA.kext".
Maybe it helps you finding the problem.

#13
b1gdadd1

b1gdadd1

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:UK

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."


#14
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

@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.

Attached Files



#15
b1gdadd1

b1gdadd1

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:UK

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?   



#16
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

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.

Attached Files

  • Attached File  dsdt.txt   301.51KB   9 downloads


#17
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
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.

#18
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male
Ive removed the property string from my boot plist, and my app store still works. I'm not using HDAEnabler, just my patched dsdt. Still no audio.

#19
b1gdadd1

b1gdadd1

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:UK

post your ioregistryexplorer (not screen save) and (complete) dmesg dumps here.  



#20
ads103

ads103

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male

Here you go.

I'm not sure if this is the complete dmesg dump or not, I just typed "sudo dmesg > ~/Desktop/dmesg.txt" into the terminal.

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2015 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy