Jump to content

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


VCH888
 Share

1,156 posts in this topic

Recommended Posts

Nothing, I'm using KextHelper b7 with series of LegacyHDA 889 (ALC889a)/4outs2ins HDA headphone LegacyHDA.kext to get 5.1 sound

 

You'll need either an injector kext (HDAEnabler.kext) or DSDT injection.

 

D

Link to comment
Share on other sites

are you using openhaltrestart.kext

 

Try to find an install guide for your motherboard. This would be your best place to start!

 

Here is my guide for the GA EP35 DS4 - a lot of it will be relevant to you

 

http://www.insanelymac.com/forum/index.php...=161303&hl=

 

D.

 

I've got the SleepEnabler.kext and OpenHaltRestart.kext kext so now the restart is working and I've made a progress with sleep problem too... Although now it's completely go to deep sleep so none of the fans are working but when I want to switch it on it just doesn't wake up only the fans start but in a different way not like it's working properly

Link to comment
Share on other sites

Alright, I finally got audio working in Snow Leopard, but not how you might think.

 

I decided to try a patched DSDT along with my old AppleHDA.kext from 10.5.8 (the one that tmongkol originally patched for the EVGA X58). I never tried this before, but, you guessed it--it worked perfectly.

 

Now, obviously, this solution isn't perfect since I'm now using a non-vanilla AppleHDA.kext, but it's better than no audio. When I find some spare time, I may revisit machinist's suggestion and start battling his list of layout IDs so that I can use a vanilla AppleHDA.kext.

 

airwalk776, give this a try and report back with your results. Patch your DSDT using codec ID "0x89, 0x08, 0xEC, 0x10" and layout ID "0x79, 0x03, 0x00, 0x00", then install tmongkol's original 1.5.7a24 AppleHDA.kext for the EVGA X58. Remove all other audio kexts and see what happens. Oh, another condition is that you must boot the kernel using 32-bit. Use the -x32 kernel flag in your com.apple.boot.plist. Hopefully that won't be a problem for you.

 

Big thanks go to tmongkol and machinist!

Link to comment
Share on other sites

Alright, I finally got audio working in Snow Leopard, but not how you might think.

 

I decided to try a patched DSDT along with my old AppleHDA.kext from 10.5.8 (the one that tmongkol originally patched for the EVGA X58). I never tried this before, but, you guessed it--it worked perfectly.

 

Now, obviously, this solution isn't perfect since I'm now using a non-vanilla AppleHDA.kext, but it's better than no audio. When I find some spare time, I may revisit machinist's suggestion and start battling his list of layout IDs so that I can use a vanilla AppleHDA.kext.

 

airwalk776, give this a try and report back with your results. Patch your DSDT using codec ID "0x89, 0x08, 0xEC, 0x10" and layout ID "0x79, 0x03, 0x00, 0x00", then install tmongkol's original 1.5.7a24 AppleHDA.kext for the EVGA X58. Remove all other audio kexts and see what happens. Oh, another condition is that you must boot the kernel using 32-bit. Use the -x32 kernel flag in your com.apple.boot.plist. Hopefully that won't be a problem for you.

 

Big thanks go to tmongkol and machinist!

 

 

Hunter

 

It worked for me also. I see all the input outputs I had before in 10.5.7. I will try my 5.1 config later. and report back.

With this working correctly If we just change the current aapleHDA like the way tmongkol patched the 1.5.7a24 it should work also. no ?

 

 

 

I appreciate all the hard work everyone does in this forum to help other out.

Link to comment
Share on other sites

Hi tmongkol

 

I am using AppleHDA 1.7.1a2 with your LegacyHDA for 3out 2in HDA and DSDT for injection.

 

I've noticed a new HDA Controller errors at boot:

 

