I’m currently on a Dell Inspiron 7570, with
- OS - NixOS 26.05 (Yarara) x86_64, Linux 6.18.8.
- Battery model - DELL W7NKD68
- TLP version - 1.9.1
- BIOS version - 1.25.0 (latest)
This is my TLP config.
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 50;
START_CHARGE_THRESH_BAT0 = 50;
STOP_CHARGE_THRESH_BAT0 = 80;
};
};
The stop charge is not respected and the battery constantly charges over 80 and charges full, till it reaches 100.
❯ sudo tlp-stat -b
--- TLP 1.9.1 --------------------------------------------
+++ Battery Care
Plugin: dell
Supported features: charge thresholds
Driver usage:
* natacpi (dell_laptop) = active (charge thresholds)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1: 50..95(default)
* STOP_CHARGE_THRESH_BAT0/1: 55..100(default)
+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer = Samsung SDI
/sys/class/power_supply/BAT0/model_name = DELL W7NKD68
/sys/class/power_supply/BAT0/cycle_count = 0 (or not supported)
/sys/class/power_supply/BAT0/charge_full_design = 3100 [mAh]
/sys/class/power_supply/BAT0/charge_full = 3100 [mAh]
/sys/class/power_supply/BAT0/charge_now = 2512 [mAh]
/sys/class/power_supply/BAT0/current_now = 1331 [mA]
/sys/class/power_supply/BAT0/status = Charging
/sys/class/power_supply/BAT0/charge_control_start_threshold = 50 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold = 80 [%]
/sys/class/power_supply/BAT0/charge_types = Trickle Fast Standard Adaptive [Custom]
Charge = 81.0 [%]
Capacity = 100.0 [%]
+++ Recommendations
* BAT0 charge level is above the stop threshold. Use your laptop on battery power until the battery is discharged to the stop threshold.
Apart from this I’ve also tried these methods
- Updated the BIOS version
- Manually changed the power management in BIOS to Custom mode with limits 50 to 80, with both the BIOS interface and
smbios-battery-ctl - Reset to BIOS defaults and rebuilt the system again
but the issue still persists.
Also, I’m using autocpu-freq and not using power-profiles-daemon, if it’s relevant.
Is there anything Dell specific that’s causing this issue and anything else I can do to fix it?