155

I just learned that some Lenovo laptops include a utility that offers to limit battery charging capacity to within 0–80% in order to slow the attenuation of the battery lifespan:

screenshot

How can I do this in Ubuntu?

landroni
  • 5,941
  • 7
  • 36
  • 58
ændrük
  • 76,794

17 Answers17

110

The charging thresholds are, very unfortunately, firmware and vendor specific.

The Lenovo ThinkPad user is luckily provided with a solution outlined on ThinkWiki.

It basically says that you would have to install and load the tp_smapi kernel module:

sudo apt-get install tp-smapi-dkms
sudo modprobe tp_smapi

and write the desired charging thresholds to virtual files in /sys/devices/platform/smapi:

echo 40 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 80 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh

Then it will stop charging once it reached 80% and only start charging when it drops below 40%.

Toshiba and others might have a similar kernel module that exposes firmware functionality to the /sys or /proc space, but it is very unlikely for patent issues. For the same reasons, an application that could handle this would be either Thinkpad- specific or only address a few select vendors.

aquaherd
  • 6,220
  • 1
    Thanks for this info. It's a good start - hopefully at least for the original Q asker. Hardware vendors should offer more support for linux driver developers. It's a shame that so much time has to be wasted having to reverse engineer hardware protocols. – cfi Oct 27 '11 at 08:32
  • Works just as described on my ThinkPad X60 running Ubuntu 11.10. – ændrük Oct 27 '11 at 18:06
  • I'll hold off on accepting this until cfi's bounty ends so as not to turn away people who might know a more general solution before they view this page. Also, @cfi, ping. – ændrük Oct 27 '11 at 18:12
  • Awarded the bounty as aquaherd took the time and at least successfully solved the original question. – cfi Nov 01 '11 at 14:37
  • 1
    I did in Ubuntu sudo apt-get install tp-smapi-dkms. It installed. Then I'm doing echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh and it says bash: /sys/devices/platform/smapi/BAT0/start_charge_thresh: No such file or directory. Why? – Alex Malex Dec 18 '12 at 09:07
  • @ændrük, it doesn't work for me for some reason, although I did what aquaherd said. The files wasn't created. Why? – Alex Malex Dec 21 '12 at 11:13
  • @Alex I've added a few details above that the original instructions didn't explicitly mention. If you have trouble loading tp_smapi or if /sys/devices/platform/smapi still doesn't exist after loading it, I'd suggest opening a new question about it. – ændrük Dec 22 '12 at 18:16
  • 7
    @ændrük, alex@ubuntu:~$ sudo modprobe tp_smapi FATAL: Error inserting tp_smapi (/lib/modules/3.5.0-17-generic/updates/dkms/tp_smapi.ko): No such device. Did I miss something? I'm going to open a new question if I don't get the anwer. – Alex Malex Dec 23 '12 at 07:12
  • @Alex I have the same problem, did you open a question? – don.joey Jan 13 '13 at 14:22
  • @Private, not yet. – Alex Malex Jan 13 '13 at 16:41
  • @Alex I posed the question here – don.joey Jan 19 '13 at 09:14
  • Does it work for HP laptops? – shravan Jun 03 '14 at 08:50
  • Setting the start_charge_thresh didn't work for me too. I read from some blog or forum that in my model T420 the api is broken. It is like a bug in the hardware. The stop_charge_thresh works just fine. – Mika Jan 13 '16 at 21:55
  • I'm having the same issue, but on Ubuntu 14.04 LTS (latest updates) install process: http://paste2.org/NDdCEtyJ --- Loading module: $ sudo modprobe hdaps_ec modprobe: FATAL: Module hdaps_ec not found.

    $ sudo insmod /lib/modules/3.13.0-83-generic/updates/dkms/tp_smapi.ko insmod: ERROR: could not insert module /lib/modules/3.13.0-83-generic/updates/dkms/tp_smapi.ko: Unknown symbol in module

    – antivirtel Mar 31 '16 at 16:55
  • I removed completely Windows on my computer so I don't have access to Dell Battery Settings. I left the option enabling maximum battery capacity at 80% and I cannot change this now in BIOS. Is there any way to do if from Ubuntu on Dell Latitude? – Ljiljan Veselinovic May 28 '16 at 05:58
  • 2
    @Mika It seems that T420 needs an additonal acpi-call-dkms package as per http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html#installation – zrooda Jun 15 '16 at 14:07
  • These instructions have worked for me on a Thinkpad T400 running Ubuntu 14.04. – pts Nov 16 '16 at 14:08
  • Would this work on ideapad ? – wadie Jun 02 '17 at 13:38
  • 3
    It needs a ThinkPad laptop to set these charging values with TLP. TLP supports other laptops too (e.g. Dell, HP) but does not support all features as written in FAQ on the page from linrunner. For configuration of the charging thresholds see: http://linrunner.de/en/tlp/docs/tlp-configuration.html#chargethresholds – Luckyrings Jun 14 '17 at 10:54
  • As of 2020, is this still valid? – axolotl Mar 27 '20 at 07:49
  • 1
    partly, tp_smapi is not working anymore, but there is a kernel module since 4.18 thinkpad_acpi which does the job. – karlsebal Sep 09 '20 at 06:41
  • @karlsebal and with thinkapd_acpi, where can I find battery charging thresholds? I can't find it inside /sys/devices/platform/thinkpad_acpi/ – Krzysztof Krasoń Oct 16 '21 at 19:19
  • @KrzysztofKrasoń see https://unix.stackexchange.com/a/560047/188466 it is in /sys/class/power_supply/BAT0 – karlsebal Dec 03 '21 at 13:23
  • 1
    On my Lenovo X1 Carbon I found the settings in /sys/class/power_supply/BAT0 under file names: charge_control_end_threshold charge_control_start_threshold charge_start_threshold charge_stop_threshold. I just echo the thresholds I want into those file names. It persists after reboot so possibly I have something in xubuntu that is persisting them. – NeilG Sep 05 '22 at 00:01
