Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
janek202

HDA Wizard - Simple tool for AppleHDA.kext

151 posts in this topic

Recommended Posts

janek202,

Great work.

Newbie here.

Where to get the required Platforms.xml, layoutxxx.xml & info.plist files for any particular ALC device?

TQ

Share this post


Link to post
Share on other sites
its seems that bin patching part not work for me and also may be for other idt user

this is script from bcc9 that i replace the codec id with my own 111D7603

and its work,i am attached the script may be possible to integrate it to app.

thanks

 

Hi Cyrus, Could you upload your patched AppleHDA.kext mate? Also do u have audio after wake from sleep using Apple HDA?

Share this post


Link to post
Share on other sites
Hi Cyrus, Could you upload your patched AppleHDA.kext mate? Also do u have audio after wake from sleep using Apple HDA?

audio after sleep i must say no!! i try every possible solution but not working.

its seem that exist a bug in our board (intel pm45)that cause graphics and sound problem after wake up.i can get my sound fully function with voodoohda i post a patched one in mammoth topic you can find it.

anyway this is patched applehda

AppleHDA.kext.zip

Share this post


Link to post
Share on other sites
Sorry, forgot to post my bin-patching command for Realtek ALC888:

 

find hex 0x85, 0x08, 0xEC, 0x10
patch to 0x88, 0x08, 0xEC, 0x10

cd /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/
sudo cp -pX AppleHDA ~AppleHDA
sudo perl -pi -e 's|\x85\x08\xec\x10|\x88\x08\xec\x10|g' AppleHDA

Can you please post your HDEF? This is mine:

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

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x04)
					{
						"layout-id", 
						Buffer (0x04)
						{
							0x78, 0x03, 0x00, 0x00
						}, 

						"PinConfigurations", 
						Buffer (Zero) {}
					}, Local0)
				MCDP (Arg2, RefOf (Local0))
				Return (Local0)
			}
		}

I tried binpatch along with ALC8xxHDA.kext but with no luck. Sound assertion at startup and no I/Os in System Preferences. Thanks.

Share this post


Link to post
Share on other sites

bin patching for 888 not working. layout.xml, platforms.xml and info.plist are installed by hda wizard. Will work after patch is applied thru terminal.

Share this post


Link to post
Share on other sites

hi!

very useful utility, thanks a lot!

 

I don't know if you already thought about that, but it would be a nice feature to load an older version of patched AppleHDA.kext and the dsdt.dsl file, and it recognizes itself the necessary files to patch with the new version of AppleHDA installed ...

 

Thanks!

Mal

Share this post


Link to post
Share on other sites

I am a total NOOB on this topic, thus have 2 questions:

- Where do I select the proper layoutxxx.xml? From the previously patched AppleHDA.kext? The current version after any update does not have the ALC888 layout.

- With the previous patched version, I always had to have Taruga's HDAEnabler.kext to make the patched HDA work. So after patching the current version, do I still need HDAEnabler?

Thank you!

Share this post


Link to post
Share on other sites
I don't know if you already thought about that, but it would be a nice feature to load an older version of patched AppleHDA.kext and the dsdt.dsl file, and it recognizes itself the necessary files to patch with the new version of AppleHDA installed ...

 

Requires too much work.

This utility is designed only for quick sound fixing after update. It just puts files in correct places, binhacks, sets permissions and rebuild cache. That's it. No automatic patching.

 

- Where do I select the proper layoutxxx.xml? From the previously patched AppleHDA.kext? The current version after any update does not have the ALC888 layout.

I don't know which version you mean by "previously patched AppleHDA.kext".

 

- With the previous patched version, I always had to have Taruga's HDAEnabler.kext to make the patched HDA work. So after patching the current version, do I still need HDAEnabler?

 

HDAEnabler or DSDT Patch.

 

bin patching for 888 not working. layout.xml, platforms.xml and info.plist are installed by hda wizard.

Check the console. Some people said that binpathing works ok. I will look at it. It's the same code no matter which codec you select...

 

 

Edit:

This test version should properly patch AppleHDA on any supported system. Please check how it works. My ALC262 doesn't need any patching. MD5 sum was changing.

http://dl.dropbox.com/u/7085278/HDA_Wizard/HW_TV.zip

Share this post


Link to post
Share on other sites
Check the console. Some people said that binpathing works ok. I will look at it. It's the same code no matter which codec you select...

 

I'm sorry but I do not quite understand ... When you say "It's the same code no matter which codec you select..." , you mean I can use a ALC888 patch for my ALC888B? I'm trying to patch "manually" my ALC888B a few days ago and I is not working.

