Jump to content

[HOW TO] Patch AppleHDA - Knowledge Base


THe KiNG
 Share

392 posts in this topic

Recommended Posts

I compiled a patched kext and it worked.But I`m not sure is it fully working.For now I`ve tested output is fine and can automatically switch between internal speaker and headphones.And no shutdown issue.By the way the format is 2ch-20bit.Input didn`t tested.Is THAT NORMAL? :blink: Here are my photos.

post-216278-1226219402_thumb.png

post-216278-1226219415_thumb.png

post-216278-1226219425_thumb.png

post-216278-1226219436_thumb.png

post-216278-1226219448_thumb.png

post-216278-1226219460_thumb.png

post-216278-1226219473_thumb.png

Link to comment
Share on other sites

Hi THe KiNG, I'm trying to follow your guide, but I get error when making dec ... that's what happens?

./convert_hex_to_dec.rb dumpfile.txt > /Users/macoff/Desktop/codecgraph/ConvertedDumpfile.txt
./convert_hex_to_dec.rb:3:in `initialize': No such file or directory - dumpfile.txt (Errno::ENOENT)
from ./convert_hex_to_dec.rb:3:in `new'
from ./convert_hex_to_dec.rb:3

post-169936-1226329012_thumb.png

 

Thanks and greetings, MacOff

 

PS: Sorry my poor english...

 

EDIT: Oh sorry I have not changed Dumpfile.txt to my own...

Link to comment
Share on other sites

Very nice guide! I've created my own AppleHDA.kext for a cx20549.

What should I do next? Can I simply replace the existing AppleHDA.kext with the one I modified/created?

 

Thnks in advance

 

Hello, I've been finding CX20549 driver for AppleHDA.kext, your success is very welcome for my sound problem.

Can you send or attach your successful own AppleHDA.kext for CX20549 to me? does it works property?

 

my e-mail address is arena.lucid@gmail.com

 

Thanks in advance.

Link to comment
Share on other sites

have you guys any idea on how to add noise reduction to internal mic? I'm working on a 1.2.4 kext, I tried patching a newer one which was already provided on the forum with noise reduction but I got only speakers working (everything showing on system profile and there was the noise reduction option)... I also tried to copy PathMapRefs from that kext to mine but no luck...

Link to comment
Share on other sites

have you guys any idea on how to add noise reduction to internal mic? I'm working on a 1.2.4 kext, I tried patching a newer one which was already provided on the forum with noise reduction but I got only speakers working (everything showing on system profile and there was the noise reduction option)... I also tried to copy PathMapRefs from that kext to mine but no luck...

 

Are you just trying to lower the internal mic volume should be able to do so by finding the mic in your pathmap and adjust the boost level.....

Link to comment
Share on other sites

Are you just trying to lower the internal mic volume should be able to do so by finding the mic in your pathmap and adjust the boost level.....

 

 

no the problem is that tere's like a persistent undefined sound which makes my voice incomprehensible when using skype for example... the mic works but the sound it records pretty sucks

Link to comment
Share on other sites

THaNKS dude.When I MODIFIED UR APPLEHDA.KEXT BY CHANGING THE ConfigData WITH CADR 1 VALUES THE exTERNAL MIC WORKS FINE WITH ME BUT THE DISPLAYED INFO IN SOUND PREF WAS WRONG.THERE 2 ITEAMS ARE ALL THGE SAME.THE ONLY PROBLEM WITH Cesar di`s patch when used on my lappie was the internal mic produced very loud current sound.And the internal mic only displayed in sound preference but not working. I HAVE NO IDEA. :)

BTW how to modify the mic pathmap thing.When I got this CAd 1 fully working I will share the kext.See if it is a Universal patch.That will be great! :censored2:

Link to comment
Share on other sites

