Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,371 posts in this topic

Recommended Posts

i test 

Layout 3 (x03) works but mic internal + mic external doesnt work

 

With layout 20 (0x14) No this version doesnt work bug found in system log

calling mpo_policy_init for AppleALC
Security policy loaded: AppleALC Kernel Module (AppleALC)
AppleALC: alc @ layout-id was not provided by controller at HDEF
 
with layout 27 (0x1B) works speaker internal + mic internal + headphone internal But mic external have problem (sound like alien voice)
 
with layout 28 (0x1C) doesnt work error
AppleALC: patcher @ lookup patching applied only 0u patches out of 2u
Link to comment
Share on other sites

Non same thing

Apr 16 01:01:25 localhost kernel[0]: calling mpo_policy_init for AppleALC
Apr 16 01:01:25 localhost kernel[0]: Security policy loaded: AppleALC Kernel Module (AppleALC)
Apr 16 01:01:26 localhost kernel[0]: AppleALC: alc @ layout-id was not provided by controller at HDEF
Link to comment
Share on other sites

 

Non same thing

Apr 16 01:01:25 localhost kernel[0]: calling mpo_policy_init for AppleALC
Apr 16 01:01:25 localhost kernel[0]: Security policy loaded: AppleALC Kernel Module (AppleALC)
Apr 16 01:01:26 localhost kernel[0]: AppleALC: alc @ layout-id was not provided by controller at HDEF

 

 

Give me DarwinDumper & IORegistryExplorer reports. 

Link to comment
Share on other sites

Here layout 0x14

 

There is NO layout-id injection in your system.

post-1069282-0-06544900-1460809743_thumb.png

 

You have 3 (three) different config.plist on 3 different drives/partitions. It is not right. Clover MUST be ONLY on EFI (disk0s1 )partition. And on each config.plist you have different value for Devices->Inject->Audio...

post-1069282-0-93499000-1460809760_thumb.pngpost-1069282-0-13090800-1460809762_thumb.png

post-1069282-0-96237500-1460809762_thumb.png

 

If you trying to inject layout-id through your DSDT make sure your DSDT is correct or inject layout-id in config.plist on EFI partition (disk0s1). All orher EFI/Clover folders on disk0s2 & disk1s3 MUST be deleted!!! 

 

On disk0s1 your config.plist Devices->Audio should look like below

post-1069282-0-72833300-1460810389_thumb.png

 

Or in text editor

	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>20</string>
			<key>ResetHDA</key>
			<true/>
		</dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>

Important!!

1. Your AppleHDA.kext MUST be clean (vanilla)

2. HDEF section in your DSDT (or clover fix FixHDA_8000->True)

3. Layout-id specified in your DSDT (or clover Audio->Inject) 

4. Remove ALL patches for audio from your config.plist KextsToPatch

5. Remove DummyHDA.kext from S/L/E (if exists)

6. Remove VoodooHDA.kext and AppleHDADisabler.kext (if exists)

7. Intel HDMI Audio on HD4000/HD4600 - use clover key UseIntelHDMI->True 

Link to comment
Share on other sites

Yes i do and i verify everything but it doesnt work

Here is my all

 

But i dont know why it works fine with layout 0x03 and 0x1B

My config clean dont have inject layout audio I just change layout id in my dsdt

G551j.zip

Link to comment
Share on other sites

@cuthead, Check bdmesg in terminal for location of your config.plist 

2:410  0:001  Using OEM config.plist at path: EFI\CLOVER\OEM\P5Q\config.plist
2:410  0:000  EFI\CLOVER\OEM\P5Q\config.plist loaded: Success

And for injection of layout-id

5:223  0:000  ========= Auto patch DSDT Starting ========
5:223  0:000  VideoCard devID=0xCA310DE
5:223  0:000  DisplayADR1[0] = 0x10000, DisplayADR2[0] = 0x0
5:223  0:000  USBADR[0] = 0x1A0000 and PCIe = 0xFFFE
5:223  0:000  USBADR[1] = 0x1A0001 and PCIe = 0xFFFE
5:223  0:000  USBADR[2] = 0x1A0002 and PCIe = 0xFFFE
5:223  0:000  USBADR[3] = 0x1A0007 and PCIe = 0xFFFE
5:223  0:000  Audio HDA (addr:0x1B0000) setting specified layout-id=1 (0x1)
5:223  0:000  USBADR[4] = 0x1D0000 and PCIe = 0xFFFE
5:223  0:000  USBADR[5] = 0x1D0001 and PCIe = 0xFFFE
5:223  0:000  USBADR[6] = 0x1D0002 and PCIe = 0xFFFE
5:223  0:000  USBADR[7] = 0x1D0007 and PCIe = 0xFFFE

Maybe you have other config.plist in different locations. Clover MUST be the only one on EFI partition (disk0s1). 

  • Like 1
