Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

@RehabMan - no question. I was responding to your statement



to explain that I was still using static renaming.

My suggestion originally was that you investigate using hotpatch for renames such that you have avoid having patched SSDTs.

It will take you a while to understand hotpatch well enough to accomplish that.
 
@RehabMan - I didn't mean to give the impression that I don't value your suggestion to use hotpatch. It's just that my static patching is working very well now with Sierra. For me, understanding static patching first is a good way to learn. I will attempt hotpatching when I replace my Wi-Fi card. Thanks again for all your help.

I noticed that the original ACPI table ECDT.aml was referencing PCI0.LPC_.EC after I had statically renamed LPC -> LPCB. I added the modified ECDT.aml (with LPC->LPCB rename) to my patched folder and the preboot.log indicates that the new ECDT.aml loads successfully. As long as I am statically patching my ACPI tables, is the rename of LPC -> LPCB in ECDT.aml a necessary rename? My latest problem report files with this modified ECDT.aml are attached. Thanks for your insight.
 

Attachments

  • Problem Report.zip
    1,013.9 KB · Views: 160
@RehabMan - I didn't mean to give the impression that I don't value your suggestion to use hotpatch. It's just that my static patching is working very well now with Sierra. For me, understanding static patching first is a good way to learn. I will attempt hotpatching when I replace my Wi-Fi card. Thanks again for all your help.

I noticed that the original ACPI table ECDT.aml was referencing PCI0.LPC_.EC after I had statically renamed LPC -> LPCB. I added the modified ECDT.aml (with LPC->LPCB rename) to my patched folder and the preboot.log indicates that the new ECDT.aml loads successfully. As long as I am statically patching my ACPI tables, is the rename of LPC -> LPCB in ECDT.aml a necessary rename? My latest problem report files with this modified ECDT.aml are attached. Thanks for your insight.

Renaming LPC or EC is a mistake when you have an ECDT.
You may be able to provide a patched ECDT, but I've not tested that scenario (currently, no laptops here with an ECDT).

LPC->LPCB rename is completely unnecessary.
 
@RehabMan - thanks for the quick reply! Just to be clear, are you suggesting that I revert all LPC->LPCB renames in my DSDT and SSDT (and remove my modified ECDT.aml)?
 
@RehabMan - thanks for the quick reply! Just to be clear, are you suggesting that I revert all LPC->LPCB renames in my DSDT and SSDT (and remove my modified ECDT.aml)?

That's what I would do... no need to make things more complex than they need to be.
 
@RehabMan - thanks again. I reverted all LPCB renames back to LPC. After rebooting and reviewing the preboot.log, I confirmed that I only need to include SSDT-0 in my patched folder (because of my static PCI0.AGP.VID -> PCI0.AGP.GFX0 rename) - it appears that my LPCB rename had interfered with native CPU frequency detection during boot, but that the CPU frequencies were being fixed by Clover.

I agree that there's no need to make things more complex than they need to be and would prefer not to make any cosmetic changes. I'd like to learn the difference between cosmetic and required/necessary patches, but it appears that most patching documentation combines required and cosmetic renames without distinction.
 

Attachments

  • Problem Report.zip
    642.6 KB · Views: 183
@RehabMan - thanks again. I reverted all LPCB renames back to LPC. After rebooting and reviewing the preboot.log, I confirmed that I only need to include SSDT-0 in my patched folder (because of my static PCI0.AGP.VID -> PCI0.AGP.GFX0 rename) - it appears that my LPCB rename had interfered with native CPU frequency detection during boot, but that the CPU frequencies were being fixed by Clover.

I agree that there's no need to make things more complex than they need to be and would prefer not to make any cosmetic changes. I'd like to learn the difference between cosmetic and required/necessary patches, but it appears that most patching documentation combines required and cosmetic renames without distinction.

I'm not sure what you mean by "most patching documentation".
 
I'm not sure what you mean by "most patching documentation".

"Documentation" is too strong of a word and even "guide" would be too strong of a word. I should have said "most patching examples." For someone like me who prefers to learn from examples while referencing the detailed technical docs as needed, I tend to follow a practice in the examples that I see repeatedly labeled "common" (like renaming LPC -> LPCB), misinterpreting "common" to mean "usually required" instead of "cosmetic." I now realize that this is like learning to play an instrument without first learning to read music. This is no fault of the "examples," but rather it is my fault for not doing a more thorough job of first learning the basics. I'll be the first to admit that my fully working Thinkpad T61 running Sierra is a stroke of luck.
 
"Documentation" is too strong of a word and even "guide" would be too strong of a word. I should have said "most patching examples." For someone like me who prefers to learn from examples while referencing the detailed technical docs as needed, I tend to follow a practice in the examples that I see repeatedly labeled "common" (like renaming LPC -> LPCB), misinterpreting "common" to mean "usually required" instead of "cosmetic." I now realize that this is like learning to play an instrument without first learning to read music. This is no fault of the "examples," but rather it is my fault for not doing a more thorough job of first learning the basics. I'll be the first to admit that my fully working Thinkpad T61 running Sierra is a stroke of luck.

Just because you find people "commonly" renaming LPC->LPCB does not mean it should be done, nor that it is universally ok. It can be done but you have to be careful with other references that may exist that are not patched by Clover automatically (ECDT, dynamic SSDTs).

Even though with AutoMerge=true, ECDT can be patched (eg. I think patched/override ECDT.aml in ACPI/patched works), in your case you have some dynamic SSDTs that have LPC references:
Code:
NUC6i7KYK:origin rehabman$ grep -l LPC *.dsl
DSDT.dsl
SSDT-0-TP-7U.dsl
SSDT-x3_0-Cpu0Ist.dsl
SSDT-x3_2-Cpu0Cst.dsl

Dynamic SSDTs are not easy to patch...
 
Just because you find people "commonly" renaming LPC->LPCB does not mean it should be done, nor that it is universally ok. It can be done but you have to be careful with other references that may exist that are not patched by Clover automatically (ECDT, dynamic SSDTs).

Even though with AutoMerge=true, ECDT can be patched (eg. I think patched/override ECDT.aml in ACPI/patched works), in your case you have some dynamic SSDTs that have LPC references:
Code:
NUC6i7KYK:origin rehabman$ grep -l LPC *.dsl
DSDT.dsl
SSDT-0-TP-7U.dsl
SSDT-x3_0-Cpu0Ist.dsl
SSDT-x3_2-Cpu0Cst.dsl

Dynamic SSDTs are not easy to patch...

That makes sense - thank you for clarifying. When it comes to DSDT patching, I'll adopt the practice "if it ain't broke, don't fix it." When I attempt hot-patching (after I receive my Wi-Fi card replacement), I'll look to achieve a working state with the absolute minimum of patches.

Thanks again. I'm amazed at the number of simultaneous conversations/threads you manage so skillfully.
 
Back
Top