Lenovo Legion 5i 2021 Battery Conservation mode not working

For whatever reason, ever since about a month or two ago when I did a fresh install of Arch (via the Archinstall script), Conservation Mode on my Legon 5i 2021 is not working anymore.

What this does (or rather should, because it no longer does), is if you edit /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode from 0 to 1 the battery won’t charge while machine is plugged until it dropped under 60% (or thereabouts). I know this because I’ve seen it work like this for the last couple of years. And now it no longer does. The laptop’s battery is now always charging.

Any ideas what else might be affecting this that could be interfering with Conservation Mode?

  Kernel: 6.8.1-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: acpi_pm parameters: BOOT_IMAGE=/vmlinuz-linux
    root=UUID=6f2f002a-6f99-41cf-ad21-59ec31b10bae rw zswap.enabled=0
    rootfstype=ext4 loglevel=3 nvidia_drm.modeset=1 ibt=off
  Desktop: GNOME v: 45.5 tk: GTK v: 3.24.41 wm: gnome-shell
    tools: gsd-screensaver-proxy dm: GDM v: 45.0.1 Distro: Arch Linux
  Type: Laptop System: LENOVO product: 82JM v: Legion 5 17ITH6H
    serial: <superuser required> Chassis: type: 10 v: Legion 5 17ITH6H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    part-nu: LENOVO_MT_82JM_BU_idea_FM_Legion 5 17ITH6H
    uuid: <superuser required> UEFI: LENOVO v: H1CN53WW date: 03/16/2023
  ID-1: BAT0 charge: 83.2 Wh (100.0%) condition: 83.2/80.0 Wh (104.1%)
    volts: 16.7 min: 15.4 model: Celxpert L20C4PC2 type: Li-poly serial: <filter>
    status: full cycles: 12
  Info: model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
    arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
    process: Intel 10nm family: 6 model-id: 0x8D (141) stepping: 1
    microcode: 0x50
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
    L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 1163 high: 2781 min/max: 800/4600 scaling:
    driver: intel_pstate governor: performance cores: 1: 800 2: 962 3: 800 4: 800
    5: 2781 6: 800 7: 800 8: 800 9: 1378 10: 2010 11: 882 12: 2602 13: 800
    14: 800 15: 800 16: 800 bogomips: 73744
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS, IBPB: conditional,
    RSB filling, PBRSB-eIBRS: SW sequence
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Lenovo driver: i915
    v: kernel alternate: xe arch: Gen-12.1 process: Intel 10nm built: 2020-21
    ports: active: eDP-2 empty: DP-3, DP-4, DP-5, DP-6, DP-7, HDMI-A-2
    bus-ID: 00:02.0 chip-ID: 8086:9a60 class-ID: 0300
  Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
    driver: nvidia v: 550.67 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2024-02; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: none empty: DP-1, DP-2, HDMI-A-1, eDP-1
    bus-ID: 01:00.0 chip-ID: 10de:2560 class-ID: 0300
  Device-3: Syntek Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-6:3 chip-ID: 174f:2459
    class-ID: fe01 serial: <filter>
  Display: x11 server: X.org v: with: Xwayland v: 23.2.4
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    alternate: fbdev,intel,nouveau,nv,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-2 model: AU Optronics 0x449d built: 2018 res: 1920x1080
    hz: 144 dpi: 128 gamma: 1.2 size: 382x215mm (15.04x8.46") diag: 438mm (17.3")
    ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia x11: drv: iris inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.0.3-arch1.2
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics (TGL GT1)
    device-ID: 8086:9a60 memory: 30.41 GiB unified: yes
  API: Vulkan v: 1.3.279 layers: 7 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 3060 Laptop GPU driver: nvidia v: 550.67 device-ID: 10de:2560
    surfaces: xcb,xlib
  Device-1: Intel Tiger Lake-H HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3 chip-ID: 8086:43c8
    class-ID: 0403
  Device-2: NVIDIA GA106 High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:228e class-ID: 0403
  Device-3: Texas Instruments PCM2900C Audio CODEC
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 3-11:6 chip-ID: 08bb:29c0 class-ID: 0300
  API: ALSA v: k6.8.1-arch1-1 status: kernel-api tools: N/A
  Server-1: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:43f0 class-ID: 0280
  IF: wlan0 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo RTL8111/8168/8411 driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 58:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp88s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-14:8 chip-ID: 8087:0026
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 4 state: down bt-service: disabled
    rfk-block: hardware: no software: yes address: see --recommends
  Local Storage: total: 2.75 TiB used: 472.91 GiB (16.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:1 vendor: SK Hynix model: HFS001TDE9X084N
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 41010C22 temp: 41.9 C
    scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Kingston model: SNV2S2000G
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: SBM02103 temp: 31.9 C
  ID-1: / raw-size: 99 GiB size: 96.89 GiB (97.87%) used: 24.32 GiB (25.1%)
    fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:3
  ID-2: /boot raw-size: 1023 MiB size: 1021 MiB (99.80%)
    used: 263.3 MiB (25.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:2
  ID-3: /home raw-size: 853.87 GiB size: 839.39 GiB (98.30%)
    used: 335.51 GiB (40.0%) fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:4
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 4 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
  System Temperatures: cpu: 37.0 C mobo: N/A
  Fan Speeds (rpm): N/A
  Memory: total: 32 GiB note: est. available: 31.14 GiB used: 3.55 GiB (11.4%)
  Processes: 357 Power: uptime: 1h 31m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 1 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.41 GiB services: gsd-power,upowerd
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1280 libs: 422 tools: gnome-software,pamac,yay
    pm: flatpak pkgs: 0 Compilers: clang: 17.0.6 gcc: 13.2.1 Shell: Bash
    v: 5.2.26 running-in: kgx inxi: 3.3.33

Have you checked your BIOS/UEFI for the setting? In the last laptop I owned the settings for this where here.

There is no such option in my UEFI.

1 Like

Can’t find the source (am in a hurry, sorry) but I seem to remember on the arch wiki there is an article about there being a bug in the kernel which prevents the battery saving mode to become persistent. I think I remember this was true for Asus laptops?, but an not sure if I remember that correctly.

1 Like

How do you enable/disable Conservation Mode? With a utility (which one), or manually with relevant commands?

There is a new AUR utility that uses some acpi call method for this job, instead of writing to ideapad_acpi. I am not sure whether there is a difference, since it still uses acpi, but you may want to test other utilities.

Not sure if this helps?

Manually by editing /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode.

I also once used this script which does the same.

Later edit: I just tried the electric ray utility but it doesn’t seem to be able to change anything. I choose my desired setting, give it superuser permsion when it asks but nothing changes and the boxes remain unticked.

Perhaps @SemLraug is correct and there is a bug preventing these settings sticking.

I came across this:

And this is the wiki-article I meant:

Other Lenovo users seem to have had problems as well:

I hope this helps.

The feature was fine until recently, and then you just installed Arch from scratch, so it should still work.
Think about any BIOS setting that was changed, or hardware component added/replaced since when the feature was successful.
FWIW there are several new BIOS updates for your model (view latest BIOS Update README). You may want to update to the latest version.

You may also create an issue at any or all relevant utilities bug trackers, for an expert’s advice.

The condition is reported in a strange way (and unusual, since a battery can only degrade in time :stuck_out_tongue_winking_eye: ).

For any other idea, we need some actual logs to review.

  • Post the exact terminal input and output when you attempt to modify and check the sys/bus entry, including error messages.
  • Search journal logs for related messages and post here.

It was like this for me when I bought my new Legion, something like 85/80 watt-hours (also confirmed on Windows)

@radumitrescu you said it worked before, so have you tried if it’s working with the LTS kernel?

Also, you should probably be using LenovoLegionLinux module and tools from https://github.com/johnfanv2/LenovoLegionLinux

I have Legion Slim 5 2023, and conservation mode only works with legion module loaded and active in kernel, ideapad module is not covering half of the laptop’s functionality.

A few kernel updates later and this issue no longer persists. Conservation mode works as intended.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.