Jump to content

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


VCH888
 Share

1,156 posts in this topic

Recommended Posts

THX tmongkol and thorias !

 

 

now i've got sound !!!! yes the output is from black and not green output, but its a great beginning !!

 

if i change then pin configuration, i can correct this ? or add 5.1 ?

 

As im in SL, i can't use legacyhda since i need x64...

 

 

Thank you very much once again !!!!!!!!

Link to comment
Share on other sites

I use DSDT with HDEF and legacy 4outs2ins_regular_headphones for my ALC889a. But default output is headphones, so i need to change it to internal speakers manually.

How can i edit legacy kext or DSDT to make internal speakers to be default output ?

Link to comment
Share on other sites

THX tmongkol and thorias !

 

 

now i've got sound !!!! yes the output is from black and not green output, but its a great beginning !!

 

if i change then pin configuration, i can correct this ? or add 5.1 ?

 

As im in SL, i can't use legacyhda since i need x64...

 

 

Thank you very much once again !!!!!!!!

 

@ovof

 

You can use my LegacyHDA.kext when you're running SL @64 & 32bit.

 

Q: if i change then pin configuration, i can correct this ? or add 5.1 ?

no, you also need to correct node ids of pathmap. I used to change line in to line out for MacBook Pro for someone. I changed codecverbs and node ids. You can download as an example. http://www.mediafire.com/download.php?2ygzzmdatj4

 

You may compare between my pathmap and unpatched of LayoutID 12 & PathmapID 9. You can learn and find out by yourself.

 

I use DSDT with HDEF and legacy 4outs2ins_regular_headphones for my ALC889a. But default output is headphones, so i need to change it to internal speakers manually.

How can i edit legacy kext or DSDT to make internal speakers to be default output ?

 

 

@Nx-cold

 

I got this report from many people. I have no idea what cause of this problem and I think this problem will occur only after installation.

Link to comment
Share on other sites

@Nucleus

 

You're using an ASUS motherboard, aren't you. I have no idea how to solve it since I don't have an ASUS motherboard. However, you may try to do something.

 

1) change my codecverbs from address 2 to address 0, i.e, 21471c10 to 021471c10.

2) delete codecverbs of 01exxxxx and 01fxxxxx since your mobo doesn't have digital in/out.

3) go to pathmaps to delete items of digital in & out (each two nodes).

4) you may try to remove MuteGPIO of MIC and LineIn in Layouts to see anything might be different.

 

You got to try it. If you have an mp3 player or whatever, you plug it into LineIn & MIC for testing. Also, get a program called LineIn to test whether sound pass thru your speakers or not.

 

tmongkol

 

Thank you for helping.

 

I tried 1), 2), 3), 4) in various ways. here're the results.

 

When I did only 1)

- Sound assertion error.

- rear mic port (pink) works.

- "Use ambient noise reduction" being checked, input becomes too low to move Input level even if the Input volumes is MAX. It moves a bit when I scream and yell on a mic.

- If I don't check "User ambient noise rediction" input power is okay. But only right side input. I found it using LineIN app. If I scream and yell with the option checked, both left and right side works.

 

When I did 3) with 1), 2), 4) or 1), 2) or 1), 4).... whatever

- No Input and Output.

- System Profiler can show up the ports, though.

 

When I did only 4)

- rear mic port (pink) works.

- "Use ambient noise reduction" being checked, input becomes too low to move Input level even if the Input volumes is MAX. It moves a bit when I scream and yell on a mic.

- If I don't check "Use ambient noise rediction" input power is okay. But only right side input. I found it using LineIN app. If I scream and yell with the option checked, both left and right side works.

- there is a delay. When I say something on mic with LineIN running, speacker doesn't immediately plays my voice. It takes about 2 sec. after I say something on mic, to play my voice.

 

When I did 1), 2) and 4)

- same as When I did only 1)

 

Conclusion:

1. any changes to Codec Verbs cause sound assertion error.

2. both MuteGPIO and Codec Verbs has something to do with input issue.

