Jump to content

ALC889A, Gigabyte (Intel): now having a working front mic


VCH888
 Share

1,156 posts in this topic

Recommended Posts

Sound Solution for 889a for SL

 

needs DSDT patch

 

decompile your DSDT.aml to DSDT.dsl (you can use iaslme program. just drag your DSDT.aml on icon of iaslme)

 

Edit your DSDT.dsl file with textedit

 

a. search and replace all AZAL entires with HDEF

 

b. replace the whole section Device (HDEF) above the line : "Name (BUFA, ResourceTemplate ()" with the following:

 

Device (HDEF)

{

Name (_ADR, 0x001B0000)

Method (_PRW, 0, NotSerialized)

{

Return (Package (0x02)

{

0x0D,

0x05

})

}

 

.

.

.

.

{

0x00

}, Arg4)

Return (Zero)

}

}

 

 

 

Save your DSDT.dsl and compile it to DSDT.aml (just drag it on icon of iaslme again)

 

 

put your patched DSDT.aml file in /Extra

 

put the attached 889a.kext (this is a combined plist) in /Extra/Extensions

 

Tip: remove Voodoohda

 

remove your Caches:

 

sudo rm -rf /System/Library/Caches

 

rebuild kextcache:

 

sudo kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

 

reboot and you´re done

 

You will have all inputs and outputs working (personally not tested digital) headphones no autoswitching

(has 2 sound assertions at boot)

 

Credit goes to Proengin for the DSDT part and ffosilva for the combined plist

 

 

There's no need to add all the info the the DSDT for sound to work.

 

Tools needed:

1. iasl (found in all the DSDT patchers solutions)

2. The ALC889A.kext (with info.plist)

3. EFI Studio

