ECEnabler
by Avery BlackAllows reading Embedded Controller fields over 1 byte long - reduces ACPI modifications for battery status
ECEnabler
ECEnabler is a Lilu plugin that allows reading Embedded Controller (EC) fields longer than 1 byte, significantly reducing the ACPI modifications needed for battery status reporting on laptops.
Overview
The Embedded Controller (EC) on laptops manages hardware like the battery, thermal sensors, and keyboard backlight. macOS has a limitation where it can only read EC fields that are 1 byte long, but many laptops store battery status data in multi-byte EC fields. Traditionally, this required extensive ACPI DSDT patches to split multi-byte fields into single-byte ones. ECEnabler patches the macOS ACPI handler to support multi-byte EC fields, eliminating the need for most battery-related ACPI modifications.
Features
- Multi-byte EC Field Support: Reads Embedded Controller fields over 1 byte long
- Reduced ACPI Patches: Eliminates the need for most battery DSDT patches
- Battery Status Reporting: Enables proper battery percentage and status on laptops
- Lilu Integration: Built on the Lilu patching framework
Installation
- Install Lilu first
- Download the latest release from GitHub
- Copy
ECEnabler.kexttoEFI/OC/Kexts/ - Add the kext to your
config.plistunderKernel > Add - Ensure Lilu is loaded before ECEnabler
- Reboot your system
Related Kexts
- Lilu - Required dependency
- VirtualSMC - SMC emulation with battery monitoring plugins