Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

A very good guide along with all the guides you've written. I've just got one problem with part of this guide. The ioio. I used it a few days ago and logged some of the keys that I needed. I want to put the brightness up and down on the original keys of F6 and F7. Fn F7 was working and putting the brightness up as should be and I found the key for brightness down.

However I didn't change anything and went on the battery meter guide and fix. That's working ok. I've come back to start charging the keys but now I have no Fn keys for F6 or F7 registering any key codes.

Could the the battery fix affect the key output? It seems strange that after that fix I've lost the output.

If ive posted this in the wrong place please excuse me and move it to where it should be.

thanks for your help in advance
 
A very good guide along with all the guides you've written. I've just got one problem with part of this guide. The ioio. I used it a few days ago and logged some of the keys that I needed. I want to put the brightness up and down on the original keys of F6 and F7. Fn F7 was working and putting the brightness up as should be and I found the key for brightness down.

However I didn't change anything and went on the battery meter guide and fix. That's working ok. I've come back to start charging the keys but now I have no Fn keys for F6 or F7 registering any key codes.

Could the the battery fix affect the key output? It seems strange that after that fix I've lost the output.

If ive posted this in the wrong place please excuse me and move it to where it should be.

thanks for your help in advance

Check to see if your keys are handled via ACPI.

Make sure you know which keys are actually used for brightness control by testing in Windows.

Don't forget to fill out your profile...

Please provide complete details in your profile/signature
(Profile/Settings link in upper right corner of this site)

System: manufacturer/model + bootloader(Clover/Chameleon/Chimera)
CPU: detailed CPU model + motherboard chipset
Graphics: all graphics devices + laptop internal screen resolution

For example, typical Ivy laptop:
System: HP ProBook 4540s (Clover)
CPU: i5-3320m/HM76
Graphics: HD4000, 1366x768

Use CPU-Z on Windows to find CPU (Core iX-xxx) and motherboard chipset (HMxx), and graphics capabilities. For a laptop, these details are important and affect critical installation procedures.
 
Hi thanks for your reply. I'll sort my profile out in a bit.

Whats confusing me is that on friday the keycodes were:

F6 40=61
F7 41=62
Fn+F6 e06f=80
Fn+F7 e059=90 - Working brightness up
Fn+INS 46=6b - Working brightness down

Today

NO FN+F6 or Fn+F7 codes at all.
Fn+PGDN e045=71 Working brightness up
Fn+INS 46=6b Working brightness down

How can they just change?

I've also checked on windows and NO up or down brightness. But i can't be sure if they ever worked because i don't think i've ever used them in windows.

I've had a look at your debug guide and not sure on point 3.The step 3 is what i don't understand:

"Third, add code to your DSDT to where you wish to cause trace messages to system.log (call \RMDT.PUSH)"

Looking through my DSDT i think the methods Q11 and Q12 are used but what would i insert there?
Is it just \RMDT.PUSH after the method or somewhere else?

Its confusing me as to how keycodes can change from one day to the next.
Thank you for your help with this mystery.


 
Hi thanks for your reply. I'll sort my profile out in a bit.

Whats confusing me is that on friday the keycodes were:

F6 40=61
F7 41=62
Fn+F6 e06f=80
Fn+F7 e059=90 - Working brightness up
Fn+INS 46=6b - Working brightness down

Today

NO FN+F6 or Fn+F7 codes at all.
Fn+PGDN e045=71 Working brightness up
Fn+INS 46=6b Working brightness down

How can they just change?

Could be DSDT change. Sometimes, the version of Windows simulated plays a role (eg. "OS Check Fix...")

I've also checked on windows and NO up or down brightness. But i can't be sure if they ever worked because i don't think i've ever used them in windows.

Did you install the OEM app that enables it?

I've had a look at your debug guide and not sure on point 3.The step 3 is what i don't understand:

"Third, add code to your DSDT to where you wish to cause trace messages to system.log (call \RMDT.PUSH)"

Looking through my DSDT i think the methods Q11 and Q12 are used but what would i insert there?
Is it just \RMDT.PUSH after the method or somewhere else?

Use "Instrument EC queries" patch.

You can examine the _Qxx methods to see what it does (and learn from it).
 