54

There's a somewhat nicer application now available to Ubuntu (and other distributions):

TLP – Linux Advanced Power Management

TLP brings you the benefits of advanced power management for Linux without the need to understand every technical detail. TLP comes with a default configuration already optimized for battery life, so you may just install and forget it. Nevertheless TLP is highly customizable to fulfil your specific requirements.

One of the parameters it controls is maintaining battery charging limits. As pointed by @tanius in the comments (please upvote them!), while TLP used to only work on Thinkpads, the newest version has support for devices from multiple vendors, and given the nature of the project—if the appropriate drivers for other devices will become available, it is likely these will get integrated into this project too. So if you're reading this comment in few years, check the documentation, maybe your device is now supported.

Ubuntu packages are available in the official repository.

liori
  • 779
  • where is the list of supported devices? I am unable find a section on their doc. By any chance do you know whether tlp is supported for Thinkpad X1 carbon as well – Kasun Siyambalapitiya Apr 06 '18 at 06:57
  • 3
    @KasunSiyambalapitiya, as of now, tlp is only a frontend to the two tools it uses for this purpose, Tp smapi and tpacpi-bat. As long as your model is supported by at least one of them, it should work (or file a bug). Yours doesn't seem to be listed on either of their supported hardware pages, but a quick googling reveals that the latter might work. – liori Apr 06 '18 at 19:22
  • 1
    "Battery charge thresholds, discharge and recalibration are currently only supported for IBM/Lenovo ThinkPads. Any other Lenovo laptop models including IdeaPads and all other laptop brands are not supported. TLP 1.3.1 does not support the kernel’s natacpi implementations for Asus and Huawei laptops because of differing sysfiles" Source: https://linrunner.de/tlp/usage/tlp.html I would like to see an implementation for ASUS laptops. Mine does include a charge control utility by Asus too but for Windows only. – w-sky Jul 28 '21 at 12:36
  • 2
    Found a guide to use charge control on Asus laptops here: https://www.linuxuprising.com/2021/02/how-to-limit-battery-charging-set.html – w-sky Jul 28 '21 at 12:48
  • 5
    Good news (esp. for @w-sky): TLP ≥1.4 also can set battery charge limits for Asus, Huawei, LG, other Lenovo, and Samsung notebooks (source). – tanius Sep 16 '21 at 11:28
  • more vendors have been added including LG! https://linrunner.de/tlp/settings/bc-vendors.html – flyingdrifter Mar 27 '22 at 05:32
