You are not logged in.

#1 2026-05-24 02:35:17

ThePainTester
Member
Registered: 2026-05-24
Posts: 2

[SOLVED] Battery charge limit for Lenovo Legion

Hello
I have a Legion 5 15IAH7H
Currently I can't find "charge_control_end_threshold" file inside "/sys/class/power_supply/BAT0/"
Does that mean that my laptop doesn't support it? Can I add the file to the directory using "tmpfiles.d" at boot or if it is not there then I can't?
And if that's the case is there any other way that I could achieve this?
Thanks.

Last edited by ThePainTester (2026-05-25 04:19:26)

Offline

#2 2026-05-24 07:12:12

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,382

Re: [SOLVED] Battery charge limit for Lenovo Legion

https://wiki.archlinux.org/title/Laptop … ation_mode ?

Can I add the file to the directory using "tmpfiles.d" at boot

sysfs is a pseudo-fs, you're actually configuring the kernel/modules this way - even if you managed to add a file there it would be utterly pointless and not do anything.

Offline

#3 2026-05-24 13:46:51

ThePainTester
Member
Registered: 2026-05-24
Posts: 2

Re: [SOLVED] Battery charge limit for Lenovo Legion

Okay this might seem as a very noob question. I checked loaded modules and "ideapad_laptop" is loaded, that means I can follow the guide you sent.
But my laptop is a Legion not Ideapad, is this a mismatch or this is normal? I asked AI and it said that ideapad_laptop is for all Lenovo laptops that was first made for ideapad and expanded and renaming kernel modules is hard.

Also the guide you sent says that charging will be limited to "50-60%", so am I stuck with that preset as long as I don't have the "/sys/class/power_supply/BAT0/charge_control_end_threshold" exposed? Or is there a way to control the limit percentage?

Thanks for your time.

Last edited by ThePainTester (2026-05-24 13:51:30)

Offline

#4 2026-05-24 14:09:56

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,382

Re: [SOLVED] Battery charge limit for Lenovo Legion

But my laptop is a Legion not Ideapad, is this a mismatch or this is normal?

Legion is a derivative/rebrand of an Ideapad branch, they're all Lenovo consumer hardware.

am I stuck with that preset as long as I don't have the "/sys/class/power_supply/BAT0/charge_control_end_threshold" exposed?

Yes, unless there're actually two batteries