3. "Use ambient noise reduction" option needs fixing. (signal proccessing)

4. I'm doing 3) in wrong way. Can you tell me exactly what part of Info.plist I should fix?

Link to comment
Share on other sites

THX tmongkol and thorias !

 

 

now i've got sound !!!! yes the output is from black and not green output, but its a great beginning !!

 

if i change then pin configuration, i can correct this ? or add 5.1 ?

 

As im in SL, i can't use legacyhda since i need x64...

 

 

Thank you very much once again !!!!!!!!

 

As tmongkol said you need also correct node id, I tried to play with the pin configuration and some microsoft hda audio doc but couldn't get it right, anyway for me I don't care to much as I'm using a basic stereo amp with speakers but don't need anymore to load kext for audio is working in pure DSDT mode now..... :)

Link to comment
Share on other sites

@ovof

 

You can use my LegacyHDA.kext when you're running SL @64 & 32bit.

 

 

Or,now :

- with dsdt basic patch (thx to thorias), i've got sound ALC889A GA EP45C DS3R, stereo out on black port.

- if i add any of legacyhda (from the package "Series of LegacyHDA"), the volume icon becomes gray, no sound, no sys pref.

 

I need to patch legacyhda too ?

 

Sorry, i'm bit lost between dsdt and legacyhda ; ; Thx for your help :D

Link to comment
Share on other sites

Or,now :

- with dsdt basic patch (thx to thorias), i've got sound ALC889A GA EP45C DS3R, stereo out on black port.

- if i add any of legacyhda (from the package "Series of LegacyHDA"), the volume icon becomes gray, no sound, no sys pref.

 

I need to patch legacyhda too ?

 

Sorry, i'm bit lost between dsdt and legacyhda ; ; Thx for your help :(

 

I think you have to use one or the other not both at same time....anyway why using legacyhda?

Link to comment
Share on other sites

I think you have to use one or the other not both at same time....anyway why using legacyhda?

With the DSDT patching, i've got sound with black output, stereo, and crack when output.

 

I thought adding legacy will correct this, as tmongol said ;à) But that dont work

Link to comment
Share on other sites

BTW,

 

i try to fix another mobo too : 945GCM-S2L, ALC662

 

i used your device(HDEF) posted on another thread

 

so i used :

			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)
						{
							0x62, 0x06, 0xEC, 0x10
						}, 

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

						"device-type", 
						Buffer (0x07)
						{
							"ALC662"
						}, 

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

 

it gives me :

Audio haute définition Intel :

 Identifiant du périphérique :	0x1458A002
 Identifiant audio :	662
 Appareils disponibles :
 Sortie de ligne :
 Connexion :	Prise Jack 1/8 pouce
 Microphone externe :
 Connexion :	Prise Jack 1/8 pouce
 Sortie S/P-DIF :
 Connexion :	Combo

 

but...

16/08/09 20:27:00	kernel	Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit

 

so that ive no sound

 

thats the layout id too ?

Link to comment
Share on other sites

BTW,

 

i try to fix another mobo too : 945GCM-S2L, ALC662

 

i used your device(HDEF) posted on another thread

 

so i used :

			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)
						 {
							 0x62, 0x06, 0xEC, 0x10
						 }, 

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

						 "device-type", 
						 Buffer (0x07)
						 {
							 "ALC662"
						 }, 

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

 

it gives me :

Audio haute définition Intel :

  Identifiant du périphérique :	0x1458A002
  Identifiant audio :	662
  Appareils disponibles :
  Sortie de ligne :
  Connexion :	Prise Jack 1/8 pouce
  Microphone externe :
  Connexion :	Prise Jack 1/8 pouce
  Sortie S/P-DIF :
  Connexion :	Combo

 

but...

16/08/09 20:27:00	kernel	Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 1459 goto Exit
16/08/09 20:27:00	kernel	Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-172.1.9/AppleHDA/AppleHDADriver.cpp" at line 172 goto Exit

 

so that ive no sound

 

thats the layout id too ?

 

 

You have to get proper codec id, layout id by using hdaenabler or looking at the beginning of this post for doc, also use acpi patcher by kolala to generate proper dsdt file and modify it in consequence as per the doc at the begining. Remember the code I put here is ONLY for real ALC889A.

 

With the DSDT patching, i've got sound with black output, stereo, and crack when output.

 

I thought adding legacy will correct this, as tmongol said ;à) But that dont work

 

I don't have any cracking on my output check your jack and connect it in and out several time to check and clean the connector....

Link to comment
Share on other sites

Thank you for helping.

.

.

.

Conclusion:

1. any changes to Codec Verbs cause sound assertion error.

2. both MuteGPIO and Codec Verbs has something to do with input issue.

3. "Use ambient noise reduction" option needs fixing. (signal proccessing)

4. I'm doing 3) in wrong way. Can you tell me exactly what part of Info.plist I should fix?

 

 

@Nucleus

 

Please try this 4outs2ins_regular_test.zip (not for Gigabyte)

 

I don't know it gonna work for you or not. You can see what I did. It is just a legacy kext, it needs to work with AppleHDA.kext.

 

tmongkol

Link to comment
Share on other sites

@Nucleus

 

Please try this 4outs2ins_regular_test.zip (not for Gigabyte)

 

I don't know it gonna work for you or not. You can see what I did. It is just a legacy kext, it needs to work with AppleHDA.kext.

 

tmongkol

 

tmongkol, thank you very much. It's so kind of you to helping non-Gigabyte mobo user like me. :D

 

Consulting your example, I edited info.plist of 43HD since your example is 43Regular.

I didn't touch MuteGPIO, SignalProccessing, and Volume boost, though. but except those I did just as you had done.LegacyHDA.kext.zip

 

Now I get full sound output with automatic switchover between Front/Rear green port and one input (Rear pink port) without sound assertion error or something.

 

I think this is a lot advancement. :D now I need to manage Linein(blue port), Front pink port, and "ambient noise reduction" option.

 

I guess blue port can be solved thru some changes to Codec Verbs. but for Front pink and noise reduction, I'm so confused.

 

If you can, I hope to hear from you something about MuteGPIO and SignalProccessing.

About SignalProccessing, when I opened info.plist with textedit and Searched noise reduction part, I found fifth "parameter info" being shown in Base64 Code while Property List Editor shows it as a string similar to "Codec Verbs".

 

Texedit

									<data>BK9/wipbZMKih27CXHt7wkZLgsIgtIXCqhGJwjXJi8JzGI7CYeiPwr6jkcIANpPCjKKUwpCGlMIcWZbC/P2WwtRjmMIK5JnCO52awiB5msITyJrCo7Gbwu3Fm8IZjZ7CQ3+dwmg1n8IdeaHCIlijwvguo8KwU6PCW
ASgwmt+oMLibqPC21yjwhjOpsLhQqfCEH+nwojDpsLqEabCkoihwrZko8KYFqTCnWWmwhj/qcLplqrCAhyrwvEgq8JwjKjCurCkws+Kp8IKTqXCl7GowrAVq8JmKazCPrGrwiDzqsLZ5KfCCqanwvLD
qcKKwqfCqqOqwoKnqsIPAa7CgWGvwlT3rsKl5anCU3yrwpV0qsLimKrCzBGuwm3zrcJGRbDCR5KwwvSx
r
sKpr6rC2xetwniVqsJNUK3C3lquwtH0rcJ6mazC6zOtwowYrsJUNa3CXBKvwkl9rML3/K/CanKvwuoKssIX37PCwXWzwm3Dr8KxErDC5XuvwqnfrsLBy7HCXnKwwjTms8LUT7XCkrmzwmBWsMIQqrH
C1kmwwloussKnybLC+kWywsxLtcIY27fCO3u4wuPgt8I7JbrCClK4wmkwvMJ3vbzCQVHAwjSfxcJ418f
C
CZ7JwixDzMJm5c/C1FrRwgVZ2MIqAN3CI4rlwpaa78KO4vfCiywAw3HFA8OL1wvD</data>