02/09/2009 15:03:35 kernel extension "com.apple.driver.AppleHDAController" cannot be found
02/09/2009 15:03:35 kernel can't find extension com.apple.driver.AppleHDAController
02/09/2009 15:03:35 kernel Can't determine dependencies for com.apple.driver.AppleHDAController.
02/09/2009 15:03:35 kernel Couldn't alloc class "AppleHDAController"
02/09/2009 15:03:35 kernel netkas presents fakesmc, a kext which emulates smc device
02/09/2009 15:03:35 kernel extension "com.apple.driver.AppleHDAController" cannot be found
02/09/2009 15:03:35 kernel can't find extension com.apple.driver.AppleHDAController
02/09/2009 15:03:35 kernel Can't determine dependencies for com.apple.driver.AppleHDAController.
02/09/2009 15:03:35 kernel Couldn't alloc class "AppleHDAController" 

 

Any ideas?

 

Thanks in advance

D.

Link to comment
Share on other sites

With this working correctly If we just change the current aapleHDA like the way tmongkol patched the 1.5.7a24 it should work also. no ?

Well, I thought so, too. I actually tried this several days ago, but it didn't work. Then, tmongkol sent me a version that he patched himself, but that didn't work either. (That's actually when I decided to try the old 1.5.7a24 AppleHDA.kext). It seems Apple changed enough to render the patch ineffective.

 

Maybe tmongkol (or someone else) can figure out what needs to happen to patch this latest AppleHDA.kext. While I know the exact steps that tmongkol used to patch the 1.5.7a24 AppleHDA.kext, I'm no expert on why those changes work.

 

In the meantime, this 1.5.7a24 AppleHDA.kext continues to work fine in Snow Leopard.

Link to comment
Share on other sites

Hey guys. I'm about to go completely insane. I've been trying to use codec verbs and pre-compiled kexts for my ALC889a for such a long time now with no successful sound output. What I have been able to do is get HDEF in my DSDT working perfectly (reports all available ports correctly in System Profiler). I've tried all of the LegacyHDA kexts posted in this thread for mine (edited for my address 0 codec of course, and also with my correct codec verbs and the originals) and still no output or input devices in System Prefs. I'm using Snow Leopard and 10.5.8 currently on a Gigabyte GA-MA790FX-UD5P.

 

I'll also post my codec dump and verbs from verbit. I really need some help with this.

 

P.S.

I get a sound assertion error with all of my codec verbs when I do them one by one or all together. It is as follows:

 

Sound assertion "0 != setupHostInterface()" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDAController/AppleHDAController.cpp" at line 255 goto Exit1

verbs.txt

Verbs_from_Linux_Codec_Dump_889a.txt

Link to comment
Share on other sites

Hey guys. I'm about to go completely insane. I've been trying to use codec verbs and pre-compiled kexts for my ALC889a for such a long time now with no successful sound output. What I have been able to do is get HDEF in my DSDT working perfectly (reports all available ports correctly in System Profiler). I've tried all of the LegacyHDA kexts posted in this thread for mine (edited for my address 0 codec of course, and also with my correct codec verbs and the originals) and still no output or input devices in System Prefs. I'm using Snow Leopard and 10.5.8 currently on a Gigabyte GA-MA790FX-UD5P.

 

I'll also post my codec dump and verbs from verbit. I really need some help with this.

 

P.S.

I get a sound assertion error with all of my codec verbs when I do them one by one or all together. It is as follows:

 

Sound assertion "0 != setupHostInterface()" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDAController/AppleHDAController.cpp" at line 255 goto Exit1

 

Have you tried layout-id "66", (hex - 0x42, 0x00, 0x00, 0x00) in your DSDT without any additional kexts?

Link to comment
Share on other sites

Also, I realized that I'm getting an error right after OpenHaltRestart.kext loads.

 

Sep  3 23:09:26 localhost kernel[0]: extension "com.apple.driver.AppleHDAController" cannot be found
Sep  3 23:09:26 localhost kernel[0]: can't find extension com.apple.driver.AppleHDAController
Sep  3 23:09:26 localhost kernel[0]: Can't determine dependencies for com.apple.driver.AppleHDAController.
Sep  3 23:09:26 localhost kernel[0]: Couldn't alloc class "AppleHDAController"

 

Strange thing is that it does exist and actually loads according to kextstat and Sys Profiler.

Link to comment
Share on other sites

I have, no change.

 

Sorry it didn't work out. Since that didn't succeed, 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.

 

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. Layout-id may override all other entries except codec-id in your DSDT. One of these layout-ids with your proper codec-id will likely produce sound out the jack you have plugged in right now.

 

Good luck.

Link to comment
Share on other sites

Also, I realized that I'm getting an error right after OpenHaltRestart.kext loads.

 

Sep  3 23:09:26 localhost kernel[0]: extension "com.apple.driver.AppleHDAController" cannot be found
  Sep  3 23:09:26 localhost kernel[0]: can't find extension com.apple.driver.AppleHDAController
  Sep  3 23:09:26 localhost kernel[0]: Can't determine dependencies for com.apple.driver.AppleHDAController.
  Sep  3 23:09:26 localhost kernel[0]: Couldn't alloc class "AppleHDAController"

 

Strange thing is that it does exist and actually loads according to kextstat and Sys Profiler.

 

Hi Black Knight

 

I have the same errors - HDA controller is there and loaded but everything appears to be working!

 

EDit - using original 10.5.8 AppleHDA and legacy 3out 2in HDA for 10.5.8 ..

 

D.

Link to comment
Share on other sites

Just an update, I have sound working in 10.5.8, but only with the AppleHDA.kext created by Taruga's patcher with a modified pathmap to my current one. I get 4 analog outputs (I'm not concerned with Inputs) and can create a 7.1 aggregate device successfully. This is all well and good for Leopard, but the kext will not work with Snow Leopard as it causes a kernel panic at startup. I have tried applying the same pathmap to the legacyHDA.kext, but I get the same errors listed above. I know that the pathmap works, just not with the newer AppleHDA.kexts. I also noticed that in the patched AppleHDA.kext that there is no configdata in it. I tried taking the configdata out of LegacyHDA, but it didn't help. I wonder if I should just try patching the newer AppleHDA directly instead of messing with LegacyHDA.

