Jump to content

ALC887VD; AppleHDA loads, devices show, still no audio.


Lord Kamina

Recommended Posts

Hello!

 

I've been trying to get this audio to work properly for a few weeks now, so far unsuccessfully.

Here's where I'm at: I've edited my DSDT properly, I dumped my codecs and got my verbs, I tried to patch my own AppleHDA (but I failed miserably :lol:, so instead I downloaded one of two 10.8.2 ALC887 AppleHDA.kexts found on osx86.net, though I only replaced the binary, since I had already edited my layout and pathmaps and pin configs)

 

With that, I boot and get a single sound assertion from AppleHDAController (I've noticed a few others triggered under specific circumstances: trying to change the sample rate or bit-depth in the Audio/MIDI Setup, for example) but otherwise AppleHDA appears to load properly.

 

My IOReg shows AppleHDA and all its components loaded, it shows several HDAStreams, etc etc.

In devices, I can see a Line-in, Speakers, a Line-Out and a Digital Out.

 

If I connect my headphones to the appropriate port and try changing the output volume I get a single, relatively loud "POP" and then nothing. So, it happens the first time a sound would be output through the phones after being plugged in, basically.

 

And I have tried editing everything I can think off, with no success. Either I break it and the Devices stop showing or just nothing changes.

 

Attached are the a screenshot , the DSDT I'm using and the IORegistry. So far, the only "weird" thing I've been able to notice is under "AppleHDADriver", the "PowerProfile" has "CurrentPowerLevel", "IdlePowerLevel" and "MaxPowerLimit" all set to 0x0. I have no idea if this is at all related but from the symptoms it seems to me like it could be a power issue?

 

If not, maybe someone else will have a better answer?

Archive.zip

post-2205-13826558086309_thumb.jpg

Link to comment
Share on other sites

Wrong layout ID or using the wrong AppleHDA. There are two different versions of ALC887.

 

But, why? What did you find backing that?

 

My codec is ALC887-VD, on Address 0. Does the layout number really matter? I used what the kext had for default and then manually edited both the layout to make sure it fitted with what I've really got and did the same for the pin configs and path maps.

 

Wouldn't a wrong layout/kext make all devices disappear? Not, for example, if I open an audio application while IOregistryExplorer is open, it will be updated with a new IOAudioClient (or IOHDAClient, can't remember the proper name...) meaning the system IS recognizing the audio, and it does try to output sounds through the appropriate ports (seeing as I only get the clicking/popping noise if I select the actual port onto which the headphones are plugged in)

 

P.S. I just attached my codec dump (from Ubuntu) and the codecgraph generated out of that dump.

P.S.2. Hmm, if you said it because of the whole "layout-id: c" and "layout-id" Unicode("c") in the DSDT... I fell for it at the beginning too, but it appears to be one of IASL's compiling optimizations and mac apparently translates it to "99" wherever it actually matters.

card0-codec#0.txt

card0-codec#0.txt.svg.zip

Link to comment
Share on other sites

×
×
  • Create New...