1

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.

0

1 Answer 1

1

I got it to work, it is now limiting its charge while plugged in to 80%.

The orange charging light goes off at 80 and the charge stops at 80.5%

It's been plugged in and stuck on the 80% for about half an hour now.

I installed the bleeding edge version of tlp from here :

https://download.linrunner.de/packages/

sudo dpkg -i tlp_1.9.0~alpha.3+20251101-1_all.deb 

Evidently the tlp that was in the Debian repositories was not new enough for Toshiba.

Also added toshiba_acpi to /etc/modules

# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. toshiba_acpi 

..and created a file /boot/loader.conf with one line in it acpi_toshiba_load="YES"

This shows the improvement in the output of tlp-stat -b :

$ sudo tlp-stat -b --- TLP 1.9.0-alpha.3_4859666 -------------------------------------------- +++ 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) +++ 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 = 46442 [mWh] /sys/class/power_supply/BAT1/power_now = 8391 [mW] /sys/class/power_supply/BAT1/status = Charging /sys/class/power_supply/BAT1/charge_control_end_threshold = 100 [%] Charge = 80.5 [%] Capacity = 100.0 [%] 

Although it lists the threshold here as 100, it seems to anyway use the 80 which I set in /etc/tlp.conf even if the output above does not overtly display it you can see that it is reading its own conf file with this commnd :

$ tlp-stat -c | tail --lines=6 defaults.conf L0056: RESTORE_DEVICE_STATE_ON_STARTUP="0" defaults.conf L0057: RESTORE_THRESHOLDS_ON_BAT="0" defaults.conf L0058: NATACPI_ENABLE="1" defaults.conf L0059: TPSMAPI_ENABLE="1" /etc/tlp.conf L0589: STOP_CHARGE_THRESH_BAT1="80" 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.