Jump to content
Sherlocks

EFICheckDisabler

23 posts in this topic

Recommended Posts


post-980913-0-83746200-1508676372_thumb.jpg

2017-10-22 20:42:22.976546+0900  localhost kernel[0]: com_apple_driver_eficheck::probe(LPCB)

2017-10-22 20:42:22.976715+0900  localhost kernel[0]: com_apple_driver_eficheck::start(LPCB) <1>

 


If you are interested in eficheck, read it.

I am using SkyLake laptops/Desktop. AppleLPC is not being used since SkyLake. I confirmed it through a real Mac dump and kernel log and ioreg.

 

And I checked why the efi check was happening. I saw that eficheck kext was loaded under LPCB and my device id 9d48 was matched with eficheck info file and loaded and eficheck happened.

 

So I figured out three ways.

1. Remove the deviceid in the info file of eficheck.kext.

2. Prevent eficheck.kext from being loaded by modifying dsdt with a different value from 9d48.

3. Prevent the loading of the part through the binary patch or Lilu plugin

 

Once I chose number two.

i inserted in _DSM

                "device-id", 

                Buffer (0x04)

                {

                     0x47, 0x9D, 0x00, 0x00                         

                }, 

 

                "compatible", 

                Buffer (0x0D)

                {

                    "pci8086,9d47"

                }, 

 

                "name", 

                Buffer (0x0D)

                {

                    "pci8086,9d47"

                }, 

 

                "IOName", 

                "pci8086,9d47" 

 

The 9d47 value is not unusual. I just put it in to avoid the value of 9d48.

 


There are device values in the Broadwell platform and below it in the AppleLPC. So if you change other values, AppleLPC will be not load.

Perhaps you would like to find out how to use 1 or someone to find the 3rd binary patch or pass that symbol through the Lilu plugin.

 


thanks.

 

EDIT1.

method 2, LPC info changed blank in DPCIManager. it's just cosmetic.

post-980913-0-23135400-1508677519_thumb.png

 

method1, i have to manual process. i think method 3 is best.

Share this post


Link to post
Share on other sites
Advertisement

 

2017-10-22 20:42:22.976546+0900  localhost kernel[0]: com_apple_driver_eficheck::probe(LPCB)
2017-10-22 20:42:22.976715+0900  localhost kernel[0]: com_apple_driver_eficheck::start(LPCB) <1>
 
If you are interested in eficheck, read it.
I am using SkyLake laptops/Desktop. AppleLPC is not being used since SkyLake. I confirmed it through a real Mac dump and kernel log and ioreg.
 
And I checked why the efi check was happening. I saw that eficheck kext was loaded under LPCB and my device id 9d48 was matched with eficheck info file and loaded and eficheck happened.
 
So I figured out three ways.
1. Remove the deviceid in the info file of eficheck.kext.
2. Prevent eficheck.kext from being loaded by modifying dsdt with a different value from 9d48.
3. Prevent the loading of the part through the binary patch.
 
Once I chose number two.
i inserted in _DSM
                "device-id", 
                Buffer (0x04)
                {
                     0x47, 0x9D, 0x00, 0x00                         
                }, 
 
                "compatible", 
                Buffer (0x0D)
                {
                    "pci8086,9d47"
                }, 
 
                "name", 
                Buffer (0x0D)
                {
                    "pci8086,9d47"
                }, 
 
                "IOName", 
                "pci8086,9d47" 
 
The 9d47 value is not unusual. I just put it in to avoid the value of 9d48.
 
There are device values in the Broadwell platform and below it in the AppleLPC.
Perhaps you would like to find out how to use 1 or someone to find the 3rd binary patch or pass that symbol through the Lilu plugin.
 
thanks.

 

is it bad to have it loaded?

i have these log too.

2017-10-22 13:31:44.088521+0700 0x4ee      Default     0x0                  0      0    kernel: com_apple_driver_eficheck::probe(LPC0)

2017-10-22 13:31:44.088584+0700 0x4ee      Default     0x0                  0      0    kernel: com_apple_driver_eficheck::start(LPC0) <1>

2017-10-22 13:31:42.068905+0700 0x65       Default     0x0                  0      0    kernel: (AppleRTC) RTC: getGMTTimeOfDay 1508653901

2017-10-22 13:31:48.422633+0700 0x47d      Default     0x0                  0      0    kernel: (AppleRTC) RTC: setGMTTimeOfDay 1508653908

about rtc, i dont use any rtc patch (no DSDT or other patch).

Share this post


Link to post
Share on other sites

is it bad to have it loaded?

i have these log too.

2017-10-22 13:31:44.088521+0700 0x4ee      Default     0x0                  0      0    kernel: com_apple_driver_eficheck::probe(LPC0)

2017-10-22 13:31:44.088584+0700 0x4ee      Default     0x0                  0      0    kernel: com_apple_driver_eficheck::start(LPC0) <1>

2017-10-22 13:31:42.068905+0700 0x65       Default     0x0                  0      0    kernel: (AppleRTC) RTC: getGMTTimeOfDay 1508653901

2017-10-22 13:31:48.422633+0700 0x47d      Default     0x0                  0      0    kernel: (AppleRTC) RTC: setGMTTimeOfDay 1508653908

about rtc, i dont use any rtc patch (no DSDT or other patch).

 

your system loaded eficheck kext. test it above my reply and check kernel log and ioreg.

about RTC, seems no problem.

Share this post


Link to post
Share on other sites

here is EFICheckDisabler. just drop in clover your kext folder

i tested it.
1. no need dsdt patch
2. no need manual kext patch with rebuild cache

enjoy:)

this kext based on AppleHDADisabler.

credit.
Kabyl

EDIT1.
Need to improve kext. Disabler part exists on many parts.

 

EDIT2.

got it.

 

EDIT3.

removed my files. try to use rehabman's EFICheckDisabler kext file

Share this post


Link to post
Share on other sites

here is EFICheckDisabler. just drop in clover your kext folder

 

i tested it.

1. no need dsdt patch

2. no need manual kext patch with rebuild cache

 

enjoy:)

 

this kext based on AppleHDADisabler.

 

credit.

Kabyl

 

EDIT1.

Need to improve kext. Disabler part exists on many parts.

2017-10-23 20:20:41.064653+0700 0x494      Default     0x0                  0      0    kernel: IMEI: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.065034+0700 0x498      Default     0x0                  0      0    kernel: LPC0: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.067631+0700 0x49c      Default     0x0                  0      0    kernel: HDAU: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.067957+0700 0x499      Default     0x0                  0      0    kernel: SBUS: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.069109+0700 0x49d      Default     0x0                  0      0    kernel: PMCR: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.069144+0700 0x49b      Default     0x0                  0      0    kernel: HDEF: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.079328+0700 0x493      Default     0x0                  0      0    kernel: GFX0: match category com_apple_driver_eficheck exists

what is that mean?

Share this post


Link to post
Share on other sites
2017-10-23 20:20:41.064653+0700 0x494      Default     0x0                  0      0    kernel: IMEI: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.065034+0700 0x498      Default     0x0                  0      0    kernel: LPC0: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.067631+0700 0x49c      Default     0x0                  0      0    kernel: HDAU: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.067957+0700 0x499      Default     0x0                  0      0    kernel: SBUS: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.069109+0700 0x49d      Default     0x0                  0      0    kernel: PMCR: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.069144+0700 0x49b      Default     0x0                  0      0    kernel: HDEF: match category com_apple_driver_eficheck exists
2017-10-23 20:20:41.079328+0700 0x493      Default     0x0                  0      0    kernel: GFX0: match category com_apple_driver_eficheck exists

what is that mean?

 

 

 

try EFICheckDisabler.kext_Final.zip file above reply. i uploaded file again

 

EDIT1.

2017-10-23 22:45:57.720780+0900  localhost kernel[0]: LPCB: match category com_apple_driver_eficheck exists
this log just informed system LPCB and eficheck device id matched. actually eficheck not loaded
 
no more get previous log now
2017-10-22 20:42:22.976546+0900  localhost kernel[0]: com_apple_driver_eficheck::probe(LPCB)
2017-10-22 20:42:22.976715+0900  localhost kernel[0]: com_apple_driver_eficheck::start(LPCB) <1>
 

Share this post


Link to post
Share on other sites

 

try EFICheckDisabler.kext_Final.zip file above reply. i uploaded file again

 

EDIT1.

2017-10-23 22:45:57.720780+0900  localhost kernel[0]: LPCB: match category com_apple_driver_eficheck exists
this log just informed AppleLPC and eficheck device id matched. actually eficheck not loaded
 
no more get previous log now
2017-10-22 20:42:22.976546+0900  localhost kernel[0]: com_apple_driver_eficheck::probe(LPCB)
2017-10-22 20:42:22.976715+0900  localhost kernel[0]: com_apple_driver_eficheck::start(LPCB) <1>
 

 

 

there is 1 left  :)

2017-10-23 20:52:02.182072+0700 0x4f5      Default     0x0                  0      0    kernel: LPC0: match category com_apple_driver_eficheck exists

 

EDIT: i didnt read the edited part, not refreshed yet.

so is it all ok?

Share this post


Link to post
Share on other sites

there is 1 left :)

2017-10-23 20:52:02.182072+0700 0x4f5 Default 0x0 0 0 kernel: LPC0: match category com_apple_driver_eficheck exists

 

EDIT: i didnt read the edited part, not refreshed yet.

so is it all ok?

Yes. Enjoy

 

나의 LG-F800S 의 Tapatalk에서 보냄

Share this post


Link to post
Share on other sites

here is EFICheckDisabler. just drop in clover your kext folder

 

i tested it.

1. no need dsdt patch

2. no need manual kext patch with rebuild cache

 

enjoy:)

 

this kext based on AppleHDADisabler.

 

credit.

Kabyl

 

EDIT1.

Need to improve kext. Disabler part exists on many parts.

 

EDIT2.

got it.

You don't need a Disabler binary to create a disabler kext.

It can be done as a codeless kext.

Take a look at my version of the same. It is just an Info.plist.

Attached.

EFICheckDisabler.kext.zip

Share this post


Link to post
Share on other sites

You don't need a Disabler binary to create a disabler kext.

It can be done as a codeless kext.

Take a look at my version of the same. It is just an Info.plist.

Attached.

 

thank you for clean kext.

If so, does AppleHDADisabler need only an info file?

Share this post


Link to post
Share on other sites

If so, does AppleHDADisabler need only an info file?

Assuming it is using Disabler, yes.

You'll know when you test it, I suppose (I don't use it, as I'm using AppleHDA).

BTW, I think disabling AppleHDAController is sufficient (the other IOKitPersonality entries are probably not needed).

 

We are getting a bit off-topic...

Share this post


Link to post
Share on other sites

Does this eficheck kext only happens (so perhaps that disabler needed) with 10.13 or also running Sierra?

If HS only , perhaps adding some Info (10.13 ) in headline of thread?

Share this post


Link to post
Share on other sites

Assuming it is using Disabler, yes.

You'll know when you test it, I suppose (I don't use it, as I'm using AppleHDA).

BTW, I think disabling AppleHDAController is sufficient (the other IOKitPersonality entries are probably not needed).

 

We are getting a bit off-topic...

 

thanks. i will check.

 

Does this eficheck kext only happens (so perhaps that disabler needed) with 10.13 or also running Sierra?

If HS only , perhaps adding some Info (10.13 ) in headline of thread?

 

i experienced efi check on 10.12/13. thank you for suggestion

 

Why my laptop doesn't contain efi_check logs?

 

on you dell laptop? what is your LPC id?

Share this post


Link to post
Share on other sites

on you dell laptop? what is your LPC id?

 

Yes

 

Dell XPS 15 9550.

 

PCI\VEN_8086&DEV_A14E&SUBSYS_06E41028&REV_31

Share this post


Link to post
Share on other sites

 

Yes

 

Dell XPS 15 9550.

 

PCI\VEN_8086&DEV_A14E&SUBSYS_06E41028&REV_31

 

 

on your system, there is no your LPC device id in eficheck.kext. so, no need EFICheckDisabler. 

 

if you change A14E to A145(realmac skylake desktop id), you have to use EFICheckDisabler. it's your choice. <- not recommend. just info