19
  1. Install TLP:
    sudo add-apt-repository ppa:linrunner/tlp
    sudo apt update
    sudo apt install tlp
    

    Check what package needed for battery:

    sudo tlp-stat -b

    If acpi_call is recommended

    sudo apt install acpi-call-dkms

    If smapi is recommended

    sudo apt install tp-smapi-dkms

  2. Open config file of TLP
    sudo gedit /etc/tlp.conf
    
  3. Find the lines regarding battery settings, remove the leading # for comment and maybe insert the value you want
    START_CHARGE_THRESH_BAT0=75
    STOP_CHARGE_THRESH_BAT0=80
    
  4. Restart tlp
    sudo tlp start
    
  5. Check the config status
    sudo tlp-stat -b
    
Pablo Bianchi
  • 15,657
  • On my thinkpad, the config file is in /etc/default/tlp – xuancong84 Dec 24 '20 at 02:43
  • 1
    My settings is START_CHARGE_THRESH_BAT0=60 STOP_CHARGE_THRESH_BAT0=81 When I plug in the charger, the level reaches 80% and stops. Everything is as expected. But how does the lower range work? With the charger on, the level is always constant at 80%. – Jekson Sep 27 '21 at 10:52
  • Does this work on Thinkpads only? Would it work on a Toshiba Satellite? – Gabriel Staples Dec 17 '21 at 06:29
  • 3
    Works with Thinkpad L490 running Ubuntu 21.10

    Just after the Step 3. run this command to enable the service after restart

    systemctl enable tlp.service

    – Ron Michael Mar 02 '22 at 04:21
19

The accepted answer does not work on my new Lenovo T440s. Apparently the firmware changed. Following http://www.thinkwiki.org/wiki/Tpacpi-bat, I did

git clone https://github.com/teleshoes/tpacpi-bat.git
cd tpacpi-bat/
./install.pl
sudo ./tpacpi-bat -s ST 1 15 # load internal battery when below 15%
sudo ./tpacpi-bat -s SP 1 95 # stop charging at 95%
sudo ./tpacpi-bat -g ST 2 # when is external battery loaded?

For reference, I did this on debian testing but I'm sure it works in ubuntu just as well.

  • The instructions above are still valid after 6 years on my new Thinkpad E495 but meanwhile if secureboot is enabled, I can't just add a kernel module and the ./install.pl step fails with modprobe: ERROR: could not insert 'acpi_call': Operation not permitted. A workaround is to disable secure boot or to sign the modules manually; cf. e.g. https://askubuntu.com/questions/1114867 – Fred Schoen Nov 17 '20 at 09:12
  • This is the solution worked for my ThinkPad E15 Gen3 (2021) with Ubuntu 22.04. – alierdogan7 Aug 23 '22 at 12:32
14

On my Toshiba R830 running Windows 8.1, I installed the Toshiba Power Saver application in order to limit the battery charge to 80%

When I boot on Linux (Ubuntu, Mint, etc), the maximum charge is still limited to 80%.

Therefore, the Toshiba Power Saver seems to store its configuration into the bios.

The only drawback is that if I want to travel with a fully charged battery, I have to reboot on Windows and change the Power Saver configuration.

eosphere
  • 301
  • 3
  • 4
  • 1
    welcome to askubuntu! Your results with Mint don't appear to be Ubuntu related. Can you rephrase your answer in terms that are relevant to this site? Thank you! – Elder Geek Jun 21 '14 at 13:49
  • 17
    Hello Elder Geek, this is bios related therefore will work with any operating system in a dual boot configuration. This Toshiba bios configuration is not accessible by bios menu but only with the Power Saver Application that runs on Windows only. – eosphere Sep 16 '14 at 21:03
  • 2
    Same for me on linovo yoga 3 11inch. – ctrl-alt-delor Aug 22 '15 at 18:19
  • 5
    Results with Mint are obviously Ubuntu-related. – Stefan Reich May 16 '18 at 10:45
  • I don't have Windows on my Toshiba--only Ubuntu 20.04. I know this works when set up in Windows dual boot as you said (I have another computer where I've proven this), but I wonder if this would work if I ran the Toshiba program from Windows 10 in a VirtualBox virtual machine. Anybody know? – Gabriel Staples Dec 17 '21 at 06:27