Property List Editor

<2d3e87c2 722374c2 3aa77fc2 588987c2 a21386c2 36b07dc2 b6ff75c2 0a2477c2 2d6180c2 93be86c2 14de86c2 f6ef83c2 968586c2 ef758cc2 4fb691c2 509391c2 6dc893c2 563199c2 ab409bc2 1f2d9dc2 b2249ec2 f0a79bc2 78e999c2 c6fc9ac2 37739ac2 7d8199c2 eb1a9dc2 984ba1c2 b121a2c2 2c4aa2c2 2c1ea3c2 9c84a3c2 5727a4c2 1d91a3c2 9536a2c2 0137a2c2 0c27a3c2 0656a3c2 eb96a3c2 fcdfa4c2 10d2a4c2 ca84a4c2 61afa3c2 d9fba2c2 55a1a3c2 4c84a4c2 a710a5c2 ee62a5c2 f6a1a5c2 dfbba5c2 d2f0a5c2 c742a6c2 645ba6c2 cc65a6c2 b366a6c2 e764a6c2 560ca6c2 20d8a5c2 7a55a6c2 486aa6c2 e071a6c2 abe6a6c2 a8efa6c2 681ca7c2 c24ca7c2 9ca8a7c2 41b1a7c2 6cf1a7c2 14faa7c2 a0ffa7c2 3621a8c2 1246a8c2 b2aaa8c2 e51fa9c2 1612a9c2 960da9c2 8905a9c2 9515a9c2 1838a9c2 ec2aa9c2 4b1fa9c2 d17da9c2 8b8ba9c2 6ab3a9c2 caf2a9c2 f849aac2 8e92aac2 2072aac2 6185aac2 70a2aac2 a5a5aac2 a39eaac2 0beeaac2 3c1dabc2 02f8aac2 8e01abc2 8b16abc2 d6d3aac2 7cf2aac2 9dc3abc2 2861acc2 2e8bacc2 c6bcacc2 e427adc2 b26eadc2 b0d9adc2 eef0adc2 c743aec2 9c11b0c2 b42eb1c2 bf33b2c2 f23db3c2 a891b4c2 6653b6c2 eb83b8c2 1bfdbac2 cc6bbdc2 de48c0c2 3a7bc3c2 c041c7c2 9cd0cbc2 7cf0d0c2 9332d6c2 157ddcc2 1845e4c2 d062edc2 5800f7c2 b430fec2 f6a907c3>

 

I think changes to this part would be the solution.

 

Nucleus.

Link to comment
Share on other sites

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

})

}

 

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x0A)

{

"built-in",

Buffer (One)

{

0x00

},

 

"codec-id",

Buffer (0x04)

{

0x89, 0x08, 0xEC, 0x10

},

 

"layout-id",

Buffer (0x04)

{

0x0C, 0x00, 0x00, 0x00

},

 

"device-type",

Buffer (0x11)

{

"ALC889a"

},

 

"PinConfigurations",

Buffer (One)

{

0x00

}

}, 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)

}

}

 

 

 

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

ALC889a.kext.zip

Link to comment
Share on other sites

 

 

@Nucleus

 

I really don't know about SignalProccessing but I think it must be related to each Apple's device (model).

 

About ambient noise reduction: I just copied from one of layout of AppleHDA.kext. It might be just for a specific device. I have no idea how to find it exactly.

 

About MuteGPIO: When I made Internal Speaker, I need to put MuteGPIO. If not, it will act as Line In. No power.

 

About Line In: Did you try any CD/MP3 player connect to Line In port? I think it should be working. You can't just use a microphone to test. You need a program called LineIn for getting sound pass thru from Line In to Speakers.

 

You can get more detail by studying THe KiNG's guide, get link on the first post. I still need to learn more.

 

tmongkol

Link to comment
Share on other sites

sorry i've a question .. if I want a front mic I've always a

"Sound assertion "0 == fMikeyDriver" failed in "/SourceCache/AppleHDA/AppleHDA-162.1.37/AppleHDA/AppleHDADriver.cpp" at line 1063 goto handler."

 

 

??

 

is there a way to bypass that? to use a recent applehda driver and a correct plist?

Link to comment
Share on other sites

sorry i've a question .. if I want a front mic I've always a

"Sound assertion "0 == fMikeyDriver" failed in "/SourceCache/AppleHDA/AppleHDA-162.1.37/AppleHDA/AppleHDADriver.cpp" at line 1063 goto handler."

 

 

??

 

is there a way to bypass that? to use a recent applehda driver and a correct plist?

 

@ugokind

 

Q: is there a way to bypass that?

A: I have no idea. However, I think MikeyDriver must be related to MacBook's External Mic and it may be about energy saving. If using External Mic (ExtMic in layout) might be linked to Mikey.kext. It is poosible to make front mic acting like Line In and you need to use a microphone that has power. I am thinking.

 

Q: to use a recent applehda driver and a correct plist?

A: I could not get Front mic work as External Mic since 1.6.8a3 AppleHDA.kext came out. It showed me "None." Got sound assertion of MikeyDriver. I have no idea why it couldn't work anymore.

 

 

I will try to find out if I can get front mic working as external mic again.

Link to comment
Share on other sites

Update info. for HDEF Enabler via DSDT

 

You may use the following code.

 


           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)
                           {
                               0x75, 0x03, 0x00, 0x00   
                           }, 

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

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


 

You can use only "layout-id" but there are a few of Audio (Built In) in System Profiler, no list of available devices. So, You need one more is "PinConfigurations" in order to show "Available Devices." As you see above "PinConfigurations" has only 0x00, the important thing of PinConfigurations relies on ConfigData in info.plist. "codec-id" and "device-type" will be used for showing information in IORegistryExplorer. So, you may have "layout-id" and "PinConficgurations" in DSDT.

 

Also, you need to know what layout-id you use, CodecID in AppleHDA.kext (or any legacy kext) must be matched your audio device. For example, Gigabyte ALC889a's Hex is 0x10EC0885 so CodecID is 283904133. Gigabyte ALC888's Hex is 0x10EC0888 so CodecID is 283904136.

Link to comment
Share on other sites

Update info. for HDEF Enabler via DSDT

 

 

You can use only "layout-id" but there are a few of Audio (Built In) in System Profiler, no list of available devices. So, You need one more is "PinConfigurations" in order to show "Available Devices." As you see above "PinConfigurations" has only 0x00, the important thing of PinConfigurations relies on ConfigData in info.plist. "codec-id" and "device-type" will be used for showing information in IORegistryExplorer. So, you may have "layout-id" and "PinConficgurations" in DSDT.

 

Also, you need to know what layout-id you use, CodecID in AppleHDA.kext (or any legacy kext) must be matched your audio device. For example, Gigabyte ALC889a's Hex is 0x10EC0885 so CodecID is 283904133. Gigabyte ALC888's Hex is 0x10EC0888 so CodecID is 283904136.

 

 

 

tmongkol:

 

I have tested about forty different layout ids with my 889a, including all those found in Leopard's AppleHDAs from 10.5.6 to 10.5.8 and Snow 10.6. Many layout ids produce sound through the green jack, but just one, layout 66, (Hex 42 - 0x42 0x00 0x00 0x00), gives me five options and sound through the green line out jack, yielding 2 ins, 2 out and digital in and out. This is with a completely vanilla installation. I know it's not a perfect solution, and a half dozen sound assertion errors display on boot, but it is easy and works across OS iterations.

 

I tried your "0x75 0x03..." layout and it doesn't produce sound on my board, which is an EP45-UD3P (rev. 1.0) with the 889a.

 

Just offering this information. I appreciate your efforts. Before I started getting sound through DSDT methods I used your kexts to mend my sound. In fact, I use the pin configuration from the working HDA (of yours, reflected in IOreg) in an older 10.5.7 installation in my current DSDT. From what I've read it doesn't make a difference, but there you have it, for what it's worth. I kept record of each layout id I tried along with results. If you need the data I'll be happy to supply it to you.

 