ls -lRH /sys/class/power_supply/*

Does the conservation_mode setting work?
If sol and in general please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

#5 2026-10-13 14:31:28

Jitter.Jive.Groove
Member
Registered: 2026-10-09
Posts: 8

Re: [SOLVED] Battery charge limit for Lenovo Legion

on my system there is nothing at :

/sys/class/power_supply/BAT0/charge_stop_threshold

however, there are textfiles in that directory, /sys/class/power_supply/BAT0/

but :

echo 80 | sudo tee /sys/class/power_supply/BAT0/charge_stop_threshold

would create a file there, ..... or send a message to a hardware device or something else

is this an untethered fix ?  I did this to find the battery :

upower --enumerate


thanks

Last edited by Jitter.Jive.Groove (2026-10-13 14:46:03)


....  Jitter.Jive.Groove

Offline

#6 2026-10-13 14:50:36

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,382

Re: [SOLVED] Battery charge limit for Lenovo Legion

And your system is exactly what?
Even iff you could add a file there (what should™ not be possible at all) it would not do anything.

tail /sys/class/power_supply/BAT0/*

Offline

#7 2026-10-13 14:56:21

Jitter.Jive.Groove
Member
Registered: 2026-10-09
Posts: 8

Re: [SOLVED] Battery charge limit for Lenovo Legion

tail /sys/class/power_supply/BAT0/*   :


==> /sys/class/power_supply/BAT0/alarm <==
0

==> /sys/class/power_supply/BAT0/capacity <==
100

==> /sys/class/power_supply/BAT0/capacity_level <==
Full

==> /sys/class/power_supply/BAT0/charge_types <==
Fast [Standard] Long_Life

==> /sys/class/power_supply/BAT0/cycle_count <==
42

==> /sys/class/power_supply/BAT0/device <==
tail: error reading '/sys/class/power_supply/BAT0/device': Is a directory

==> /sys/class/power_supply/BAT0/energy_full <==
42260000

==> /sys/class/power_supply/BAT0/energy_full_design <==
42000000

==> /sys/class/power_supply/BAT0/energy_now <==
42260000

==> /sys/class/power_supply/BAT0/extensions <==
tail: error reading '/sys/class/power_supply/BAT0/extensions': Is a directory

==> /sys/class/power_supply/BAT0/hwmon1 <==
tail: error reading '/sys/class/power_supply/BAT0/hwmon1': Is a directory

==> /sys/class/power_supply/BAT0/manufacturer <==
Sunwoda

==> /sys/class/power_supply/BAT0/model_name <==
L21D3PF0

==> /sys/class/power_supply/BAT0/power <==
tail: error reading '/sys/class/power_supply/BAT0/power': Is a directory

==> /sys/class/power_supply/BAT0/power_now <==
0

==> /sys/class/power_supply/BAT0/present <==
1

==> /sys/class/power_supply/BAT0/serial_number <==
2145

==> /sys/class/power_supply/BAT0/status <==
Full

==> /sys/class/power_supply/BAT0/subsystem <==
tail: error reading '/sys/class/power_supply/BAT0/subsystem': Is a directory

==> /sys/class/power_supply/BAT0/technology <==
Li-poly

==> /sys/class/power_supply/BAT0/type <==
Battery

==> /sys/class/power_supply/BAT0/uevent <==
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=42000000
POWER_SUPPLY_ENERGY_FULL=42260000
POWER_SUPPLY_ENERGY_NOW=42260000
POWER_SUPPLY_CAPACITY=100
POWER_SUPPLY_CAPACITY_LEVEL=Full
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_MODEL_NAME=L21D3PF0
POWER_SUPPLY_MANUFACTURER=Sunwoda
POWER_SUPPLY_SERIAL_NUMBER= 2145

==> /sys/class/power_supply/BAT0/voltage_min_design <==
11250000

==> /sys/class/power_supply/BAT0/voltage_now <==
12958000


....  Jitter.Jive.Groove

Offline

#8 2026-10-13 15:05:25

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,382

Re: [SOLVED] Battery charge limit for Lenovo Legion

Please use [code][/code] tags. Edit your posts in this regard.


So leaving aside that it would have been charge_control_end_threshold, neither that nor the supposedly created charge_stop_threshold is there.
=>

seth wrote:

And your system is exactly what?

The battery model at least seems to be compatible w/ ideapads…

lsmod | grep ideapad
ls /sys/bus/platform/drivers/ideapad_acpi/*/conservation_mode

(See the first link I posted ITT)

Offline

#9 2026-10-13 15:24:56

Jitter.Jive.Groove
Member
Registered: 2026-10-09
Posts: 8

Re: [SOLVED] Battery charge limit for Lenovo Legion

very old ideapad

lsmod | grep ideapad

ideapad_laptop         53248  0
sparse_keymap          12288  1 ideapad_laptop
rfkill                            45056  9 iwlmvm,bluetooth,ideapad_laptop,cfg80211
video                          81920  2 ideapad_laptop,i915
wmi                           45056  4 video,lenovo_wmi_hotkey_utilities,wmi_bmof,ideapad_laptop


ls /sys/bus/platform/drivers/ideapad_acpi/*/conservation_mode

.rw-r--r-- 4.1k root 13 Oct xx:14 ? /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

? (sic)

fish artifact ?

https://wiki.archlinux.org/title/Laptop … ation_mode :

with the lsmod command, load the ideapad_laptop kernel module ?

then ? :

echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode


....  Jitter.Jive.Groove

Offline

#10 2026-10-13 17:25:11

Jitter.Jive.Groove
Member
Registered: 2026-10-09
Posts: 8

Re: [SOLVED] Battery charge limit for Lenovo Legion

so, to be clear, first I need to invoke 'su' to get root privileges

%su
Password:
root@system# echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

and done?


....  Jitter.Jive.Groove

Offline

#11 2026-10-13 19:33:22

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,382

Re: [SOLVED] Battery charge limit for Lenovo Legion

You can also just

echo 1 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

but yes, that should™ work.

Offline

Board footer

Powered by FluxBB