2

I have Lenovo Z500 laptop and recently migrated from Win7, where I used Lenovo utility to make the battery charge up to 60% (it said it would prolong its lifetime).

But after installing Ubuntu the setting still applies and the battery won't charge over those 60% and I couldn't find a way to change it so that it would charge to the battery to full. Any help would be appreciated.

Edit 1 This is the output of

sudo tlp stat

--- TLP 0.8 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=1
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
USB_AUTOSUSPEND=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
START_CHARGE_THRESH_BAT0=100
STOP_CHARGE_THRESH_BAT0=100

+++ System Info
System         = LENOVO Lenovo IdeaPad Z500 20202
BIOS           = 71CN44WW(V1.17)
Release        = Ubuntu 16.04.1 LTS
Kernel         = 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-4.4.0-36-generic root=UUID=c6a054f1-2d7f-4cd7-a162-e0a39e4fdb28 ro quiet splash acpi_osi=
Init system    = systemd

+++ System Status
TLP power save = enabled
power source   = AC

+++ Processor
CPU Model      = Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =  1200000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  2500000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq  =  1200000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  2500000 [kHz]

/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq  =  1200000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq  =  2500000 [kHz]

/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq  =  1200000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq  =  2500000 [kHz]

/sys/devices/system/cpu/intel_pstate/min_perf_pct      = 48
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100
/sys/devices/system/cpu/intel_pstate/no_turbo          = 1

x86_energy_perf_policy: program not installed.

/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.

+++ Temperatures
CPU temp               =    50 [°C]
Fan speed (fan1)       =     0 [/min]

+++ File System
/proc/sys/vm/laptop_mode               =     0
/proc/sys/vm/dirty_writeback_centisecs =  1500
/proc/sys/vm/dirty_expire_centisecs    =  1500
/proc/sys/vm/dirty_ratio               =    20
/proc/sys/vm/dirty_background_ratio    =    10
/proc/sys/fs/xfs/age_buffer_centisecs  = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs    = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs     = (not available)

+++ Storage Devices
/dev/sda:
          Model     = ST500LM000-1EJ162                       
          Firmware  = LVD1    
          APM Level = 254
          Status    = active/idle
          Scheduler = deadline


+++ SATA Aggressive Link Power Management
/sys/class/scsi_host/host0/link_power_management_policy  = max_performance
/sys/class/scsi_host/host1/link_power_management_policy  = max_performance
/sys/class/scsi_host/host2/link_power_management_policy  = max_performance
/sys/class/scsi_host/host3/link_power_management_policy  = max_performance
/sys/class/scsi_host/host4/link_power_management_policy  = max_performance
/sys/class/scsi_host/host5/link_power_management_policy  = max_performance

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = default (using bios preferences)

+++ Intel Graphics
/sys/module/i915/parameters/powersave        = (not available)
/sys/module/i915/parameters/enable_rc6       =  3 (enabled + deep)
/sys/module/i915/parameters/enable_fbc       = -1 (use per-chip default)
/sys/module/i915/parameters/lvds_downclock   = (not available)
/sys/module/i915/parameters/semaphores       = -1 (use per-chip default)

+++ Wireless
bluetooth = on
wifi      = on
wwan      = none (no device)

hci0(btusb)         : not connected
wlp3s0(iwlwifi)     : connected, power management = off

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save            = 0
/sys/module/snd_hda_intel/parameters/power_save_controller = N

+++ Runtime Power Management
device classes   = all
device blacklist = (not configured)
driver blacklist = radeon nouveau

/sys/bus/pci/devices/0000:00:00.0/power/control = on   (0x060000, Host bridge, ivb_uncore)
/sys/bus/pci/devices/0000:00:01.0/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.0/power/control = on   (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:14.0/power/control = on   (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:16.0/power/control = on   (0x078000, Communication controller, mei_me)
/sys/bus/pci/devices/0000:00:1a.0/power/control = on   (0x0c0320, USB controller, ehci-pci)
/sys/bus/pci/devices/0000:00:1b.0/power/control = on   (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:1c.0/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.1/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1d.0/power/control = on   (0x0c0320, USB controller, ehci-pci)
/sys/bus/pci/devices/0000:00:1f.0/power/control = on   (0x060100, ISA bridge, lpc_ich)
/sys/bus/pci/devices/0000:00:1f.2/power/control = on   (0x010601, SATA controller, ahci)
/sys/bus/pci/devices/0000:00:1f.3/power/control = on   (0x0c0500, SMBus, no driver)
/sys/bus/pci/devices/0000:01:00.0/power/control = on   (0x030200, 3D controller, no driver)
/sys/bus/pci/devices/0000:02:00.0/power/control = on   (0x020000, Ethernet controller, r8169)
/sys/bus/pci/devices/0000:03:00.0/power/control = on   (0x028000, Network controller, iwlwifi)

+++ USB
autosuspend        = enabled
device whitelist   = (not configured)
device blacklist   = (not configured)
wwan blacklist     = enabled

Bus 002 Device 002 ID 8087:0024 control = auto, autosuspend_delay_ms =     0 -- Intel Corp. Integrated Rate Matching Hub (hub)
Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)
Bus 001 Device 004 ID 0bda:0129 control = auto, autosuspend_delay_ms =  2000 -- Realtek Semiconductor Corp. RTS5129 Card Reader Controller (rtsx_usb)
Bus 001 Device 003 ID 8087:07da control = auto, autosuspend_delay_ms =  2000 -- Intel Corp.  (btusb)
Bus 001 Device 002 ID 8087:0024 control = auto, autosuspend_delay_ms =     0 -- Intel Corp. Integrated Rate Matching Hub (hub)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)
Bus 004 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 3.0 root hub (hub)
Bus 003 Device 003 ID 04f2:b35d control = auto, autosuspend_delay_ms =  2000 -- Chicony Electronics Co., Ltd  (uvcvideo)
Bus 003 Device 002 ID 046d:c051 control = on,   autosuspend_delay_ms =  2000 -- Logitech, Inc. G3 (MX518) Optical Mouse (usbhid)
Bus 003 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)

