Sherlocks Posted October 22, 2017 Share Posted October 22, 2017 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. method1, i have to manual process. i think method 3 is best. 4 Link to comment Share on other sites More sharing options...
Regi Yassin Posted October 22, 2017 Share Posted October 22, 2017 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). Link to comment Share on other sites More sharing options...
Sherlocks Posted October 22, 2017 Author Share Posted October 22, 2017 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. Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 here is EFICheckDisabler. just drop in clover your kext folderi tested it.1. no need dsdt patch2. no need manual kext patch with rebuild cacheenjoy:)this kext based on AppleHDADisabler.credit.KabylEDIT1.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 9 Link to comment Share on other sites More sharing options...
Regi Yassin Posted October 23, 2017 Share Posted October 23, 2017 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? 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 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> Link to comment Share on other sites More sharing options...
Regi Yassin Posted October 23, 2017 Share Posted October 23, 2017 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? 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 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에서 보냄 1 Link to comment Share on other sites More sharing options...
RehabMan Posted October 23, 2017 Share Posted October 23, 2017 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 11 3 Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 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? Link to comment Share on other sites More sharing options...
RehabMan Posted October 23, 2017 Share Posted October 23, 2017 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... 2 Link to comment Share on other sites More sharing options...
mitch_de Posted October 23, 2017 Share Posted October 23, 2017 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? Link to comment Share on other sites More sharing options...
gujiangjiang Posted October 23, 2017 Share Posted October 23, 2017 Why my laptop doesn't contain efi_check logs? Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 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? Link to comment Share on other sites More sharing options...
gujiangjiang Posted October 23, 2017 Share Posted October 23, 2017 on you dell laptop? what is your LPC id? Yes Dell XPS 15 9550. PCI\VEN_8086&DEV_A14E&SUBSYS_06E41028&REV_31 Link to comment Share on other sites More sharing options...
Sherlocks Posted October 23, 2017 Author Share Posted October 23, 2017 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 * 1 Link to comment Share on other sites More sharing options...
captain-j Posted October 24, 2017 Share Posted October 24, 2017 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? Link to comment Share on other sites More sharing options...
Sherlocks Posted October 24, 2017 Author Share Posted October 24, 2017 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에서 보냄 1 1 Link to comment Share on other sites More sharing options...
captain-j Posted October 24, 2017 Share Posted October 24, 2017 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* 1 Link to comment Share on other sites More sharing options...
syscl Posted October 29, 2017 Share Posted October 29, 2017 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 3 Link to comment Share on other sites More sharing options...
maleorderbride Posted December 4, 2017 Share Posted December 4, 2017 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. Link to comment Share on other sites More sharing options...
UWie74 Posted October 11, 2018 Share Posted October 11, 2018 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! Link to comment Share on other sites More sharing options...
MaLd0n Posted October 12, 2018 Share Posted October 12, 2018 6 hours ago, UWie74 said: 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! EFICheckDisabler.kext.zip Link to comment Share on other sites More sharing options...
Sherlocks Posted October 12, 2019 Author Share Posted October 12, 2019 apple added device id for eficheck PCI 8086 Intel Corporation A306 Q370 Chipset LPC/eSPI Controller Vendor Device i added this device id. EFICheckDisabler.kext.zip-20191012.zip 5 Link to comment Share on other sites More sharing options...
deeveedee Posted May 23, 2020 Share Posted May 23, 2020 (edited) On 10/12/2019 at 9:44 AM, Sherlocks said: apple added device id for eficheck PCI 8086 Intel Corporation A306 Q370 Chipset LPC/eSPI Controller Vendor Device i added this device id. @Sherlocks Your updated kext works on my HP EliteDesk 800 G4 Mini (Q370). I still don't understand why it's necessary, but it works. Thank you! Edited May 25, 2020 by tonyx86 Link to comment Share on other sites More sharing options...
Recommended Posts