I`ve modified the applehda.kext again.A strange thing occured.I got two Microphone port DISPLAYED in SOUND preference.Any idea guys.I`m a n00b. :( :(

 

Here IS my patched kext.And MY HDACONTRLOR.KEXT PLIST.INFO DUMP.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>AppleHDAController</string>
<key>CFBundleGetInfoString</key>
<string>1.5.7a24, Copyright Apple Inc. 2005-2008</string>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHDAController</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>HDA Controller Driver</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.5.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.5.7a24</string>
<key>IOKitPersonalities</key>
<dict>
	<key>BuiltInHDA</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.AppleHDAController</string>
		<key>HDAConfigDefault</key>
		<array>
			<dict>
				<key>CodecID</key>
				<integer>283904131</integer>
				<key>ConfigData</key>
				<data>
				EUccEBFHHRARRx4hEUcfARFXHBARVx0BEVce
				ExFXH5kRZxzwEWcdERFnHhERZx9BEXcc8BF3
				HRERdx4REXcfQRGHHDARhx2YEYceoRGHHwER
				lxzwEZcdERGXHhERlx9BEacc8BGnHRERpx4R
				EacfQRHHHPARxx0REcceERHHH0ER1xwwEdcd
				ARHXHoMR1x+ZEeccIBHnHRER5x5FEecfARH3
				HPAR9x0REfceERH3H0E=
				</data>
				<key>FuncGroup</key>
				<integer>1</integer>
				<key>LayoutID</key>
				<integer>12</integer>
			</dict>
		</array>
		<key>IOClass</key>
		<string>AppleHDAController</string>
		<key>IOPCIClassMatch</key>
		<string>0x04020000&0xFFFE0000</string>
		<key>IOProviderClass</key>
		<string>IOPCIDevice</string>
		<key>PostConstructionInitialization</key>
		<array>
			<dict>
				<key>Layouts</key>
				<array>
					<integer>36</integer>
					<integer>38</integer>
					<integer>52</integer>
				</array>
				<key>widgets</key>
				<array>
					<dict>
						<key>MicAttributes</key>
						<integer>27</integer>
						<key>MicInfo</key>
						<string>Sampled on rising edge</string>
						<key>NodeID</key>
						<integer>27</integer>
						<key>PinConfigDefault</key>
						<integer>1091637744</integer>
					</dict>
				</array>
			</dict>
		</array>
	</dict>
</dict>
<key>OSBundleCompatibleVersion</key>
<string>1.0.0d1</string>
<key>OSBundleLibraries</key>
<dict>
	<key>com.apple.iokit.IOHDAFamily</key>
	<string>1.0.0d1</string>
	<key>com.apple.iokit.IOPCIFamily</key>
	<string>1.1</string>
	<key>com.apple.kpi.bsd</key>
	<string>8.0.0b3</string>
	<key>com.apple.kpi.iokit</key>
	<string>8.0.0b3</string>
	<key>com.apple.kpi.libkern</key>
	<string>8.0.0b3</string>
	<key>com.apple.kpi.mach</key>
	<string>8.0.0b3</string>
</dict>
</dict>
</plist>

post-216278-1226647126_thumb.png

Link to comment
Share on other sites

ok,

 

i'm glad to announce that analog 5.1 (rear port : green-black-orange) work now on my GA-P35-DS3L rev2 (alc 888 - adress 2), mic-in and line-in at rear panel also work

 

now i am working on the grey port (7.1 :( ) and the front headphone

 

Blue: set to Line In - Working

Green: set to Line-out - Working

Pink: set to Mic In - Working

Black: set to IntSpeaker - Working

Orange: set to Headphone - Working

Gray: -Removed- Work in progress

 

S/P-DIF In: - working - not tested

S/P-DIF Out: - Working - not tested

 

Front: Headphones -Removed- Work in progres

Front: Mic In -Removed- Work in progress

 

if you have the same mobo, please try and report :

 

http://www.mediafire.com/download.php?dn2wjlj5loj (for 10.5.5)

 

http://www.mediafire.com/download.php?mg2zqa5jydg (for 10.5.6)

 

thank to MadTux and THe KiNG for your work :(

Link to comment
Share on other sites

cparm, did you have to do the aggregate device thing?

 

aggregate device is needed if you want to have a virtual device with more than one output (or input), in my case, i wanted to have a 5.1 capable device, so yes it has needed

 

wihtout aggregate device method, players like vlc only see 3 working output, but vlc can't remap them by itself to do 5.1

 

of course you also need to have more then one output:

 

4 stereo output for 7.1

3 stereo output for 5.1

2 stereo output for 4.0

 

read the Consolation GUIDE for more informarion

Link to comment
Share on other sites

yes , there is no more hdaenabler, nowhere :P

Thanks, I tried to use your dsdt.aml, it worked but System Profiler crash on Graphics Section, I guess is becuase you have a different card.

 

How did you patch the dsl to make the HDEF enabled.

 

Right now I using a generated dsdt.aml with fassl patcher, also deleted the audio part from EFI strings.

 

With your dstd.aml my SoundCard is not detected.

Link to comment
Share on other sites

cparm,

 

I looked through your files but couldn't determine what you added/patched in the DSDT. Can you provide more tutorial/insight?

 

Thanks,

SMF

 

 

Thanks, I tried to use your dsdt.aml, it worked but System Profiler crash on Graphics Section, I guess is becuase you have a different card.

 

How did you patch the dsl to make the HDEF enabled.

 

Right now I using a generated dsdt.aml with fassl patcher, also deleted the audio part from EFI strings.

 

With your dstd.aml my SoundCard is not detected.

 

 

first run the fassl patcher (i use the 1.0.1d version)

 

it will generate some files and folders, open the file dsdt_fixed.txt in the debug folder

 

follow the guide from THe KiNG to know what to add in this file (if you don't find the hpet device, also search for azal entry),

 

there is mine:

 

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

 

 

so my dsdt hdef device is:

 

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)
						{
							0x88, 0x08, 0xec, 0x10
						}, 

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

						"device-type", 
						Buffer (0x06)
						{
							"ALC888"
						},

						"PinConfigurations", 
						Buffer (0x20)
						{
							/* 0000 */	0x10, 0x40, 0x01, 0x01, 0x20, 0x10, 0x11, 0x01, 
							/* 0008 */	0x30, 0x60, 0x21, 0x01, 0x40, 0x30, 0x81, 0x01, 
							/* 0010 */	0x50, 0x90, 0xA1, 0x01, 0x60, 0x61, 0x4B, 0x01, 
							/* 0018 */	0xf0, 0x01, 0xCB, 0x00
						}

					}, Local0)
				Return (Local0)
			}
		}

 

then, in the tool folder, find the iasl command, and in the terminal just tape:

 

iasl -ta /path to/dsdt_fixed.txt

 

this will create your dsdt.aml file in the debug folder, and then just put it to your root directory

 

@macgirl: even with this patch i need the efi string audio part otherwise the appelhda kext don't load, same thing with the dsdt.aml generated by the the fassl patcher

 

@macgirl: i have the same issue with the system profiler on the graphic section, i don't know why ????, but my CG work fine with QE/CI, maybe the last version of the patcher (1.0.1e) will fix this

Link to comment
Share on other sites

 Share

×
×
  • Create New...