-
Notifications
You must be signed in to change notification settings - Fork 0
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.)
- When enabled: Immediately affects both batteries (BAT0/BAT1) and status of both batteries will be changed.
- However, resetting it to
autoleaves the other battery always ininhibit-chargebehaviour! - 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)
- 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)
ec-research wiki