DKMS kernel modules providing battery charge threshold control for Intel
Apple MacBooks via the SMC BCLM key.
The mainline Linux kernel’s applesmc driver does not
expose battery charge control. This out-of-tree module (from
c---/applesmc-next) adds
sysfs files that let you limit charging:
BCLM, sets the maximum charge percentage. Persists in SMC
NVRAM across reboots and OS switches.BFCL, controls when the MagSafe LED turns green
(cosmetic).dkms install needed.| Feature | Mainline kernel | NetLinux (applesmc-next) |
| charge_control_end_threshold | No | Yes |
| charge_control_full_threshold | No | Yes |
| TLP battery plugin | No | Included (45-apple) |
| DKMS auto-rebuild | N/A | Yes |
| Version | 0.1.6-2netlinux1 |
|---|---|
| Architecture | amd64 |
| Component | main |
| Download | applesmc-next-dkms_0.1.6-2netlinux1_all.deb |
| Upstream | github.com/c---/applesmc-next |
| Source | github.com/netlinux-ai/applesmc-next |
sudo apt install applesmc-next-dkms
See the main page for repository setup instructions.
# Limit charging to 80%
echo 80 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
# Remove limit (charge to 100%)
echo 100 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
# Check current limit
cat /sys/class/power_supply/BAT0/charge_control_end_threshold
The setting persists in SMC NVRAM across reboots and operating systems.