Skip to content

Battery Charge Behaviour

Christian edited this page May 2, 2026 · 5 revisions

Note

This page is dedicated exclusively to ThinkPads!

Function EC RAM (BAT0) EC RAM (BAT1) Value Human Readable
Start Force Discharge
(Linux ACPI Style)
0xb4 0xb5 0x06 BIT(1) | BIT(2)
Start Force Discharge
(RAW/EC Style)
0xb4 0xb5 0x04 BIT(2)
Stop Force Discharge
(Auto Charge?)
0xb4 0xb5 0x03 BIT(0) | BIT(1)
Start Inhibit Charge 0xb4 0xb5 0x02 BIT(1)
Stop Inhibit Charge
(Auto Charge?)
0xb4 0xb5 0x01 BIT(0)
Battery Status EC RAM Value Human Readable
BAT0 Inhibit-Charge active 0x0f 0x01 BIT(0)
BAT1 Inhibit-Charge active 0x0f 0x02 BIT(1)
BAT0 Force-Discharge active 0x0f 0x04 BIT(2)
BAT1 Force-Discharge active 0x0f 0x08 BIT(3)

Linux sysfs charge behaviour with thinkpad_acpi:

  • /sys/class/power_supply/BAT?/charge_behaviour
    • [auto] inhibit-charge force-discharge

(With latest stock BIOS on all devices. Linux Kernel 6.1.x from Debian 12.)

T450s

Inhibit-Charge

  • When enabled: Immediately affects both batteries (BAT0/BAT1) and status of both batteries will be changed.
  • However, resetting it to auto leaves the other battery always in inhibit-charge behaviour!
  • Sometimes it throws an I/O error? (Seen on BAT1 after fiddling around with BAT0.)
  • Remains active after AC detach/attach! (tested on T440p / verify on T450s)

Force-Discharge

  • Individual control for each battery, separate status.
  • Can be stopped by resetting the behaviour to auto.
  • Stops if AC is detached! (tested on T440p / verify on T450s)

Clone this wiki locally