Thank you for your work, sir, and best to you in กรุงเทพมหานคร อมรรัตนโกสินทร์ มหินทรายุธยามหา�"ิลก ภพนพรัตน์ ราชธานีบุรีรมย์ อุ�"มราชนิเวศน์ มหาสถาน อมรพิมาน อวตารสถิต สักกะทัตติยะ วิษ�"ุกรรมประสิทธิ์.

Link to comment
Share on other sites

tmongkol:

 

I have tested about forty different layout ids with my 889a, including all those found in Leopard's AppleHDAs from 10.5.6 to 10.5.8 and Snow 10.6. Many layout ids produce sound through the green jack, but just one, layout 66, (Hex 42 - 0x42 0x00 0x00 0x00), gives me five options and sound through the green line out jack, yielding 2 ins, 2 out and digital in and out. This is with a completely vanilla installation. I know it's not a perfect solution, and a half dozen sound assertion errors display on boot, but it is easy and works across OS iterations.

 

I tried your "0x75 0x03..." layout and it doesn't produce sound on my board, which is an EP45-UD3P (rev. 1.0) with the 889a.

 

Just offering this information. I appreciate your efforts. Before I started getting sound through DSDT methods I used your kexts to mend my sound. In fact, I use the pin configuration from the working HDA (of yours, reflected in IOreg) in an older 10.5.7 installation in my current DSDT. From what I've read it doesn't make a difference, but there you have it, for what it's worth. I kept record of each layout id I tried along with results. If you need the data I'll be happy to supply it to you.

 

Thank you for your work, sir, and best to you in กรุงเทพมหานคร อมรรัตนโกสินทร์ มหินทรายุธยามหา�"ิลก ภพนพรัตน์ ราชธานีบุรีรมย์ อุ�"มราชนิเวศน์ มหาสถาน อมรพิมาน อวตารสถิต สักกะทัตติยะ วิษ�"ุกรรมประสิทธิ์.

 

@machinist

 

Thank you for sharing your experience. Other members can try their efforts and I will look at layout-id 66 for studying.

Link to comment
Share on other sites

tmongkol:

 

I have tested about forty different layout ids with my 889a, including all those found in Leopard's AppleHDAs from 10.5.6 to 10.5.8 and Snow 10.6. Many layout ids produce sound through the green jack, but just one, layout 66, (Hex 42 - 0x42 0x00 0x00 0x00), gives me five options and sound through the green line out jack, yielding 2 ins, 2 out and digital in and out. This is with a completely vanilla installation. I know it's not a perfect solution, and a half dozen sound assertion errors display on boot, but it is easy and works across OS iterations.

 

I tried your "0x75 0x03..." layout and it doesn't produce sound on my board, which is an EP45-UD3P (rev. 1.0) with the 889a.

 

Just offering this information. I appreciate your efforts. Before I started getting sound through DSDT methods I used your kexts to mend my sound. In fact, I use the pin configuration from the working HDA (of yours, reflected in IOreg) in an older 10.5.7 installation in my current DSDT. From what I've read it doesn't make a difference, but there you have it, for what it's worth. I kept record of each layout id I tried along with results. If you need the data I'll be happy to supply it to you.

 

Thank you for your work, sir, and best to you in กรุงเทพมหานคร อมรรัตนโกสินทร์ มหินทรายุธยามหา�"ิลก ภพนพรัตน์ ราชธานีบุรีรมย์ อุ�"มราชนิเวศน์ มหาสถาน อมรพิมาน อวตารสถิต สักกะทัตติยะ วิษ�"ุกรรมประสิทธิ์.

 

 

Thank you man!! this was my missing part, now I have sound output on the green connector instead of the black one and looks like my outputs are properly enumerated in my syspref. Here is the code I'm using in my dsdt.aml file:

 

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)
						{
							0x89, 0x08, 0xEC, 0x10
						}, 

						"layout-id", 
						/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
						{
							0x42, 0x00, 0x00, 0x00
						}, 

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

						"PinConfigurations", 
						Buffer (0x01)
						{
							0x00
						}
					}, Local0)

 

Thanks again for your investigation!! :)

Link to comment
Share on other sites

Thank you man!! this was my missing part, now I have sound output on the green connector instead of the black one and looks like my outputs are properly enumerated in my syspref. Here is the code I'm using in my dsdt.aml file:

 

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)
						{
							0x89, 0x08, 0xEC, 0x10
						}, 

						"layout-id", 
						/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
						{
							0x42, 0x00, 0x00, 0x00
						}, 

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

						"PinConfigurations", 
						Buffer (0x01)
						{
							0x00
						}
					}, Local0)

 

Thanks again for your investigation!! ;)

 

Thanks a lot !!

 

I'ge got sound with the green connector and no crack anymore !!!!!!!

 

 

 

Amazing :)

Link to comment
Share on other sites

@machinist

 

Thank you for sharing your experience. Other members can try their efforts and I will look at layout-id 66 for studying.

 

tmongkol:

 

Just tried out another "solution", using layout-id "12" (Hex = "0C") and the 889a kext found at the French language Darwin site: darwinx86.org/applications/utilitaires-osx86/152-hda-1058. That combination yields 3 outs, 2 ins, and digital in and out for a total of seven. Sound does issue from the green jack. One assertion error manifests on boot.

 

Using layout-id "66" with the kext (and changing the plist layout value of the French kext to layout-id "66" still produces four outs and three ins, but with the additional "mikey" errors at boot.

 

It's an alternative, though I think it only works with 10.5.8. Just using layout-id "66" works for all Leopard/SL iterations.

 

Just thought you might want to know.

 

Best to you in Bangkok.

Link to comment
Share on other sites

tmongkol:

 

Just tried out another "solution", using layout-id "12" (Hex = "0C") and the 889a kext found at the French language Darwin site: darwinx86.org/applications/utilitaires-osx86/152-hda-1058. That combination yields 3 outs, 2 ins, and digital in and out for a total of seven. Sound does issue from the green jack. One assertion error manifests on boot.

 

Using layout-id "66" with the kext (and changing the plist layout value of the French kext to layout-id "66" still produces four outs and three ins, but with the additional "mikey" errors at boot.

 

It's an alternative, though I think it only works with 10.5.8. Just using layout-id "66" works for all Leopard/SL iterations.

 

Just thought you might want to know.

 

Best to you in Bangkok.

 

Sorry but tried already 0x0C 0x00 0x00 0x00 (12) but you'll get sound output only on the black connector in my case see my previous post...but of course if you use the alc889ainj kext it will work ok on proper output. But my personal goal is to use maximum dsdt patching instead of kext as for me for sound with this setting, I won't get worried for future upgrade nor using hda enabler or kexts....

Link to comment
Share on other sites

Sorry but tried already 0x0C 0x00 0x00 0x00 (12) but you'll get sound output only on the black connector in my case see my previous post...but of course if you use the alc889ainj kext it will work ok on proper output. But my personal goal is to use maximum dsdt patching instead of kext as for me for sound with this setting, I won't get worried for future upgrade nor using hda enabler or kexts....

 

thorias:

 

I prefer and use the pure dsdt layout-id "66" as well. Thought to post the information about "12" to be thorough. I do audio, video and ethernet through the dsdt.

 

What is your rig?

 

Are you familiar with Pere's new site, osx86.es? He and others have assembled a knowledge base on dsdt mods.

Link to comment
Share on other sites

thorias:

 

I prefer and use the pure dsdt layout-id "66" as well. Thought to post the information about "12" to be thorough. I do audio, video and ethernet through the dsdt.

 

What is your rig?

 

Are you familiar with Pere's new site, osx86.es? He and others have assembled a knowledge base on dsdt mods.

 

My rig is in my signature, yeah I discovered their site today has they have released a cool prog to make dsdt patching easier see "DSE"

Link to comment
Share on other sites

 Share

×
×
  • Create New...