Link to comment
Share on other sites

I'm using a EP45-UD3P board. I'm getting sound out of the green jack. But nothing with the Mic jacks (neither front or rear).

 

In Sound Preferences under the Input tab, I have 3 Input Device Names - None, Line In, and Digital In. They show Types of Built-In Microphone, Built-In Line Input, and Built-In Digital Input respectively.

 

Can anyone take a look or perhaps confirm if the Mic port is working for anyone with 889a?

 

Here is the HDEF section of my DSDT:

 

Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_PRW, 0, NotSerialized)
			{
				Return (Package (0x02)
				{
					0x0D,
					0x05
				})
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x08)
					{
						"codec-id",
						Buffer (0x04)
						{
							0x85, 0x08, 0xEC, 0x10
						},

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

						"device-type",
						Buffer (0x11)
						{
							"ALC889a"
						},

						"PinConfigurations",
						Buffer (0x28)
						{
							0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

Link to comment
Share on other sites

Hey All,

 

RE: 32bit - 64bit

 

I can load up in 64bit to the desktop with no KP's. Stable run.

 

I cannot load in 32bit. Seems that SL loads 64bit no matter what flag you use.

I tried installing from both, a mounted DMG and from the retail disk and neither made a difference.

 

Any Ideas?

 

RE: Sound

 

I was finally able to get sound ALC889a (885) with DSDT patch & LegacyHDA.kext in Chameleon/Extra/Extensions!

 

I used Patcher02Beta5 (windows program) and created my custom DSDT with Network & Audio only. I then used iaslMe.dmg to de/recompile from aml to dsl then back to aml. It would appear that there is an error when selecting our ALC889a audio with HDEF ticked.

 

It creates this line;

layout-id 889 => 0x79, 0x03, 0x00, 0x00

 

But it should be this line;

layout-id 885 => 0x75, 0x03, 0x00, 0x00

 

You'll need to change the 79 to 75. This is found in your DSDT.dsl under Device (HDEF)

 

I am also using the green labeled LegacyHDA.kext (3outs/2ins regular headphones) from How to patch guide...

Download link; http://www.insanelymac.com/forum/index.php...st&id=53274

 

I pretty much tried all of the Legacy kexts...and damn there are A TON of them! :D This is the only one that would work for me.

Link to comment
Share on other sites

My solution was here: http://www.insanelymac.com/forum/index.php...p=1229762 Post # 388

 

I was very skeptical that would work since I have a different motherboard, but this provided a perfect set of ins/outs on my UD3P rev 1.1. It does require a kext, but it is only an empty one with an info.plist doing the pin assignments.

 

Nice job.

 

Vanilla audio is possible with the EP45-UD3P for 10.5 through 10.6 using layout-id "66" found in all appleHDAs and an ioreg reported pin config. Line-out is through the green jack in back through all Leopard iterations, and works in 32 and 64 bit Snow. Line-in, digital out (and in from the header with a bracket) function as well. I can't speak to mic (rear jack) nor headphone. It's not the most complete solution but it is "foolproof", completely kextless, and so far update-unbreakable.

 

            Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x08)
                       {
                           "codec-id", 
                           Buffer (0x04)
                           {
                               0x85, 0x08, 0xEC, 0x10
                           }, 

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

                           "PinConfigurations", 
                           Buffer (0x28)
                           {
                               /* 0000 */    0x10, 0x90, 0xA0, 0x90, 0x20, 0x90, 0xA1, 0x02, 
                               /* 0008 */    0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02, 
                               /* 0010 */    0x30, 0x40, 0x11, 0x01, 0x40, 0x10, 0x01, 0x01, 
                               /* 0018 */    0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01, 
                               /* 0020 */    0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }

               Method (DTGP, 5, NotSerialized)
               {
                   If (LEqual (Arg0, Buffer (0x10)
                           {
                               /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                               /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                           }))
                   {
                       If (LEqual (Arg1, One))
                       {
                           If (LEqual (Arg2, Zero))
                           {
                               Store (Buffer (One)
                                   {
                                       0x03
                                   }, Arg4)
                               Return (One)
                           }

                           If (LEqual (Arg2, One))
                           {
                               Return (One)
                           }
                       }
                   }

                   Store (Buffer (One)
                       {
                           0x00
                       }, Arg4)
                   Return (Zero)
               }
           }

 

tmongkol:

 

I know I've posted about this before, but it seems I left off the bit about pin configuration which may or may not be necessary; it is for my machine.

My apologies, sir.

Link to comment
Share on other sites

machinist - yes I had the sound working kextless with a couple of different layouts including 66 but none of them had working mic inputs which I need.

 

This solution is virtually kextless since it only provides the info.plist with the proper layouts.

Link to comment
Share on other sites

@baller2319

 

It is normal to get pop noise at starting up. I have no idea how you set your model. Model and boot rom version should be related each other. For example, model is MacPro1,1 and boot rom version is MP11.xxx.xxxx.xxx.xxxxxxxxxx. If you set it correctly, you should not get popping sound before normal sound.

 

Hi Tmongkol! :(

 

My sound is working on my UD3P but before sound comes out of the speakers I hear a pop! Are you saying that changing the model and boot rom versions in smbios.plist can help with this issue?

 

- JOhn

Link to comment
Share on other sites

Hi Tmongkol! :)

 

My sound is working on my UD3P but before sound comes out of the speakers I hear a pop! Are you saying that changing the model and boot rom versions in smbios.plist can help with this issue?

 

- JOhn

 

Hi JOhn

 

This works for me - I had sound assertion errors at boot and an audio glitch (pop) following silence.

Setting model to MacPro3, 1 in SMBIOS removed the errors and poping.

 

Note also if you are using a disabler kext and it is disabling EFIRuntime - this may also give sound assertion errors at boot.

 

D.

Link to comment
Share on other sites

Hi JOhn

 

This works for me - I had sound assertion errors at boot and an audio glitch (pop) following silence.

Setting model to MacPro3, 1 in SMBIOS removed the errors and poping.

 

Note also if you are using a disabler kext and it is disabling EFIRuntime - this may also give sound assertion errors at boot.

 

D.

 

I get the popping sound as well but I already have my smbios set as MacPro3,1. However, I'm using a Logitech AudioHub USB sound bar so it may be completely unrelated. On my list of things to investigate.

 

http://www.logitech.com/index.cfm/speakers...03&cl=US,EN

Link to comment
Share on other sites

 Share

×
×
  • Create New...