#define PCI_PRODUCT_INTEL_H110_LPC  0xa143      /* H110 LPC */
4989#define PCI_PRODUCT_INTEL_H170_LPC  0xa144      /* H170 LPC */
4990#define PCI_PRODUCT_INTEL_Z170_LPC  0xa145      /* Z170 LPC */
4991#define PCI_PRODUCT_INTEL_Q170_LPC  0xa146      /* Q170 LPC */
4992#define PCI_PRODUCT_INTEL_Q150_LPC  0xa147      /* Q150 LPC */
4993#define PCI_PRODUCT_INTEL_B150_LPC  0xa148      /* B150 LPC */
4994#define PCI_PRODUCT_INTEL_C236_LPC  0xa149      /* C236 LPC */
4995#define PCI_PRODUCT_INTEL_C232_LPC  0xa14a      /* C232 LPC */
4996#define PCI_PRODUCT_INTEL_CQM170_LPC    0xa14d      /* CQM170 LPC */
4997#define PCI_PRODUCT_INTEL_HM170_LPC 0xa14e      /* HM170 LPC */
4998#define PCI_PRODUCT_INTEL_CM236_LPC 0xa150      /* CM236 LPC *

Share this post


Link to post
Share on other sites

 

 
If you are interested in eficheck, read it.
I am using SkyLake laptops/Desktop. AppleLPC is not being used since SkyLake. I confirmed it through a real Mac dump and kernel log and ioreg.

 

 

Hi Sherlocks,

 

I am running iMac17,1 SMBIOS with a Skylake 6700k processor (see my signature). I'm currently using an SSDT to load AppleLPC. Is this not necessary to load with a Skylake+ processor?

Share this post


Link to post
Share on other sites

Hi Sherlocks,

 

I am running iMac17,1 SMBIOS with a Skylake 6700k processor (see my signature). I'm currently using an SSDT to load AppleLPC. Is this not necessary to load with a Skylake+ processor?

Yes. no need LPC on skylake and newer system. Actually, realmac also doesnt have loaded LPC kext.

Probably, you use 9cc1 broadwell LPC device id from SSDT injection.

 

Turn off SSDT LPC Injection. Then check your LPC device id, if your LPC id matched info in eficheck.kext, try to use EFICheckDisabler.

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

Share this post


Link to post
Share on other sites

Yes. no need LPC on skylake and newer system. Actually, realmac also doesnt have loaded LPC kext.

Probably, you use 9cc1 broadwell LPC device id from SSDT injection.

 

Turn off SSDT LPC Injection. Then check your LPC device id, if your LPC id matched info in eficheck.kext, try to use EFICheckDisabler.

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

Ah, thank you, this is good to know. I had mistakenly thought AppleLPC was always needed. You are also correct, it was using the 9cc1 device ID in the SSDT.

 

I've removed the SSDT and rebooted. eficheck does still show up under LPCB, and is matching on pci8086,a145.

 

I have added RehabMan's kext from above and now the eficheck is gone (LPCB is still under Ioreg, but the AppleLPC.kext is not loaded now). Thanks to you and RehabMan.

 

Edit: typo pci*

Share this post


Link to post
Share on other sites

I just don't know why a lot of people think LPCB device injection is necessary on Skylake+ platform. Actually, on Skylake+ platform you only need PPMC and PMRC combine together to make LPCB work(like in a real Mac, confirmed from MacBookPro's ioreg). AppleLPC will not load in this case. More details can be checked in my git: https://github.com/syscl/XPS9350-macOS/commit/ed474d5bc68efba71ed827e5eef5c5db910d24c2(I discovered this since Dec 1 2016).

 

syscl

Share this post


Link to post
Share on other sites

I just don't know why a lot of people think LPCB device injection is necessary on Skylake+ platform. Actually, on Skylake+ platform you only need PPMC and PMRC combine together to make LPCB work(like in a real Mac, confirmed from MacBookPro's ioreg). AppleLPC will not load in this case. More details can be checked in my git: https://github.com/syscl/XPS9350-macOS/commit/ed474d5bc68efba71ed827e5eef5c5db910d24c2(I discovered this since Dec 1 2016).

 

syscl

I have a Skylake-X /X299 system and I see that LPC is not loading (as should be the case), but how do I get PPMC and PMCR operating properly?

 

I have a PMCR device at 0x001F0002, is that all it takes? I do not have a PPMC device.

Share this post


Link to post
Share on other sites

Well, I'm searching for the eficheckdisabler.kext, but all links I found so far are dead. Could anybody help with a valid download link?

 

Thank you very much!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×