Share this post


Link to post
Share on other sites

Janek wrote:"I don't know which version you mean by "previously patched AppleHDA.kext".

 

-Version 1.8.4fc3-

The point is, with any update, the new AppleHDA.kext does not have ALC888 layout.xml or the right platform.xml. My question was whether I choose the layout.xml, platform.xml and info.plist from the working kext?

If this is the case, I don;t see the merit of patching new kext vs. using the old kext. Perhaps you can enlighten me on this Janek.

 

What I do is save AppleHDA.kext . After an update, I just replace this kext and everything would be OK.

In your applet, one has to seek out info.plist, platform.xml and layout.xml to perform the patch, all to the end having the same effect as replacingwhatever HDA kext with the old one. I am still too dense on this, for my logic fails.

Share this post


Link to post
Share on other sites

OK guys, this is the full monty for the ALC888 (running perfectly on my Shuttle XPC SG31G2V2):

 

find hex 0x85, 0x08, 0xEC, 0x10
patch to 0x88, 0x08, 0xEC, 0x10

cd /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/
sudo cp -pX AppleHDA ~AppleHDA
sudo perl -pi -e 's|\x85\x08\xec\x10|\x88\x08\xec\x10|g' AppleHDA

 

/* Fixed */ Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_PRW, 0, NotSerialized)
			{
				Return (Package (0x02)
				{
					0x05,
					0x04  // Original value 0x05
				})
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0E)
				{
					"codec-id",
						Buffer (0x04) {0x88, 0x08, 0xEC, 0x10},  // Codec ALC888 = 0x10EC0888 (283904136)
					"device_type",
						Buffer (0x06) {"audio"},
					"layout-id",
						Buffer (0x04) {0x78, 0x03, 0x00, 0x00},  // Layout ALC888 = 0x00000378
//					  "model",
//						  Buffer (0x1A) {"Realtek ALC888 Controller"},
					"subsystem-vendor-id",
						Buffer (0x04) {0x6B, 0x10, 0x00, 0x00},  // Subsystem = [106b:00a0] Apple device
					"subsystem-id",
						Buffer (0x04) {0xA0, 0x00, 0x00, 0x00},  // Subsystem = [106b:00a0] Apple device
					"platformFamily",
						Buffer (0x01) {Zero},
					"PinConfigurations",
						Buffer (0x01) {Zero}
				}, Local0)
				MCDP (Arg2, RefOf (Local0))
				Return (Local0)
			}
		}

 

So janek202, this proggie only loads what users here send you, right? It doesn't actually insert stuff into Platforms.xml but rather replaces the needed files, correct? The only thing it does by itself is to bin-patch?

 

Attached layout888.xml and Platforms.xml as well.

 

Thank you and all members here.

layout888.xml

Platforms.xml

Share this post


Link to post
Share on other sites

On another side note that entails audio routing to Display Port, I have a question, too.

My video card is gtx460 with Display Port instead of HDMI. Whatever the working patched I used, it conflicts with the current Lion's video kext for this device, resulting failure to route audio to DP (it also registers this conflict during verbose boot.

I have been searching for weeks to remedy it, but to no avail.

Does anyone have a solution?

Share this post


Link to post
Share on other sites
It doesn't actually insert stuff into Platforms.xml but rather replaces the needed files, correct? The only thing it does by itself is to bin-patch?

 

Yes. It replaces or inserts as new file Platforms, layout and Info. It doesn't edit this files in any way.

Share this post


Link to post
Share on other sites

Trying 0x85, 0x08, 0xEC, 0x10 patch to 0x87, 0x08, 0xEC, 0x10 (0x87 for ALC888B, same as ALC887) and still no luck... Also tried 0x88 and nothing... :)

 

Anyone had success patching or am I the only one with ALC888B? :unsure:

Share this post


Link to post
Share on other sites

ok, just retried on 10.6.8 and 10.7 and still,hda binary not touched. All else is proper.

 

console:

 

8/28/11 6:42:11.248 PM [0x0-0x1d01d].janek202.HDA-Wizard: sudo: no tty present and no askpass program specified

Share this post


Link to post
Share on other sites
can anybody help me to patch applehda for audio codec IDT 92HD87B1/3

You should use the script that bbc9 created to patch your IDT codec. The old method doesn't work for IDT codecs.

Share this post


Link to post
Share on other sites

So im wondering did anyone succeed patching a AMD Integrated Realtek(or any other) Chipset and exualy get Sound out of it ? by patching a AppleHDA with Enabler or DSDT ....?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×