8

I have a Asus laptop and the approach which I have found from internet is as follows. This approach may already be a part of some of the apps mentioned above but putting it here for information.

  1. Create a service file named battery_charge_threshold.service like this.
    [Unit]
    Description=Set the battery charge threshold
    After=multi-user.target
    

    [Service] Type=oneshot ExecStart=/bin/bash -c 'echo 80 > /sys/class/power_supply/BAT0/charge_control_end_threshold'

    [Install] WantedBy=multi-user.target

  2. Move the file to this location /etc/systemd/system
  3. Run the following commands.
    sudo chmod 644 /etc/systemd/system/battery-charge-threshold.service
    sudo systemctl daemon-reload
    sudo systemctl enable battery-charge-threshold.service
    

After doing this, charge threshold of 80% (as per service file) will persist between reboots. It will also stop charging the battery if the current level is above 80%. Hope this helps. I have been using it for almost 1.5 years without any issue.

Pablo Bianchi
  • 15,657
AjayC
  • 398
  • 1
  • Is there a way to have two thresholds like start_charge_threshold and stop_charge_threshold? so that we can control when the charging starts and ends. – Hosein Rahnama Feb 08 '22 at 11:59
  • I used this method for an ASUS-N580V, but this causes the battery to heat up abnormally, while this isn't the case when I used the ASUS Battery Health Charging on Windows. – Hosein Rahnama Feb 08 '22 at 17:45
  • 1
    @HoseinRahnama : I have not faced any heating issue on Ubuntu. Mine is ASUS S430UA. Not aware of any technique/hack to set start threshold. – AjayC Feb 10 '22 at 03:21
  • Another issue that I have is that when I connect the charging cable and set the threshold to 60 and the battery is in 80 state, the operating system shows that the battery is not charging but the it does not drop to 60 as the time goes on. I am using Ubuntu 20.04 LTS. – Hosein Rahnama Feb 10 '22 at 10:06
  • Yes, I have same problem as @HoseinRahnama , my start & stop thresholds are 25 and 80 %, but when charger is plugged in, and my battery is at 59%, it just stays that way. System says no charging is being done.

    Edit: My os is Ubuntu 18.04

    – scovic Mar 22 '23 at 23:44
  • there is no start & stop threshold in ubuntu. Only charge_control_end_threshold is available. – lance2k Aug 20 '23 at 19:48
7

On my Dell XPS, I installed the smbios-utils package using sudo apt install smbios-utils. This package provides a command called smbios-battery-ctl. It looks like battery level based charge control has been available since Ubuntu 20.04. Full details are in the manpage, but for a basic 80% setting, I think this will work:

sudo smbios-battery-ctl --set-custom-charge-interval 75 80
sudo smbios-battery-ctl --set-charging-mode=custom

This will start charging when the battery falls below 75%, and stop charging when it reaches 80%.

To change the setting back:

sudo smbios-battery-ctl --set-charging-mode=adaptive
Robie Basak
  • 15,670
  • Amazing! This seems to work with other Dell models as well, such as the Latitude 5420. And it's open-source https://github.com/dell/libsmbios/blob/master/src/bin/smbios-battery-ctl – bmaupin Aug 05 '21 at 19:43
  • Program crashes on my Toshiba Satellite C55t-B5109 running Ubuntu 20.04. Last part of the stack trace: File "/usr/lib/python3/dist-packages/libsmbios_c/smbios_token.py", line 145, in __getitem__ raise IndexError(_("SMBIOS Token ID 0x%04x not found") % id ) IndexError: SMBIOS Token ID 0x0349 not found – Gabriel Staples Dec 17 '21 at 06:51
6

Did you check to see whether there is a BIOS setting on your laptop for this? My laptop had a Windows Application as well as a "Battery Life Extender" setting in the BIOS for this exact feature.

3

I wrote a command line application that does this.

The easiest way to get started is download the app from the releases page and run

$ ./bat --help

from the terminal in the directory where it is located which should show the help documentation.

If there's an error, it might have to do with permissions. The following command might solve the problem.

chmod +x ./bat

Basically, running

$ ./bat --threshold

will print out the current threshold.

To set a new threshold, say 60%, run

./bat --threshold 60