Ok what I've done so far is to revert my DSDT back to before the battery status fix. This has given me the codes again for the fn f6 f7 keys. Now if I go ahead and work out how to remap those keys, then go to sort out the battery status fix, will this loose the keys again?
In this case would it be better being done through the DSDT methods?
I must be looking in the wrong place because I can't find "instrument EC queries" patch. I'm up for learning all I can from this and loving the challenge and the useful guides you have written have got me to a good working machine so far.
Ive got the OEM app installed on my windows HDD but they still don't work. Windows Os check fix was applied a while ago from your repo. The 2006 one I believe.

The he keys I currently have are
F6 40=61.
Fn+F6 e06f=80
F7 41=62.
Fn+F7 e059=90 working brightness up
Fn+INS 46=6b. Working brightness down
 
Ok what I've done so far is to revert my DSDT back to before the battery status fix. This has given me the codes again for the fn f6 f7 keys. Now if I go ahead and work out how to remap those keys, then go to sort out the battery status fix, will this loose the keys again?
In this case would it be better being done through the DSDT methods?
I must be looking in the wrong place because I can't find "instrument EC queries" patch. I'm up for learning all I can from this and loving the challenge and the useful guides you have written have got me to a good working machine so far.
Ive got the OEM app installed on my windows HDD but they still don't work. Windows Os check fix was applied a while ago from your repo. The 2006 one I believe.

The he keys I currently have are
F6 40=61.
Fn+F6 e06f=80
F7 41=62.
Fn+F7 e059=90 working brightness up
Fn+INS 46=6b. Working brightness down

Your brightness keys are Fn+F6 (e06f) and Fn+F7 (e059), handled through PS2 (all other keys are irrelevant). If you change DSDT in a certain way, it may change the behavior of the EC and switch to ACPI instead. Only you can know/test (by instrumenting your EC query methods after the change).
 
Just say this is all fixed. I edited Q11 and Q12 in my DSDT and this got the fn keys working for brightness then a reapplied the battery status fix and that is working all ok. Think I just about have everything working now. A big thank you to your guides and help particularly power management. It runs cooler and quieter as a Mac than it ever did in windows.
 
Just say this is all fixed. I edited Q11 and Q12 in my DSDT and this got the fn keys working for brightness then a reapplied the battery status fix and that is working all ok. Think I just about have everything working now. A big thank you to your guides and help particularly power management. It runs cooler and quieter as a Mac than it ever did in windows.

When you're done, it would be a good idea to provide a clear/well written guide and post it here: http://www.tonymacx86.com/yosemite-laptop-guides/

--

Please provide complete details in your profile/signature
(Profile/Settings link in upper right corner of this site)

System: manufacturer/model + bootloader(Clover/Chameleon/Chimera)
CPU: detailed CPU model + motherboard chipset
Graphics: all graphics devices + laptop internal screen resolution

For example, typical Ivy laptop:
System: HP ProBook 4540s (Clover)
CPU: i5-3320m/HM76
Graphics: HD4000, 1366x768

Use CPU-Z on Windows to find CPU (Core iX-xxx) and motherboard chipset (HMxx), and graphics capabilities. For a laptop, these details are important and affect critical installation procedures.
 
Hi RehabMan!

I've followed all the steps to determine my brightness keys. The result was my Lenovo Y550 use ACPI instead of PS2.
The with ACPIDebug.kext I've found the method. It's _Q44 (picture attached).

I'm facing a problem because both keys (up/down) generate a call to the same EC query method. Below is the code.

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

I've tried to use the method of Haswell HP Envy you've posted but It didn't work.

Could you tell me how can I modify the Haswell HP Envy method to work with mine?


Thanks in advance!
 

Attachments

  • Method _Q44.png
    Method _Q44.png
    17.3 KB · Views: 111
Hi RehabMan!

I've followed all the steps to determine my brightness keys. The result was my Lenovo Y550 use ACPI instead of PS2.
The with ACPIDebug.kext I've found the method. It's _Q44 (picture attached).

I'm facing a problem because both keys (up/down) generate a call to the same EC query method. Below is the code.

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

I've tried to use the method of Haswell HP Envy you've posted but It didn't work.

Could you tell me how can I modify the Haswell HP Envy method to work with mine?


Thanks in advance!

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