Jump to content

How I got Lion GM sound working on GA-EP45-UD3P


evilpete
 Share

6 posts in this topic

Recommended Posts

I followed the instructions from

ALC889A, Gigabyte (Intel) by tmongkol and it kinda, sorta worked. Mostly. Here's what happened.

I used ALC885_889a_LION.zip from that thread and copied in the Platforms.xml and layout885.xml files as instructed. I kept my pre-existing DSDT HDEF edits.

 

This gave me 3 working sound output jacks on the rear panel. But I couldn't find one that worked for headset microphone recording.

 

Perhaps the input channel for the mic was going to a front-panel pin, but I don't have a front panel audio connector on this box.

 

On Snow Leopard, I generally used some version of HDAEnabler.kext + Legacy889a.kext and the rollback 10.6.2 AppleHDA driver. I wasn't really satisfied but it "worked".

 

I wasn't able to replicate this on Lion GM. Along the way, after searching these forums (and others) I discovered:

- I had a mistake in the DSDT. I had a device-id for an 889, not the 889a.

- The layout-id was bogus.

- The DSDT edits were therefore meaningless because HDAEnabler was "fixing" it, I think.

 

After fixing the device-id and layout-id (to decimal 885) there wasn't really much of a change. There was still no working mic input.

 

I noticed the DSDT had a PinConfigurations setting and researched that. I got a dump from Win7 and used the converted tool on that web page. Sadly, there was no useful effect. I got things like outputs labelled as "External Microphone" (as an output!).

 

At about that point I got the idea to fire up my old SL disk and poke around in IORegistryExplorer. I discovered that there was a PinConfigurations in the HDEF section! (???!!). I still don't know where those come from. I'm guessing either HDAEnabler or Legacy889a.kext was injecting it.

 

I cut/pasted those and copied them to my DSDT.. And nearly fell out of my chair because it worked.

 

Anyway, I happily have three working outputs, and a mic input on the back panel of my GA-EP45-UD3P.

 

So, for anyone else struggling with a GA-EP45-UD3P, I've attached my DSDT.dsl HDEF block to go along with the ALC885_889a_LION.zip file referenced above. Follow the instructions in the zip file, use the PinConfigurations etc for your HDEF block, and you should be golden.

 

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

				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x0A)
						{
							"built-in",
							Buffer (One)
							{
								0x00
							},

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

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

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

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

 

However.. Now I have some questions.

 

How concerned should we be about this sort of thing?

hackintosh% codesign -fvvv /System/Library/Extensions/AppleHDA.kext

/System/Library/Extensions/AppleHDA.kext: a sealed resource is missing or invalid

resource added: /System/Library/Extensions/AppleHDA.kext/Contents/Resources/layout885.xml

resource modified: /System/Library/Extensions/AppleHDA.kext/Contents/Resources/Platforms.xml

 

Is there really no other way to get this working without breaking the apple signatures?

 

Why does the DSDT PinConfigurations stuff matter? I thought I'd read that the layout-id and codec-id were used as indexes into pre-set apple hardware configurations? All those xml files seem to have the PinConfig verbs embeded in them. Would it have worked if I'd modified the ConfigData in the Info.plist for ALC885_889a.kext using Plist Editor Pro or something along those lines?

 

And should the Win7 extracted verbs have worked? The verb dump from Win7 (after swapping) was:

 <01471C10 01471D44 01471E01 01471F01 01571C12 01571D14 01571E01 01571F01 01671C11 01671D64 01671E01 01671F01 01771C14 01771D24 01771E01 01771F01 01871C40 01871D9C 01871EA1 01871F01 01971C50 01971D9C 01971EA1 01971F02 01A71C4F 01A71D34 01A71E81 01A71F01 01B71C20 01B71D4C 01B71E21 01B71F02 01C71CF0 01C71D01 01C71E33 01C71F59 01D71C01 01D71DE6 01D71E05 01D71F40 01E71C30 01E71D61 01E71E4B 01E71F01 01F71C60 01F71D71 01F71ECB 01F71F01>

Link to comment
Share on other sites

Now I have a new mystery. I copied the Win7 derived verb values into my DSDT and rebooted. Lion is using the old values still. So either:

- There is a cache somewhere that I'm not clearing, or

- The values I'm seeing in IORegistryExplorer aren't coming from the DSDT after all.

 

If its the latter then I'm seriously confused, because I believe that adding those values was the only change I made on that reboot.

 

If I look up the acpi data in IORegistryExplorer, I do see the updated pinconfig data as I specified it in my DSDT. Its just that the IOService values for HDEF and the audio stack are using the ones I had there before.

 

Yes, I cleared the /S/L/Caches/com.apple.kext.caches/Startup stuff and forced a rebuild.. maybe I screwed that up somehow?

Link to comment
Share on other sites

I can send you the files I use for 10.6.8 should you wish to test them?

 

Thanks for the offer, but it is working with the 10.7 files, I just don't know why and it is driving me crazy. I understand many of the fragments of the puzzle, but not the big picture.

 

On the plus side, at least I'm not having to use the rollback drivers anymore.

Link to comment
Share on other sites

  • 2 months later...
 Share

×
×
  • Create New...