To persist the current threshold between restarts, run

sudo ./bat --persist

Note: Persisting uses systemd under the hood but this is bundled with most Linux distributions including Ubuntu.

Tip: Putting the app in a directory like /usr/local/bin/ that is in the $PATH will enable you to run it from anywhere and not just in the directory the app is in. Then the above commands become,

bat --help
bat --threshold 60
bat --persist

respectively.

  • Unfortunately, not compatible with my Toshiba Satellite C55t-B5109. Running bat release 0.8.4: Cmd: ./bat --threshold Response: "This program is most likely not compatible with your system. See https://github.com/tshakalekholoane/bat#disclaimer for details." – Gabriel Staples Dec 17 '21 at 06:46
  • 1
    syntax of the program has been changed (works without dashes) – betontalpfa Nov 21 '23 at 14:50
  • Doesn't work with Ubuntu 22 LTS on Lenovo Ideapad :( – betontalpfa Nov 21 '23 at 14:52
2

There is a hardware hack I just discovered for Dell laptops:

Dell chargers use 3 pins, one for (+), one for (-) and one for Dell Charger Identification Communication (a 1-Wire protocol). This communication line is usually the one in the center of connector, the needle like pin.

If you cut this communication line, laptop will continue running from AC but the battery won't be charged anymore.

Locate the communication line, cut it, place a switch in between. Charge your laptop's battery as much as you want and then turn off that switch. Your laptop will use AC but your battery will stay put at the charge you left it.

See this answer for recommended charge levels for various scenarios: https://superuser.com/a/664583/187576

Edit

Apperently a disadvantage of this approach is that the laptop degrades its performance if no identified charger found.

This might not be an issue for normal usage, however, if you need your CPU power for like 3D design, the performance is degraded noticeably.

ceremcem
  • 179
  • 5
1

For LG Gram laptops, there's a specific kernel driver, which seems to be active out of the box, at least in EndeavourOS, for particular features of LG Gram, see https://www.kernel.org/doc/html/latest/admin-guide/laptops/lg-laptop.html

In particular, it also provides a "Battery care limit". Quoting from that page:

Writing 80/100 to /sys/devices/platform/lg-laptop/battery_care_limit sets the maximum capacity to charge the battery. Limiting the charge reduces battery capacity loss over time.

This value is reset to 100 when the kernel boots.

So, for example, you can manually set the limit to 80 with the following command:

echo '80' | sudo tee /sys/devices/platform/lg-laptop/battery_care_limit

I tested that on my LG Gram 16, and it seems to work perfectly: when plugging the AC with 85% charged, KDE states that it is charging, but the percentage stays at 85% (with "time to full" blocked at 1:41).

As stated in the quote above, this value will be reset when the kernel boots, so you may have to change the value again.

I guess that for a more automatic solution, tlp provides support for that as well, https://gist.github.com/linrunner/fee8feeb079efc03001d9f3671146298

  • your first link says "with this driver" is that included with the kernal or do you have to add it separately? – flyingdrifter Mar 27 '22 at 03:43
  • 1
    @flyingdrifter it's included in the kernel, but you should use at least version 5.15 because, in the previous kernels, I noticed that the value is not persisted in the file, even if you write it. – lorenzo-bettini Mar 28 '22 at 06:47
  • @lorenzo-bettini thanks for sharing. do you know why the command echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold is throwing error Invalid argument? – ITW Sep 22 '22 at 00:56
  • @ITW maybe 60 is not a valid value for the threshold. For example, for LG GRAM you can specify only 80 or 100. I guess that depends on the laptop – lorenzo-bettini Sep 22 '22 at 16:18
1

Simple script alert solution for all devices

If you just want to be alerted at a certain charging level, you can use this script: https://www.2daygeek.com/linux-low-full-charging-discharging-battery-notification

1

Battey Health Charging

  • Creating this post just to bring awareness to Ubuntu users (Gnome), regarding Gnome extension to set Charging threshold / limit various laptops make/models.

https://extensions.gnome.org/extension/5724/battery-health-charging/

  • Using Battery Health Charging extension, some laptop models are supported out of the box, while others model that are not supported by native linux kernel need to install dependencies, either 3rd party kernel module or packages.

  • The below link for readme of extension Github pages, contains a list of laptop make/model and dependencies, if required. It also contains command-line to change threshold which can be helpful for Ubunut other desktop environments such as Kubuntu, Ubuntu Cinamon etc. Please check it out for more information

https://maniacx.github.io/Battery-Health-Charging/device-compatibility

Quick Settings and Extension Preference

enter image description here I have seem lots of users in different forums asking for a GUI way to change battery charging limit/threshold and in most case the post gets locked in 3-4 days without the correct solution and I am unable to answer them, so I am creating this post. Most of user are even unaware that enthusiast have devoleoped kernel modules and packages to change charging threshold. Hope whoever needs this, finds this post.

List of supported laptop.

  • Asus
  • LG
  • Samsung
  • Sony
  • Huawei
  • Toshiba
  • System76
  • Lenovo (Ideapad, Legion)
  • Thinkpad
  • Panasonic
  • Acer (dependencies: kernel module)
  • MSI (dependencies: kernel module)
  • Tuxedo (dependencies: kernel module)
  • Slimbook (dependencies: kernel module)
  • Tuxedo IntelQC71 (dependencies: kernel module)
  • XMG IntelQC71 (dependencies: kernel module)
  • Eluktronics IntelQC71 (dependencies: kernel module)
  • Gigabyte Aero/Aorus (dependencies: kernel module)
  • Dell (dependencies: custom package libsmbios)
  • Dell (dependencies: custom package Dell Command Center)
  • Apple Macbook Intel-series chip (dependencies: kernel module)
  • Apple Macbook M-series chip (dependencies: custom kernel)
  • Razer (dependencies: custom package razer-cli)
  • Framework (dependencies: kernel module)

Compatible with Gnome 42 and above
Ubuntu 22.04
Ubuntu 22.10
Ubuntu 23.04

Additionally seeking assistance with translation contributions. Thank you.

Max
  • 36
1

Very often (almost always) this is an option in the BIOS that Windows can change remotely. It's very difficult to remote change this in Linux. My suggestion? When starting up your computer, smash the function keys, specifically F1, F2, F3, F6, F8, F10, and F12. One of these (maybe another) will put you into the bios menu. It says which key on startup, but it doesn't usually stay up long enough.

Look for power settings (only arrow keys here, no mouse). Find batter saver or batter optimizer or something along those lines. Change that to enabled, and then save and restart. This should do it.

Linux tends to freak out when the battery doesn't charge past 80%, but it will just ruin your expected charge times. Nothing to worry about here.

Still need help? Comment your question! Did I help? +1 me :)

AlwaysTalkingAboutMyDog
  • 3,783
  • 2
  • 25
  • 38
0

On my asus laptop

sudo -i eval "echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold"

If /sys/class/power_supply/BAT0/charge_control_end_threshold isn't there, it is more likely your laptop doesn't support it.

This value get reset every time you reboot your laptop. You can configure a cron job or a systemd service to set it back. There is a great article about this here https://www.linuxuprising.com/2021/02/how-to-limit-battery-charging-set.html

0

System76 has their own 'charge-threshold' software inbuilt now: https://support.system76.com/articles/laptop-battery-thresholds/

I tried TLP on this System76 Oryx Pro 9, and it unfortunately isn't (yet) supported by TLP (TLP is super cool and promising, btw; hopefully more and more systems will be added and supported by it over time):

$ sudo tlp-stat -b                                                                                                                                                                       
--- TLP 1.5.0 --------------------------------------------

+++ Battery Care
Plugin: generic
Supported features: none available

but thankfully, system76-power charge-thresholds seems to be working, following their instructions on the above-linked page, including using systemd to persist it. (Apparently a GUI and inbuilt persistence is planned, but not yet fully implemented.)

$ system76-power charge-thresholds 
Profile: Maximum Lifespan (max_lifespan)
Start: 50
End: 60

(I'm using the preset "max_lifespan" profile; there are 2 or 3 others; but you can also set custom levels for 'start' and 'end')

(On Ubuntu 20.04)

0

One more solution for IdeaPad:

First make sure the ideapad_laptop kernel module is loaded, with the lsmod command. If it is, run the following command as root to enable Battery Conservation Mode:

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

It leads to max battery level is 60% of capacity.

Alex
  • 139