TLP Set Battery Threshold not working immediately after reboot - ASUS TUF Laptop

Hi All,

I am new to Manjaro. Though not an expert in Linux, have been with Ubuntu and its derivatives for few years now.
I got this ASUS TUF F15 Laptop where I have installed Manjaro GNOME edition along with Windows 11. Everything else seems to be fine, but facing one issue. My battery supports max threshold. But in order for that to work, I need to edit the TLP conf file and then either sleep and wake up or do a ‘tlp setcharge’ for this to be effective. Below is the output of tlp-stat -b:

+++ Battery Care
Plugin: asus
Supported features: charge threshold
Driver usage:

  • natacpi (asus_wmi) = active (charge threshold)
    Parameter value range:
  • STOP_CHARGE_THRESH_BAT0/1: 0(off)…100(default)

+++ Battery Status: BAT1
/sys/class/power_supply/BAT1/manufacturer = ASUS
/sys/class/power_supply/BAT1/model_name = A32-K55
/sys/class/power_supply/BAT1/cycle_count = 0 (or not supported)
/sys/class/power_supply/BAT1/charge_full_design = 4110 [mAh]
/sys/class/power_supply/BAT1/charge_full = 3938 [mAh]
/sys/class/power_supply/BAT1/charge_now = 3167 [mAh]
/sys/class/power_supply/BAT1/current_now = 0 [mA]
/sys/class/power_supply/BAT1/status = Idle

/sys/class/power_supply/BAT1/charge_control_end_threshold = 80 [%]

Charge = 80.4 [%]
Capacity = 95.8 [%]

Once suspended and waken up this works fine. But on every reboot this resets to 100% and charging starts. Another thing I noticed is that ‘tlp setcharge’ says it is temporary. Please see below output of that:
Setting temporary charge threshold for BAT1:
stop = 80

Any help? I tried both TLP official and git versions, but problem persists.

here you are:

https://linrunner.de/tlp/settings/battery.html

Am doing something wrong? Could you please reply with my specific issue.

please read the link carefully and i hope you know what you are doing. did you realize that you have to recalibrate (!) before using your specific demands ? read again

Thanks, I tried tlp fullcharge and tlp recalibrate. Recalibrate is giving the below:
Setting temporary charge threshold for BAT1:
stop = 100
Error: battery discharge/recalibrate not available.
Battery recalibration aborted.

Any idea?

you can create your own systemd-service to control it. a sample is described in the following link but before get some practice about system services. it’s a very powerful possibility and very flexible:

https://wiki.archlinux.org/title/Laptop/ASUS

Hmm…tried this and I guess I did something wrong. Got the entire boot records - windows and grub - got removed. Was able to recover from this though. Maybe I will wait for a fix for this issue.