Link to comment
Share on other sites

@cuthead, Check bdmesg in terminal for location of your config.plist 

2:410  0:001  Using OEM config.plist at path: EFI\CLOVER\OEM\P5Q\config.plist
2:410  0:000  EFI\CLOVER\OEM\P5Q\config.plist loaded: Success

And for injection of layout-id

5:223  0:000  ========= Auto patch DSDT Starting ========
5:223  0:000  VideoCard devID=0xCA310DE
5:223  0:000  DisplayADR1[0] = 0x10000, DisplayADR2[0] = 0x0
5:223  0:000  USBADR[0] = 0x1A0000 and PCIe = 0xFFFE
5:223  0:000  USBADR[1] = 0x1A0001 and PCIe = 0xFFFE
5:223  0:000  USBADR[2] = 0x1A0002 and PCIe = 0xFFFE
5:223  0:000  USBADR[3] = 0x1A0007 and PCIe = 0xFFFE
5:223  0:000  Audio HDA (addr:0x1B0000) setting specified layout-id=1 (0x1)
5:223  0:000  USBADR[4] = 0x1D0000 and PCIe = 0xFFFE
5:223  0:000  USBADR[5] = 0x1D0001 and PCIe = 0xFFFE
5:223  0:000  USBADR[6] = 0x1D0002 and PCIe = 0xFFFE
5:223  0:000  USBADR[7] = 0x1D0007 and PCIe = 0xFFFE

Maybe you have other config.plist in different locations. Clover MUST be the only one on EFI partition (disk0s1). 

thanks for your reply,here is my bdmesg,I don't know why it show Extra PlugIn kext: EFI\CLOVER\kexts\10.11\AppleALC.kext\Contents\PlugIns\PinConfigs.kext although I have delete AppleALC.kext,and I don't know why my portable HDD doesn't show on it and Finder but in Terminal my portable HDD show.And I don't know why my shutdown works,before that it shutdown fail restart instead.

bdmesg.txt.zip

Link to comment
Share on other sites

@lazzy, - Try injecting layout-id in config.plist.

Yes i do in my config i inject audio layout 20 but it doesn't work

please fix my config and dsdt i attache file below 

Link to comment
Share on other sites

@vandroiy2012

@insanelyDeepak

Thank you so much for your help.

It's Clover and DSDT problem.Clover auto load USB drive EFI folder ignore my SSD EFI folder so Clover doesn't inject audio id 1.And there is no working DSDT audio id inject patch on internet.Now my Realtek ALC885 works as build in instead of my USB C-Media Audio Card with AppleALC.

Link to comment
Share on other sites

i think your First boot device is set to USB thats why this happens 

 

 

Enjoy Hackintoshing  :thumbsup_anim:

I don't set first boot device to usb.I think because my computer is legacy bios based so boot file like to boot usb clover EFI folder.

Link to comment
Share on other sites

yes in legacy bios most of time clover confuse and loads USB Folder first  :hysterical:  :hysterical:

So you don't have this problem?Maybe it's my motherboard problem.By the way why AppleALC works?AppleHDA support some Realtek ALC codec?

Link to comment
Share on other sites

So you don't have this problem?Maybe it's my motherboard problem.By the way why AppleALC works?AppleHDA support some Realtek ALC codec?

 

It's not a problem - it is Clover feature. It can't choose specific config.plist from specific location so it load data first of all from USB, then SATA0/1 etc... It didn't depend on UEFI/Legacy. USB is ALWAYS have priority. Why? Simple. You broke your config.plist (wrong patch etc.) on EFI partition on SSD, system couldn't boot with this config.plist. How you can boot system from USB if priority set to SSD config.plist?

  • Like 1
Link to comment
Share on other sites

hdef layout+this kext is all you need

are you saying I don't need to inject audio ID at all via DDST?

 

My clean DSDT doesn't contain much info. 

 

 }
            }
            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }
            }
            Name (BUFA, ResourceTemplate ()
            {
  • Like 1
Link to comment
Share on other sites

So you don't have this problem?Maybe it's my motherboard problem.By the way why AppleALC works?AppleHDA support some Realtek ALC codec?

no i was having this problem when have a LegacyBios board and there was no El Capitan , i know how is frustrating , thought it has been fixed with newer revisions but as @vandroiy2012 said as its a feature so this gonna bug too many ,

 

AppleHDA Support's too many  codec's thats why we have Patched AppleHDA for VIA , Concexant ,IDT etc ..

Link to comment
Share on other sites

 

are you saying I don't need to inject audio ID at all via DDST?

 

My clean DSDT doesn't contain much info. 

Im saying you can inject the layout wherever you want,either in dsdt,clover or hdaenabler as long you have a HDEF device in either of them.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...