Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

Is your DSDT patched with one of the "OS Check Fix" patches?

I'll applied the patch you're telling but anyway I don't know how to adapt the method of of Haswell HP Envy.


Thanks!
 
Here is my DSDT.

Your DSDT is Clover auto-patched to simulate "Windows 2001" (Windows XP). May not be new enough to get proper behavior from the brightness keys.

Patch DSDT according to guide, remove all Clover DSDT "Fixes"...

http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Re-evaluate brightness related EQ queries.

Most likely your brightness methods are _Q11 and _Q12, as the code there looks as if it is related to brightness:
Code:
                    Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        P8XH (Zero, 0x11)
                        If (IGDS)
                        {
                            ^^^GFX0.BRTN (0x87)
                            Notify (VPC0, 0x80)
                        }
                        Else
                        {
                            Notify (^^^P0P2.VGA.LCD, 0x87)
                            Notify (VPC0, 0x80)
                        }
                    }

                    Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        P8XH (Zero, 0x12)
                        If (IGDS)
                        {
                            ^^^GFX0.BRTN (0x86)
                            Notify (VPC0, 0x80)
                        }
                        Else
                        {
                            Notify (^^^P0P2.VGA.LCD, 0x86)
                            Notify (VPC0, 0x80)
                        }
                    }
 
Your DSDT is Clover auto-patched to simulate "Windows 2001" (Windows XP). May not be new enough to get proper behavior from the brightness keys.

Patch DSDT according to guide, remove all Clover DSDT "Fixes"...

http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Re-evaluate brightness related EQ queries.

Most likely your brightness methods are _Q11 and _Q12, as the code there looks as if it is related to brightness:
Code:
                    Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        P8XH (Zero, 0x11)
                        If (IGDS)
                        {
                            ^^^GFX0.BRTN (0x87)
                            Notify (VPC0, 0x80)
                        }
                        Else
                        {
                            Notify (^^^P0P2.VGA.LCD, 0x87)
                            Notify (VPC0, 0x80)
                        }
                    }

                    Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        P8XH (Zero, 0x12)
                        If (IGDS)
                        {
                            ^^^GFX0.BRTN (0x86)
                            Notify (VPC0, 0x80)
                        }
                        Else
                        {
                            Notify (^^^P0P2.VGA.LCD, 0x86)
                            Notify (VPC0, 0x80)
                        }
                    }

Hello RehabMan,

I've been testing many hours and the Method Q11 & Q12 doesn't control the brightness.

In my laptop the control comes from Q44.

This is the code.

Method (_Q44, 0, NotSerialized)
{
If (LEqual (Z009, One))
{
P8XH (Zero, 0x44)
Notify (VPC0, 0x80)
}
}

My biggest problem is that I can not find a way to check the key as you do in Haswell HP Envy with HKNO var.

Is there any chance that you know how can I find a var to made the changes possibles?


Thanks in advance!
 
Hello RehabMan,

I've been testing many hours and the Method Q11 & Q12 doesn't control the brightness.

In my laptop the control comes from Q44.

This is the code.

Method (_Q44, 0, NotSerialized)
{
If (LEqual (Z009, One))
{
P8XH (Zero, 0x44)
Notify (VPC0, 0x80)
}
}

My biggest problem is that I can not find a way to check the key as you do in Haswell HP Envy with HKNO var.

Is there any chance that you know how can I find a var to made the changes possibles?


Thanks in advance!

_Q44 is not your brightness method. Make sure you patched DSDT as described in the guide: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html
 
_Q44 is not your brightness method. Make sure you patched DSDT as described in the guide: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Hello RehabMan,

I've started from scratch and patched my DSDT using your guide.
Everything goes well but now I can not make my laptop sleep.

When I try to put laptop to sleep, the screen goes black but the laptop hangs. After that if I want to wake up, the laptop is in a hang state.

I'm attaching my new DSDT. Maybe you could find the problem.


Thanks in advance!
 

Attachments

  • DSDT-New.aml
    27.4 KB · Views: 47
Hello RehabMan,

I've started from scratch and patched my DSDT using your guide.
Everything goes well but now I can not make my laptop sleep.

When I try to put laptop to sleep, the screen goes black but the laptop hangs. After that if I want to wake up, the laptop is in a hang state.

I'm attaching my new DSDT. Maybe you could find the problem.


Thanks in advance!

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu

Also, post EFI/Clover folder.
 
Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu

Also, post EFI/Clover folder.

Thanks for your answer... I've solved adding USB patch.

Now I'm facing another problem...
I've done all the steps to Debug my keys (install kext, modify my DSDT).

When I go into Console and press some key, nothing happens.
I've search in Console for ACPIDebug and says "Jul 12 19:53:36 localhost kernel[0]: ACPIDebug: Version 0.1.3 starting"

I'm attaching you my modify DSDT and my IOReg.


Thanks again.
 

Attachments

  • DSDT.aml
    29.8 KB · Views: 87
  • IOReg.ioreg
    3.7 MB · Views: 71
Thanks for your answer... I've solved adding USB patch.

Now I'm facing another problem...
I've done all the steps to Debug my keys (install kext, modify my DSDT).

When I go into Console and press some key, nothing happens.
I've search in Console for ACPIDebug and says "Jul 12 19:53:36 localhost kernel[0]: ACPIDebug: Version 0.1.3 starting"

I'm attaching you my modify DSDT and my IOReg.


Thanks again.

Read post #312.
 
Back
Top