home | list info | list archive | date index | thread index

Re: can someone clarify debian 13 battery thresholds for me?

Hi rday,

Your understanding of the start/end thresholds is correct — the battery
*should* start charging at 75% and stop at 80%. If your Dell laptop keeps
charging past 80%, it usually means the firmware/EC does *not* actually
support Linux-controlled charge thresholds, even though the sysfs files
exist.

On many Dell models, the kernel exposes charge_control_*_threshold, but the
hardware ignores them unless the feature is supported by the Dell WMI
battery driver or configured directly in BIOS.

A few quick checks:

lsmod | grep dell
modprobe dell-wmi-battery   # if supported

If dell-wmi-battery is missing (common), Linux cannot enforce thresholds.
In that case, charging limits must be set in the BIOS (“Custom Charge”) if
available — otherwise they cannot be controlled.

In short: the sysfs interface is present, but your firmware isn’t honoring
it.

Best,
Qingwei

On Mon, 1 Dec 2025 at 11:43, Robert P. J. Day via linux <
linux [ at ] linux-ottawa [ dot ] org> wrote:

>
>   (i'm using debian 13 on a dell pro max 16 laptop, but i suspect this
> question applies to any linux distro that supports battery charging
> configuration.)
>
>   read recently that i shouldn't keep my laptop plugged in and maxed
> out at 100% charge perpetually since that allegedly reduces the life
> of the battery. so i read that i can play with the settings for
> battery charging under /sys/class/power_supply/BAT0:
>
> -rw-r--r-- 1 root root 4096 Dec  1 10:21 alarm
> -r--r--r-- 1 root root 4096 Nov 27 04:29 capacity
> -r--r--r-- 1 root root 4096 Dec  1 10:21 capacity_level
> -rw-r--r-- 1 root root 4096 Dec  1 10:19 charge_control_end_threshold
> -rw-r--r-- 1 root root 4096 Dec  1 10:19 charge_control_start_threshold
> -r--r--r-- 1 root root 4096 Nov 27 04:29 charge_full
> -r--r--r-- 1 root root 4096 Nov 27 04:29 charge_full_design
> -r--r--r-- 1 root root 4096 Nov 27 04:29 charge_now
> -rw-r--r-- 1 root root 4096 Dec  1 10:21 charge_types
> -r--r--r-- 1 root root 4096 Nov 27 04:29 current_now
> -r--r--r-- 1 root root 4096 Nov 27 04:29 cycle_count
> lrwxrwxrwx 1 root root    0 Nov 27 04:29 device -> ../../../PNP0C0A:00
> -r--r--r-- 1 root root 4096 Dec  1 10:21 eppid
> drwxr-xr-x 3 root root    0 Nov 27 04:29 hwmon0
> -r--r--r-- 1 root root 4096 Nov 27 04:29 manufacturer
> -r--r--r-- 1 root root 4096 Nov 27 04:29 model_name
> drwxr-xr-x 2 root root    0 Dec  1 10:21 power
> -r--r--r-- 1 root root 4096 Nov 27 04:29 present
> -r--r--r-- 1 root root 4096 Nov 27 04:29 serial_number
> -r--r--r-- 1 root root 4096 Nov 27 04:29 status
> lrwxrwxrwx 1 root root    0 Nov 27 04:29 subsystem ->
> ../../../../../../class/power_supply
> -r--r--r-- 1 root root 4096 Nov 27 04:29 technology
> -r--r--r-- 1 root root 4096 Nov 27 04:29 temp
> -r--r--r-- 1 root root 4096 Nov 27 04:29 type
> -rw-r--r-- 1 root root 4096 Nov 27 04:29 uevent
> -r--r--r-- 1 root root 4096 Nov 27 04:29 voltage_min_design
> -r--r--r-- 1 root root 4096 Nov 27 04:29 voltage_now
>
>   as i read it, what i'm interested in are those early "start" and
> "end" threshold variables which are, respectively, on my system:
>
> $ cat *start*
> 75
> $ cat *end*
> 80
>
>   as i read it, that defines a very narrow window such that, if the
> battery charge drops to 75%, it will start charging, and it will stop
> charging once it reaches 80%. in other words, if i leave the laptop
> plugged in the whole time, battery charge will bounce back and forth
> between 75% and 80%, am i reading that correctly?
>
>   i ask since, with those values, my battery was at 82%, i plugged in
> the laptop, and it proceeded to charge .. 83% ... 84% ... not what i
> expected.
>
>   am i missing some other config setting, perhaps one that activates
> that feature?
>
> rday
>
> To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
> To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
> To visit the archives: https://lists.linux-ottawa.org
>
>