Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,390 posts in this topic

Recommended Posts

11 minutes ago, etch04 said:

@Andres ZeroCross

finally!! now audio is detected and i can play audio using internal speakers but as soon as i plug in my headphone there is distorted sound for a second and  goes silent. in addition the internal mic is detected but no sound is detected and the trackpad is also still not working.

 

It's another problem,, it will need "codec_dump.txt" from your audio codec since resource at GITHUB for ALC256 is for Dell and asus device. 

Just change value of alc-layout-id of SSDT-1.aml 

"alc-layout-id", 
                    Buffer (0x04)
                    {
                         0x0D, 0x00, 0x00, 0x00                           // ....
                    }, 

change,, 0x0D to HEX of layoutid at Github resource. 0x0D = 13 (decimal). Check ALC256 Available layoutID at this resource https://github.com/acidanthera/AppleALC/tree/master/Resources/ALC256
And change the value. For distorted audio you need to try ALC256 patch with CodecCommander (install CodecCommander at Library/Extensions first)

And put this code (credit to @insanelyDeepak ) inside HDEF device at SSDT-1.aml

 

Name(RMCF, Package()
    {
        "CodecCommander", Package()
        {
            "Custom Commands", Package()
            {
                Package(){}, // signifies Array instead of Dictionary
                Package()
                {
                    // 0x19 SET_PIN_WIDGET_CONTROL 0x24
                    "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x1A SET_PIN_WIDGET_CONTROL 0x20
                    "Command", Buffer() { 0x01, 0xA7, 0x07, 0x20 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x21 SET_UNSOLICITED_ENABLE 0x83
                    "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                }
            },
            "Perform Reset", ">n",
            "Perform Reset on External Wake", ">n", 
            "Send Delay", 10,
            "Sleep Nodes", ">n",
        },
    })

or this ones, credit to @vbourachot
 

Name(RMCF, Package()
    {
        "CodecCommander", Package()
        {
            "Custom Commands", Package()
            {
                Package(){}, // signifies Array instead of Dictionary
                Package()
                {
                    // 0x19 SET_PIN_WIDGET_CONTROL 0x25
                    "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x21 SET_UNSOLICITED_ENABLE 0x83
                    "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x20 SET_COEF_INDEX 0x36
                    "Command", Buffer() { 0x02, 0x05, 0x00, 0x36 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x20 SET_PROC_COEF 0x1737
                    "Command", Buffer() { 0x02, 0x04, 0x17, 0x37 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
            },
            "Perform Reset", ">n",
            "Perform Reset on External Wake", ">n", // enable if using AppleALC
            "Send Delay", 10,
            "Sleep Nodes", ">n",
        },
    })


For Touchpad,, your touchpad is not use I2C Interface,, but touchscreen is yes. You didn't answer my questions yet. Did your TOUCHSCREEN work?????

your old VoodooPS2Controller.kext (for keyboard and touchpad) use VoodooPS2Controller.kext version 1.8.92, maybe you can try to put this version, and replace my VoodooP2Controller.kext at your EFI/CLOVER/Kexts/Other to enable basic function of your touchpad.

 

Edited by Andres ZeroCross
Link to comment
Share on other sites

Ok thanks for the help and tips.i'll try out settings.

About touchpad it seems my laptop uses I2C Trackpad + PS2 keyboard. 

I have used the modded kext from here https://www.tonymacx86.com/threads/guide-acer-swift-3-i5-8250u-high-sierra.249160/page-2 

It was working using the files provided here. I have not tried it with the dsdt.aml you have provided.

My screen is normal one and not touch screen.

iguess the i2c interface you are referring about is my trackpad.

It not working with the files you provided.

Thanks again.

Edited by etch04
Link to comment
Share on other sites

Ok thanks for the help and tips.i'll try out settings.
About touchpad it seems my laptop uses I2C Trackpad + PS2 keyboard. 
I have used the modded kext from here https://www.tonymacx86.com/threads/guide-acer-swift-3-i5-8250u-high-sierra.249160/page-2 
It was working using the files provided here. I have not tried it with the dsdt.aml you have provided.
My screen is normal one and not touch screen.
iguess the i2c interface you are referring about is my trackpad.
It not working with the files you provided.
Thanks again.
What do you mean by "I have not tried it with the dsdt.aml you have provided"??? Without dsdt.aml that i include at clover folder that i attached, then your system won't work. Don't mix the configuration with the other, it will make different result.

Your ioreg is shown about TPL1 and device Synaxxx. It's touchscreen device

Sent from my Mi Note 2 using Tapatalk

Link to comment
Share on other sites

3 minutes ago, Andres ZeroCross said:

What do you mean by "I have not tried it with the dsdt.aml you have provided"??? Without dsdt.aml that i include at clover folder that i attached, then your system won't work. Don't mix the configuration with the other, it will make different result.

Your ioreg is shown about TPL1 and device Synaxxx. It's touchscreen device

Sent from my Mi Note 2 using Tapatalk
 

I mean, I am using your files as it is, but have not tried the combination of Modded VoodooI2C and VoodooI2CHID kext which I was using previously with your files.

I think the TPL1 is the touchpad.it is explained in this guide.

 

Link to comment
Share on other sites

I mean, I am using your files as it is, but have not tried the combination of Modded VoodooI2C and VoodooI2CHID kext which I was using previously with your files.

I think the TPL1 is the touchpad.it is explained in this guide.

 

Please answer this, Did your notebook has touchscreen???

Sent from my Mi Note 2 using Tapatalk

 

 

 

Link to comment
Share on other sites

Hi!

I'm facing an audio problem both on High Sierra and Mojave , with my Kabylake-r Dell 5570. Audio codec is alc256 , using applealc and codeccommander.kext.

First problem is that if I inject layout-id 13 or 56 then after wake from sleep cpu stays at 100%. If I use layout 11 then it is ok.

Second problem is that with all the layouts I don't have audio from headphones.

 

Can you help me ?

 

Y.G. Can you take a look at my i2c trackpad (saw that you an make improvments) or anything else needs optimising ?

Screenshot 2018-11-10 at 17.04.19.png

5570.ioreg

Terminal Saved Output.txt

CLOVER.zip

Edited by matgeo
Link to comment
Share on other sites

12 minutes ago, etch04 said:

the touchpad is still not working. i have attached the ioreg output as asked.

Mike’s MacBook Pro.ioreg

 

Now try this,,, let me know for the result. If problem still persist, just send me a message. We won't spam this AppleALC.kext's discussion with VoodooI2C problem. Remember to put CodecCommander.kext at Library/Extensions and rebuilt kext cache. Report as soon as possible

CLOVER.zip

Edited by Andres ZeroCross
Link to comment
Share on other sites

18 minutes ago, matgeo said:

Hi!

I'm facing an audio problem both on High Sierra and Mojave , with my Kabylake-r Dell 5570. Audio codec is alc256 , using applealc and codeccommander.kext.

First problem is that if I inject layout-id 13 or 56 then after wake from sleep cpu stays at 100%. If I use layout 11 then it is ok.

Second problem is that with all the layouts I don't have audio from headphones.

 

Can you help me ?

 

Y.G. Can you take a look at my i2c trackpad (saw that you an make improvments) or anything else needs optimising ?

Screenshot 2018-11-10 at 17.04.19.png

5570.ioreg

Terminal Saved Output.txt

CLOVER.zip

 

 

1. Then just use layoutid = 11
2. There is patch with DSDT/SSDT + CodecCommander for ALC256. I post it above, just scroll above and try to use it

About trackpad,,, there is no problem then there is no fix. And this discussion is about AppleALC.kext

Link to comment
Share on other sites

In the patch you are reffering there are 3 files : dsdt.aml , ssdt0.aml and ssdt1.aml. Which one should I use ? Will this work , using dsdt/ssdt from another computer ?
It's not for your device. It's for@etch04 device. Are your device and etch04 device same???

Sent from my Mi Note 2 using Tapatalk

Link to comment
Share on other sites

2 hours ago, Andres ZeroCross said:

 

It's another problem,, it will need "codec_dump.txt" from your audio codec since resource at GITHUB for ALC256 is for Dell and asus device. 

Just change value of alc-layout-id of SSDT-1.aml 


"alc-layout-id", 
                    Buffer (0x04)
                    {
                         0x0D, 0x00, 0x00, 0x00                           // ....
                    }, 

change,, 0x0D to HEX of layoutid at Github resource. 0x0D = 13 (decimal). Check ALC256 Available layoutID at this resource https://github.com/acidanthera/AppleALC/tree/master/Resources/ALC256
And change the value. For distorted audio you need to try ALC256 patch with CodecCommander (install CodecCommander at Library/Extensions first)

And put this code (credit to @insanelyDeepak ) inside HDEF device at SSDT-1.aml

 


Name(RMCF, Package()
    {
        "CodecCommander", Package()
        {
            "Custom Commands", Package()
            {
                Package(){}, // signifies Array instead of Dictionary
                Package()
                {
                    // 0x19 SET_PIN_WIDGET_CONTROL 0x24
                    "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x1A SET_PIN_WIDGET_CONTROL 0x20
                    "Command", Buffer() { 0x01, 0xA7, 0x07, 0x20 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x21 SET_UNSOLICITED_ENABLE 0x83
                    "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                }
            },
            "Perform Reset", ">n",
            "Perform Reset on External Wake", ">n", 
            "Send Delay", 10,
            "Sleep Nodes", ">n",
        },
    })

or this ones, credit to @vbourachot
 


Name(RMCF, Package()
    {
        "CodecCommander", Package()
        {
            "Custom Commands", Package()
            {
                Package(){}, // signifies Array instead of Dictionary
                Package()
                {
                    // 0x19 SET_PIN_WIDGET_CONTROL 0x25
                    "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x21 SET_UNSOLICITED_ENABLE 0x83
                    "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x20 SET_COEF_INDEX 0x36
                    "Command", Buffer() { 0x02, 0x05, 0x00, 0x36 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
                Package()
                {
                    // 0x20 SET_PROC_COEF 0x1737
                    "Command", Buffer() { 0x02, 0x04, 0x17, 0x37 },
                    "On Init", ">y",
                    "On Sleep", ">n",
                    "On Wake", ">y",
                },
            },
            "Perform Reset", ">n",
            "Perform Reset on External Wake", ">n", // enable if using AppleALC
            "Send Delay", 10,
            "Sleep Nodes", ">n",
        },
    })


For Touchpad,, your touchpad is not use I2C Interface,, but touchscreen is yes. You didn't answer my questions yet. Did your TOUCHSCREEN work?????

your old VoodooPS2Controller.kext (for keyboard and touchpad) use VoodooPS2Controller.kext version 1.8.92, maybe you can try to put this version, and replace my VoodooP2Controller.kext at your EFI/CLOVER/Kexts/Other to enable basic function of your touchpad.

 

 

 

This...

Link to comment
Share on other sites

4 minutes ago, matgeo said:

I don't have ssdt1.aml on my system.

Nevermind , looks that you are too busy to answer to all of our noob questions.

Thanks for your time.

 

 

You mustn't put the patch to ssdt-1.aml. It's depend about your configurations,, you can create new one or put it in DSDT.aml. The important thing is ,, put the patch inside HDEF device.

Link to comment
Share on other sites

7 minutes ago, matgeo said:

I don't think that I have the knowledge to do that.

But I will give it a try , because audio from headphones is very important to me.

Will try the HDEF patch.

As for the other , I don't have a dsdt either.

 

Try to put this file to EFI/CLOVER/ACPI/Patched,, and reboot

SSDT-ALC256.aml

Link to comment
Share on other sites

Wow!!!
Audio working great.
Thank you my friend.
 
Can I ask something else ?
Saw that you prefer installing codeccommander.kext at l/e.
If I'm not wrong , latest version working from clover/oher , too?
Is there any benefit for l/e ?
Never tried it, for codeccommander i always installed in Library/Extensions

Sent from my Mi Note 2 using Tapatalk

Link to comment
Share on other sites

On 11/7/2018 at 9:09 AM, Andres ZeroCross said:

 

1. I need IOREG Output,, use IOREG Explorer version 2.1 not the new ones. Then upload the the output files
2. Open DPCIManager.app and take a screen shot of status menu.. and upload here

 

Sorry for late reply. I did everything from scratch, dumped codec from arch linux, calculated pin configs, added codec and rebuilt.

Here the result;

Resources + IOReg: applealc_cx8150_troubleshooting.zip

Screenshot:

2040759060_Screenshot2018-11-11at22_32_46.thumb.png.7e2a749f65c3415b96d77ad90231c062.png

 

Link to comment
Share on other sites

×
×
  • Create New...