+++ Battery Status
/sys/class/power_supply/BAT1/manufacturer                   = LENOVO 
/sys/class/power_supply/BAT1/model_name                     = PABAS0241231
/sys/class/power_supply/BAT1/cycle_count                    = (not supported)
/sys/class/power_supply/BAT1/energy_full_design             =      0 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  28820 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =  17150 [mWh]
/sys/class/power_supply/BAT1/power_now                      = 655350 [mW]
/sys/class/power_supply/BAT1/status                         = Unknown
frenzy
  • 41
  • 1
  • 6
  • That utility most likely changed something, some setting in the battery that can't be reversed without it or a Linux equivalent which I doubt it exists. –  Sep 14 '16 at 17:00
  • 1
    See the output od `upower -i $(upower -e | grep BAT)` See the sections energy-full: & energy-full-design: , If they are both same (identical) **and** too low (See the battery specs printed on your battery) , Then I am sorry, Your battery has come to its end of life. – Severus Tux Sep 14 '16 at 18:22
  • the first value is 28,82Wh and the second one is 0 – frenzy Sep 14 '16 at 18:52
  • 1
    Boot into Windows and using the Lenovo Utility software change the threshold to 100%. FYI, this cannot be done in Ubuntu. You absolutely need Windows as the Lenovo Utility Software is only available in Windows. – Raphael Sep 14 '16 at 18:54
  • that's what feared :D. So is it swithed in the battery itself? I just hoped there is some way to access these settings from ubuntu – frenzy Sep 14 '16 at 19:05

4 Answers4

1

to manage conservation mode from linux there is a gnome extension that does the monitoring and switching (like Lenovo vintage on windows)

click here

there is a also a manual method

::::::::: Conservative mode commands ::::::::

from terminal

sudo su

write password

reading the current status:

cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

enable Conservation mode:

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

disable conservation mode:

echo 0  > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
karim samir
  • 121
  • 1
  • 1
  • If you yourself are the creator of the extension, please do let us know in the answer. For example instead of "there is an extension", you could say "I have created an extension" – Zanna Apr 11 '21 at 15:59
1

Following on from the suggestion posted by karim samir, I tried this with success, but with a slight alteration to get around some permission denied errors that I was getting following the commands.

I'm using a Lenovo Yoga 2 13, running Ubuntu 21.10. Battery was stuck at 59%. It's now charging perfectly to 100%.

The commands that I used were:

Check Battery Conservation Status: 

cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

Result: 0 = disabled, 1= enabled

Disable Battery Conservation Mode:

sudo bash -c 'echo 0 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode'

Enable Battery Conservation Mode:

sudo bash -c 'echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode'

Basically, I've inserted [sudo bash -c] and wrapped ' and ' around Karim's commands.

gman
  • 2,206
  • 4
  • 26
  • 39
Niall
  • 11
  • 2
1

let's see if the battery has been tampered with. Install TLP tools.

sudo add-apt-repository ppa:linrunner/tlp 
sudo apt-get update
sudo apt-get install tlp tlp-rdw

And then run:

sudo tlp start

To start the service and then

sudo tlp stat

to get the specifics of the battery.

Provide us with the output of that, specifically the CAPACITY parameter at the end.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Mookey
  • 4,757
  • 11
  • 38
  • 61
  • In my case: with tlp managed to check thresholds ( which were set to 50 start 60 stop , Its a case of a newly installed ubuntu in a new thinkpad t14...) . set it to something more reasonable by editing the ` /sys/class/power_supply/BAT0/charge_stop_threshold` and `/sys/class/power_supply/BAT0/charge_start_threshold` files – manandearth Apr 27 '21 at 06:23
0

For Dell, it's available in the BIOS. There is Primary Charge configuration where I get to choose at what percentage, the battery starts and stops charging. And that would promptly apply across all Operating Systems on the PC.

I believe there must be something equivalent in your BIOS as well and the Windows utility should have changed that by directly writing into this setting. So patiently look into all the options in your BIOS and find this setting.

Yaksha
  • 1,740
  • 2
  • 13
  • 24