ECEnabler

ECEnabler

by Avery Black
Lilu Plugins

Allows reading Embedded Controller fields over 1 byte long - reduces ACPI modifications for battery status

Advertisement
Advertisement (336×280)

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

  1. Install Lilu first
  2. Download the latest release from GitHub
  3. Copy ECEnabler.kext to EFI/OC/Kexts/
  4. Add the kext to your config.plist under Kernel > Add
  5. Ensure Lilu is loaded before ECEnabler
  6. Reboot your system
  • Lilu - Required dependency
  • VirtualSMC - SMC emulation with battery monitoring plugins

Resources