I just had to order a new battery which died after just one year of usage. Apart from the cost, this is a bit environmentally wasteful - waste of lithium and rare earths. So now I have learned that the battery should ideally spend most of its time between 40% and 70% charge. Only occasionally when needed outside that range, if you do it all the time it kills it, which I was doing, although maybe the discharging to almost 0% is worse for it than charging to 100%
I think that on Toshiba 80% is the only threshold which might work so I don't even bother trying to set 70%
tlp does not seem to work on my 2014 Toshiba Portegé with Debian 12 Bookworm
I set it to a max of 80%, but then it will allow itself to charge well above that.
$ sudo tlp-stat -b --- TLP 1.5.0 -------------------------------------------- +++ Battery Care Plugin: generic Supported features: none available +++ Battery Status: BAT1 /sys/class/power_supply/BAT1/manufacturer = (not available) /sys/class/power_supply/BAT1/model_name = G71C000G7210 /sys/class/power_supply/BAT1/cycle_count = 0 (or not supported) /sys/class/power_supply/BAT1/energy_full_design = 57720 [mWh] /sys/class/power_supply/BAT1/energy_full = 57720 [mWh] /sys/class/power_supply/BAT1/energy_now = 43245 [mWh] /sys/class/power_supply/BAT1/power_now = 5831 [mW] /sys/class/power_supply/BAT1/status = Discharging /sys/class/power_supply/BAT1/charge_control_start_threshold = (not available) /sys/class/power_supply/BAT1/charge_control_end_threshold = 100 [%] Charge = 74.9 [%] Capacity = 100.0 [%] That generic driver is concerning, according to this :
https://linrunner.de/tlp/settings/bc-vendors.html#toshiba
..the output should look like this :
+++ Battery Care Plugin: toshiba Supported features: charge threshold Driver usage: * natacpi (toshiba_acpi) = active (charge threshold) Parameter value range: * STOP_CHARGE_THRESH_BAT0/1: 80(on), 100(off) ... /sys/class/power_supply/BAT1/charge_control_end_threshold = 80 [%] How does one get that kernel driver into it?
It is mentioned here :
https://manpages.debian.org/stretch/freebsd-manpages/acpi_toshiba.4freebsd.en.html
It wants you to do this :
To compile this driver into the kernel, place the following line in your kernel configuration file: device acpi_toshiba
..but at the top of the kernel configuration file ( /boot/config-6.1.0-40-amd64 ) it says :
# Automatically generated file; DO NOT EDIT. # Linux/x86 6.1.153 Kernel Configuration # ..so one thing says yes edit, the other says DO NOT EDIT
Is this the missing piece - should I just edit it?
It suggests otherwise you set this in loader.conf :
acpi_toshiba_load="YES" ..but I can't find loader.conf
This answer https://askubuntu.com/a/486335/707924 suggests that the only way to achieve this on Toshiba is by booting into Windows and running the Toshiba Power Saver application and setting the 80% threshold which then persists into Linux, however I don't have Windows and it would be another messy chore to try to solve it that way.
Some other observations :
$ sudo tlp setcharge 0 80 Error: battery charge thresholds not available. and
$ cat /sys/class/power_supply/BAT1/charge_control_end_threshold 100 $ echo '80' | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold 80 $ cat /sys/class/power_supply/BAT1/charge_control_end_threshold 100 (ie it ignored the attempt to set the threshold 80)
If anyone has any tips or solutions I'll definitely test them and say if it works.