nyjt Posted September 26, 2014 Share Posted September 26, 2014 Hi Qwerty12, It works grate on Mavericks 10.9.5. Thanks your work. Link to comment Share on other sites More sharing options...
billy23 Posted October 9, 2018 Share Posted October 9, 2018 Is any chance this tool to work on Coffe Lake -r laptops ? Link to comment Share on other sites More sharing options...
Administrators Hervé Posted October 9, 2018 Administrators Share Posted October 9, 2018 Try it; you won't break anything. Link to comment Share on other sites More sharing options...
viking1304 Posted November 25, 2018 Share Posted November 25, 2018 DisableTurboBoostBatery.kext doesn't work with VirtualSMC.kext and SMCBatteryManager.kext. Problem is here: void DisableTurboBoostBattery::actOnChangedPowerState() { if (pPowerSource && isOnAC != pPowerSource->externalChargeCapable() && pPowerSource->batteryInstalled()) { if ((isOnAC = pPowerSource->externalChargeCapable())) enable_tb(); else disable_tb(); } } Reason is simple - externalChargeCapable returns different values with VirtualSMC.kext and SMCBatteryManager.kext than with FakeSMC.kext and ACPIBatteryManager.kext. ExternalChargeCapable property has same value as ExternalConnected in case of FakeSMC.kext and ACPIBatteryManager.kext. On battery both values are false, on charger both values are true. With VirtualSMC.kext and SMCBatteryManager.kext only ExternalConnected property change value. It's true on charger and false on battery. ExternalChargeCapable is always true. This is the reason why disable_tb() is never called with VirtualSMC.kext and SMCBatteryManager.kext and Turbo Boost remains active. Fix should be simple as this: void DisableTurboBoostBattery::actOnChangedPowerState() { if (pPowerSource && isOnAC != pPowerSource->externalConnected() && pPowerSource->batteryInstalled()) { if ((isOnAC = pPowerSource->externalConnected())) enable_tb(); else disable_tb(); } } This should work in both usage cases - VirtualSMC.kext with SMCBatteryManager.kext and FakeSMC.kext with ACPIBatteryManager.kext. VirtualSMC implementation of ExternalChargeCapable looks proper based on documentation: ExternalConnected Type: bool IORegistry Key: kIOPMPSExternalConnectedKey True if computer is drawing external power ExternalChargeCapable Type: bool IORegistry Key: kIOPMPSExternalChargeCapableKey True if external power is capable of charging internal battery 3 Link to comment Share on other sites More sharing options...
viking1304 Posted November 25, 2018 Share Posted November 25, 2018 This is fixed version of DisableTurboBoostBattery.kext that should work with both SMCBatteryManager and ACPIBatteryManager. DisableTurboBoostBattery_2.3.zip I performed tests on battery and on charger with SMCBatterManager and looks like everything finally works as expected. Please test properly with ACPIBatteryManager since I only did brief test on battery to see if TurboBoost is disabled or not, but I didn't done any tests on charger. Please let me know if there is any problem so I could fix this. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now