4. Kext Utility - to fix permissions (Google if you don't know how to find it)

 

The solution I used is to:

1. Decompile the DSDT.aml to DSDT.dsl using "iasl -d DSDT.aml"

2. on the DSDT.dsl search and replace "AZAL" to "HDEF" (should be 2 occurrences)

3. Save and recompile using "iasl -ta DSDT.dsl"

4. open EFI Studio and add "HDEF" efi-string to your com.apple.Boot.plist file.

5. Put ALC889.kext in /Extra/Extensions

6. Fix permissions and build Extensions.mkext using Kext Utility.

7. Reboot.

 

That's it, I got all outputs/inputs working for me, no popping sound when idle for long time.

 

Yonika

Link to comment
Share on other sites

So I got rid of everything except LegacyHDA.kext and restored the stock SL AppleHDA.kext. My DSDT is patched, so it should work fine... yet even though my outputs work fine and I have this for inputs:

 

screenshot20090829at723.png

 

My microphone (highlighted) does not actually detect any sound. What could cause this?

Link to comment
Share on other sites

So I got rid of everything except LegacyHDA.kext and restored the stock SL AppleHDA.kext. My DSDT is patched, so it should work fine... yet even though my outputs work fine and I have this for inputs:

 

screenshot20090829at723.png

 

My microphone (highlighted) does not actually detect any sound. What could cause this?

 

I have the same problem with my front mic, it appears as "None". I have created a legacyHDA for SL starting from the modified applehda 1.6.2a37 3outs3ins in the main page of this thread. I have tried almost every combination but I can't get it to work...al the other inputs/outputs work like a charm.

I've got a GA-P35-DS3P with ALC889a.

Please help!

Link to comment
Share on other sites

I have the same problem with my front mic, it appears as "None". I have created a legacyHDA for SL starting from the modified applehda 1.6.2a37 3outs3ins in the main page of this thread. I have tried almost every combination but I can't get it to work...al the other inputs/outputs work like a charm.

I've got a GA-P35-DS3P with ALC889a.

Please help!

 

Patch DSDT with HDEF, then load only L3_4outs2ins_analog_HDA_headphone.zip from here

Link to comment
Share on other sites

Is that kext for snow leopard? I have just tried it but I don't get any output and input

I'm running snow leopard with 64bit kernel

Thank you

 

Sorry, i think it's this.

For Gigabyte (E)P35 & (E)P45 Making DSDT.aml for your PC is better.

updated and fixed. There are LegacyHDA.kext for ALC889a and ALC888. SL Ready

Link to comment
Share on other sites

Sorry, i think it's this.

For Gigabyte (E)P35 & (E)P45 Making DSDT.aml for your PC is better.

updated and fixed. There are LegacyHDA.kext for ALC889a and ALC888. SL Ready

 

These kexts haven't the front mic in info plist but only the rear mic so the front one doesn't even appear in the input list.

As I was explaining in the previous post, I tried to edit the 3outs2ins legacyhda from the archive that you have just linked in order to add the entry for the front mic.

I have used the info.plist from the 3outs3ins for leopard (which contains the front mic entry) to modify the legacy kext for snow leopard.

The result is that the front mic appears in the input list but it is named "None" and it does not work.

Thank you for your help anyway :(

Link to comment
Share on other sites

Thanks aschar1, I'm using your modification to dsdt.aml and alc889a.kext, with the vanilla SL AppleHDA.kext and am still able to listen to 96khz pcm digital output from 64bit SL. The main change for me is the analog speaker output from the green not black output, and ports look to be correctly identified (not all checked yet).

Link to comment
Share on other sites

tmongkol and others:

 

I have an EVGA X58 (i.e. not Gigabyte) motherboard with an ALC889 audio controller.

 

For 10.5.8, I've been using a modified AppleHDA.kext and HDAEnabler.kext package that tmongkol kindly created and provided in the post linked below, and it worked perfectly.

 

http://www.insanelymac.com/forum/index.php...t&p=1124729

 

Since installing Snow Leopard, I've tried every method that I've found with absolutely no luck. I've tried modifying Snow Leopard's AppleHDA.kext using the same steps that tmongkol used to create the last EVGA kexts (by modifying and patching the codec ID). I've also attempted the LegacyHDA + DSDT method, trying various codec/layout ID combinations, as well as aschar1's DSDT method. All of these methods have resulted in the same outcome: several available devices in System Profiler but no output devices (screenshots attached).

 

If anybody has an idea or suggestion to contribute, I would very much appreciate it. I'm aware of a handful of other EVGA X58 users who would also benefit from a working solution.

 

Thanks!

post-152405-1251674146_thumb.png

post-152405-1251674159_thumb.png

Link to comment
Share on other sites

tmongkol and others:

 

If anybody has an idea or suggestion to contribute, I would very much appreciate it. I'm aware of a handful of other EVGA X58 users who would also benefit from a working solution.

 

Thanks!

 

Did you try layout-id 66, "0x42 0x00 0x00 0x00", with codec-id "0x85, 0x08, 0xEC, 0x10" in your DSDT? Please remove any non-vanilla audio kexts, and clear caches of course.

Link to comment
Share on other sites

Did you try layout-id 66, "0x42 0x00 0x00 0x00", with codec-id "0x85, 0x08, 0xEC, 0x10" in your DSDT? Please remove any non-vanilla audio kexts, and clear caches of course.

Thanks for the reply! No, I haven't yet tried this combination of layout ID and codec ID, but I will. Should I use any helper kext at all (LegacyHDA, ALC889a, etc)? If so, should the layout ID and codec ID inside the kext match the DSDT, or does it matter? Thanks again!

Link to comment
Share on other sites

Thanks for the reply! No, I haven't yet tried this combination of layout ID and codec ID, but I will. Should I use any helper kext at all (LegacyHDA, ALC889a, etc)? If so, should the layout ID and codec ID inside the kext match the DSDT, or does it matter? Thanks again!

 

Cloaked Hunter:

 

No helper kexts necessary, but it is necessary to remove any helper kexts. Layout-id 66 is already present in vanilla AppleHDA from at least 10.5.7 through 10.6. It's not a "perfect" solution but may work for you.

Link to comment
Share on other sites

Has anyone been able to get the internal two pin SPDIF header to work on a Gigabyte board? This header is usually used to hookup sound to a video card that supports HDMI. I have yet to get sound to work from my HDMI. Everyone seems to think it's the nVidia drivers. Video from the HDMI port works fine, just no sound from it.

Link to comment
Share on other sites

tmongkol and others:

 

I have an EVGA X58 (i.e. not Gigabyte) motherboard with an ALC889 audio controller.

 

For 10.5.8, I've been using a modified AppleHDA.kext and HDAEnabler.kext package that tmongkol kindly created and provided in the post linked below, and it worked perfectly.

 

http://www.insanelymac.com/forum/index.php...t&p=1124729

 

Since installing Snow Leopard, I've tried every method that I've found with absolutely no luck. I've tried modifying Snow Leopard's AppleHDA.kext using the same steps that tmongkol used to create the last EVGA kexts (by modifying and patching the codec ID). I've also attempted the LegacyHDA + DSDT method, trying various codec/layout ID combinations, as well as aschar1's DSDT method. All of these methods have resulted in the same outcome: several available devices in System Profiler but no output devices (screenshots attached).

 

If anybody has an idea or suggestion to contribute, I would very much appreciate it. I'm aware of a handful of other EVGA X58 users who would also benefit from a working solution.

 

Thanks!

 

try EVGA_X58_ALC889.zip It's a legacy kext and has to be used with AppleHDA.kext. Also, it needs DSDT w/ patched HDEF for working on SL. I just changed CodecID and LayoutID so I have no idea whether it will work for you or not. Your sound on board is ALC889 so CodecID must be 283904137. I hope it will work for you.

Link to comment
Share on other sites

I've been trying to get HDMI audio to work (using the gfx card [gtx 260] connected to the SPDIF out header on the MB) out of the DVI port, which never worked in Leopard; if I remember correctly it was a limitation of leopard.

 

Has anyone been successful in getting HDMI audio to work through any cards?

 

BTW I have an EP35-DS3L which uses the ALC888 codec, using the LegacyHDA kext for ALC888 4outs2in made by tmongkol with DSDT patched for HDEF audio.

 

Everything else works fine but HDMI audio.

Link to comment
Share on other sites

Cloaked Hunter:

 

No helper kexts necessary, but it is necessary to remove any helper kexts. Layout-id 66 is already present in vanilla AppleHDA from at least 10.5.7 through 10.6. It's not a "perfect" solution but may work for you.

Okay, I tried using layout ID 66 and codec ID 0x85, 0x08, 0xEC, 0x10 (I also tried 0x89, 0x08, 0xEC, 0x10) with no luck. I was using the vanilla AppleHDA.kext, and no legacy/helper kexts whatsoever. Once again, no matter what I tried, I continued to see the same list of available devices in System Profiler, but no output devices listed in System Preferences.

 

Thanks for the suggestion, though! Any other ideas?

 

try EVGA_X58_ALC889.zip It's a legacy kext and has to be used with AppleHDA.kext. Also, it needs DSDT w/ patched HDEF for working on SL. I just changed CodecID and LayoutID so I have no idea whether it will work for you or not. Your sound on board is ALC889 so CodecID must be 283904137. I hope it will work for you.

Thanks for the feedback! I went ahead and tried the kext that you provided using a vanilla AppleHDA.kext and a DSDT patched with codec ID 283904137 and layout ID 889, but unfortunately, no luck.

 

As I keep mentioning, no matter what I change in terms of my codec ID, layout ID, installed kexts, etc, I always see the same list of available devices in System Profiler (and always no output devices). What would cause the list of available devices to remain so constant? So long as I have a patched DSDT, it seems like my System Profiler page never changes (except for the "Audio ID"--that always matches my layout ID in my DSDT). Furthermore, this list of available devices includes far fewer items than what I'm used to seeing with Leopard, suggesting that the list of available devices is incorrect or incomplete.

 

What determines what appears in System Profiler under available devices? Based on what I've been observing, it would seem that my DSDT is determining the available devices, and if so, perhaps some part of my DSDT configuration is causing my problem. Would it be completely wrong to suggest that my DSDT should be patched differently for my EVGA motherboard?

 

Again, everyone's feedback is most appreciated. Any other ideas? I'm still hopeful that a solution can be found for us EVGA users.

 

Thanks!

Link to comment
Share on other sites

Hunter

 

I see the samething you explained my evga x58 mobo. no mater what/which kext I use the same input output devices in profiler.

 

 

It has to be the edits we are making to the DSDT file. so as a test I removed the following lines from my dsdt file

 

/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,

/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B

 

 

The input output devices went away but the layout-id changes to zero.

 

I'll try some more tomorrow.

Link to comment
Share on other sites

Hunter

 

I see the samething you explained my evga x58 mobo. no mater what/which kext I use the same input output devices in profiler.

 

 

It has to be the edits we are making to the DSDT file. so as a test I removed the following lines from my dsdt file

 

/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,

/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B

 

 

The input output devices went away but the layout-id changes to zero.

 

I'll try some more tomorrow.

Yeah, something kept bugging me about those values, too. As far as I can see, they're the only significant (possibly relevant) values inside the DSDT (aside from the pin configuration, which many methods now seem to leave out and replace with 0x00).

 

Unfortunately, I have no idea what those values even represent. Does anybody know what the DTGP method is responsible for in the DSDT?

Link to comment
Share on other sites

Okay, I tried using layout ID 66 and codec ID 0x85, 0x08, 0xEC, 0x10 (I also tried 0x89, 0x08, 0xEC, 0x10) with no luck. I was using the vanilla AppleHDA.kext, and no legacy/helper kexts whatsoever. Once again, no matter what I tried, I continued to see the same list of available devices in System Profiler, but no output devices listed in System Preferences.

 

Thanks for the suggestion, though! Any other ideas?

 

 

Thanks for the feedback! I went ahead and tried the kext that you provided using a vanilla AppleHDA.kext and a DSDT patched with codec ID 283904137 and layout ID 889, but unfortunately, no luck.

 

As I keep mentioning, no matter what I change in terms of my codec ID, layout ID, installed kexts, etc, I always see the same list of available devices in System Profiler (and always no output devices). What would cause the list of available devices to remain so constant? So long as I have a patched DSDT, it seems like my System Profiler page never changes (except for the "Audio ID"--that always matches my layout ID in my DSDT). Furthermore, this list of available devices includes far fewer items than what I'm used to seeing with Leopard, suggesting that the list of available devices is incorrect or incomplete.

 

What determines what appears in System Profiler under available devices? Based on what I've been observing, it would seem that my DSDT is determining the available devices, and if so, perhaps some part of my DSDT configuration is causing my problem. Would it be completely wrong to suggest that my DSDT should be patched differently for my EVGA motherboard?

 

Again, everyone's feedback is most appreciated. Any other ideas? I'm still hopeful that a solution can be found for us EVGA users.

 

Thanks!

 

Cloaked Hunter:

 

Sorry it didn't work for you; you do have a different board so it was just a guess.

 

Might I suggest replacing all layout-ids and codec-ids and pinconfigurations and what have you in the HDEF section of your DSDT with just this code?

 

                        {
                           "codec-id", 
                           Buffer (0x04)
                           {
                               0x85, 0x08, 0xEC, 0x10
                           }, 

                           "layout-id", 
                           Unicode ("B"), 
                           "device-type", 
                           Buffer (0x11)
                           {
                               "ALC889a"
                           }, 

 

Of course remove all non-vanilla audio kexts.

 

If that doesn't work, then I suggest you try each layout-id present in appleHDA from 10.5.7, remembering to translate the decimal into hex. For example layout-id 66 is 0x42, 0x00, 0x00, 0x00 or, apparently Unicode ("B").

 

Here are the layout-ids I have collected in examining each appleHDA since 10.5.6: 00, 12, 16, 18, 20, 22, 36, 38, 40, 42, 46, 48, 50, 52, 53, 54, 56, 58, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 80, 82, 83, 84, 86, 102, 117. A couple of these are not in appleHDA, call them hexaccidents, but I didn't keep track of which they were. Somewhere in there is likely a working solution to your issue. I recorded the results for each layout but as I have a very different board then yours it probably isn't relevant.

 

Good luck.

Link to comment
Share on other sites

Cloaked Hunter:

 

Sorry it didn't work for you; you do have a different board so it was just a guess.

 

Might I suggest replacing all layout-ids and codec-ids and pinconfigurations and what have you in the HDEF section of your DSDT with just this code?

 

                        {
                           "codec-id", 
                           Buffer (0x04)
                           {
                               0x85, 0x08, 0xEC, 0x10
                           }, 

                           "layout-id", 
                           Unicode ("B"), 
                           "device-type", 
                           Buffer (0x11)
                           {
                               "ALC889a"
                           }, 

 

Of course remove all non-vanilla audio kexts.

 

If that doesn't work, then I suggest you try each layout-id present in appleHDA from 10.5.7, remembering to translate the decimal into hex. For example layout-id 66 is 0x42, 0x00, 0x00, 0x00 or, apparently Unicode ("B").

 

Here are the layout-ids I have collected in examining each appleHDA since 10.5.6: 00, 12, 16, 18, 20, 22, 36, 38, 40, 42, 46, 48, 50, 52, 53, 54, 56, 58, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 80, 82, 83, 84, 86, 102, 117. A couple of these are not in appleHDA, call them hexaccidents, but I didn't keep track of which they were. Somewhere in there is likely a working solution to your issue. I recorded the results for each layout but as I have a very different board then yours it probably isn't relevant.

 

Good luck.

Great! I'll give these a go tomorrow when I have... 38*5... 190 minutes of free time. :D

 

Now, with only codec-id, layout-id, and device-type, does that mean I need to change "Store (Package (0x08)" to "Store (Package (0x06)"? Or does it even matter?

 

Thanks!

Link to comment
Share on other sites

Great! I'll give these a go tomorrow when I have... 38*5... 190 minutes of free time. :D

 

Now, with only codec-id, layout-id, and device-type, does that mean I need to change "Store (Package (0x08)" to "Store (Package (0x06)"? Or does it even matter?

 

Thanks!

 

Cloaked Hunter:

 

I've erred in computing the buffers, forgetting it is the number of items PLUS ONE in hex and either the code is forgiving, iaslme corrects, or I've been lucky, but it doesn't seem to make a difference. That said, when I change an item I still carefully recalculate, counting the letters and spaces and adding one, then convert it through this clever little Dashboard Widget called Number Converter by John Bestoso (it looks like, the letters are really tiny). You'll be happy to have it as you plow through the layout-ids. I would change it.

 

Keep in mind only a handful of layout ids produced sound out the jack I wanted, and only two produced sound from more then one jack, and just one has a working digital out. Oddly, that's the first one I tested, so I never got a better result for all the work. So it can go; let me know how it goes.

 

The prize for this work is what I have, sufficient utilization of the mobo's audio hardware which is consistent through updates, thus far. Layout-id 66 works the same in 10.5.6 through Snow. I suspect the hardware configuration of my UD3P is just close enough to some Mac. I suspect no update will ever "break" it. How could it?

 

Good hunting.

Link to comment
Share on other sites

I don't know where to go, so I ask my question here.

I have GA-EP35-DS3 using with AppleHDA.kext version 1.6.8a3 downloaded from here. The problem is that the shut down is working fine but the sleep and the restart just doesn't work. What should I do?

Link to comment
Share on other sites

I don't know where to go, so I ask my question here.

I have GA-EP35-DS3 using with AppleHDA.kext version 1.6.8a3 downloaded from here. The problem is that the shut down is working fine but the sleep and the restart just doesn't work. What should I do?

 

Which kext do you have in Extra?

Link to comment
Share on other sites

 Share

×
×
  • Create New...