Ubuntu – Problem with Lenovo battery threshold


I recently installed Linux on my Lenovo Ideapad 320, but I forgot to disable conservation mode from Lenovo vantage with Windows 10. The problem is that now my PC doesn't charge over 60%. I already tried with tlp but it doesn't seem to work.

How can I return to default thresholds (100%)?

Best Answer

  • The battery conservation mode is enabled with:

    $ echo '\_SB.PCI0.LPCB.EC0.VPC0.SBMC 3' | sudo tee /proc/acpi/call

    It can be disable with:

    $ echo '\_SB.PCI0.LPCB.EC0.VPC0.SBMC 5' | sudo tee /proc/acpi/call

    On Debian/Ubuntu you should install the package acpi-call-dkms

    (Credits: ArchLinux wiki - Lenovo IdeaPad 720s)

    The just mentioned wiki page refers to the IdeaPad 720s, on my IdeaPad 320 I've double check on the BIOS DSDT table and it seems to be the same. Browsing the web, I've found a case where the proper code to enable it was 4 (instead of 3) but 5 was used to disable it in any case.

    Edit Edit Edit

    The battery conservation mode is now exposed via the kernel module ideapad-laptop, so just load the module and then use:

    # to read the current status
    cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
    # to enable
    echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
    # to disable
    echo 0 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode