Thinkpad E330, battery stop charging at 80%

I have to admit upfront that I’m doing a bad practice of having multiple DE. I use i3 mainly, and Cinnamon for the occasional need to plug my laptop to projector or LCD screen in the class, because it’s easier to mirror or extend screen in a DE.

I noticed this charging issue recently after I tried COSMIC to try Wayland because this laptop uses Nvidia card. It did not last long because COSMIC lags very badly for some reason.

As I said the laptop is a Thinkpad E330. The battery is new, I just bought it more or less a month ago.

Here’s some detail about my battery as of the time of this writing.

acpi -V
Battery 0: Not charging, 80%
Battery 0: design capacity 3944 mAh, last full capacity 3678 mAh = 93%
Adapter 0: on-line
Thermal 0: ok, 43.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 126.0 degrees C
Thermal 1: ok, 52.0 degrees C
Thermal 1: trip point 0 switches to mode critical at temperature 103.0 degrees C
Cooling 0: Processor 0 of 10
Cooling 1: Processor 0 of 10
Cooling 2: Processor 0 of 10
Cooling 3: intel_powerclamp 0 of 100
Cooling 4: Processor 0 of 10
Cooling 5: x86_pkg_temp no state information available

output of cat /sys/class/power_supply/BAT0/{charge_stop_threshold,charge_start_threshold}:

75
75

the /sys/class/power_supply/BAT0/status is Discharging when unplugged, and Not charging when plugged in.

I tried sudo tee the charge_stop_threshold to 90 and charge_start_threshold to 30, based on this thread at Arch Linux Forum , but when I cat each of them, they remain at 75.

Here’s the usual inxi output.

output of `inxi -Fxxc0z`
System:
  Kernel: 6.12.37-1-lts arch: x86_64
    bits: 64 compiler: gcc v: 15.1.1
  Desktop: i3 v: 4.24 dm: LightDM
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Laptop System: LENOVO
    product: 3354AK9 v: ThinkPad Edge E330
    serial: <superuser required> Chassis:
    type: 10 serial: <superuser required>
  Mobo: LENOVO model: 3354AK9
    serial: <superuser required>
    part-nu: LENOVO_MT_3354
    UEFI-[Legacy]: LENOVO v: H3ET65WW(1.02)
    date: 09/12/2012
Battery:
  ID-1: BAT0 charge: 27.3 Wh (61.3%)
    condition: 44.5/47.7 Wh (93.3%)
    volts: 11.5 min: 10.8
    model: SANYO 45N1057 serial: <filter>
    status: discharging
CPU:
  Info: dual core
    model: Intel Core i5-3210M bits: 64
    type: MT MCP arch: Ivy Bridge rev: 9
    cache: L1: 128 KiB L2: 512 KiB
    L3: 3 MiB
  Speed (MHz): avg: 1726
    min/max: 1200/3100 cores: 1: 1726 2: 1726
    3: 1726 4: 1726 bogomips: 19967
  Flags: avx ht lm nx pae sse sse2 sse3
    sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel 3rd Gen Core processor
    Graphics vendor: Lenovo driver: i915
    v: kernel arch: Gen-7 ports:
    active: LVDS-1
    empty: DP-1,HDMI-A-1,VGA-1
    bus-ID: 00:02.0 chip-ID: 8086:0166
  Device-2: NVIDIA GF119M [GeForce 610M]
    vendor: Lenovo driver: N/A arch: Fermi
    pcie: speed: 2.5 GT/s lanes: 16
    bus-ID: 01:00.0 chip-ID: 10de:1058
  Device-3: Lite-On Integrated Camera
    driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1
    bus-ID: 2-1.5:4 chip-ID: 04ca:700c
  Display: x11 server: X.Org v: 21.1.18
    with: Xwayland v: 24.1.8
    compositor: Picom v: 12.5 driver: X:
    loaded: modesetting
    alternate: fbdev,intel,vesa dri: crocus
    gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-dpi: 96
  Monitor-1: LVDS-1
    model: AU Optronics 0x312c res: 1366x768
    hz: 60 dpi: 118 diag: 336mm (13.2")
  API: EGL v: 1.5 platforms: device: 0
    drv: crocus device: 1 drv: swrast gbm:
    drv: crocus surfaceless: drv: crocus
    x11: drv: crocus inactive: wayland
  API: OpenGL v: 4.5 compat-v: 4.2
    vendor: intel mesa v: 25.1.5-arch1.1
    glx-v: 1.4 direct-render: yes
    renderer: Mesa Intel HD Graphics 4000
    (IVB GT2) device-ID: 8086:0166
  API: Vulkan Message: No Vulkan data
    available.
  Info: Tools: api: clinfo, eglinfo,
    glxinfo, vulkaninfo
    de: xfce4-display-settings
    gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel 7 Series/C216 Family
    High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel
    bus-ID: 00:1b.0 chip-ID: 8086:1e20
  API: ALSA v: k6.12.37-1-lts
    status: kernel-api
  Server-1: PipeWire v: 1.4.6
    status: active with: 1: pipewire-pulse
    status: active 2: wireplumber
    status: active 3: pipewire-alsa
    type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Intel Centrino Wireless-N 2230
    driver: iwlwifi v: kernel pcie:
    speed: 2.5 GT/s lanes: 1
    bus-ID: 03:00.0 chip-ID: 8086:0888
  IF: wlan0 state: up mac: <filter>
  Device-2: Realtek
    RTL8111/8168/8211/8411 PCI Express
    Gigabit Ethernet vendor: Lenovo
    driver: r8169 v: kernel pcie:
    speed: 2.5 GT/s lanes: 1 port: 2000
    bus-ID: 09:00.0 chip-ID: 10ec:8168
  IF: enp9s0 state: down mac: <filter>
Drives:
  Local Storage: total: 298.09 GiB
    used: 54.4 GiB (18.3%)
  ID-1: /dev/sda vendor: Western Digital
    model: WD3200BEVT-22A23T0
    size: 298.09 GiB speed: 3.0 Gb/s
    serial: <filter>
Partition:
  ID-1: / size: 76.35 GiB
    used: 29.65 GiB (38.8%) fs: ext4
    dev: /dev/sda1
  ID-2: /home size: 28.67 GiB
    used: 24.75 GiB (86.3%) fs: ext4
    dev: /dev/sda5
Swap:
  ID-1: swap-1 type: partition
    size: 8.8 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sda2
Sensors:
  System Temperatures: cpu: 53.0 C
    mobo: N/A
  Fan Speeds (rpm): cpu: 0 fan-2: 0
Info:
  Memory: total: 8 GiB note: est.
    available: 6.81 GiB
    used: 3.16 GiB (46.4%)
  Processes: 255 Power: uptime: 1h 40m
    wakeups: 1 Init: systemd v: 257
    default: graphical
  Packages: pm: pacman pkgs: 1655
    Compilers: clang: 20.1.7 gcc: 15.1.1
    Shell: Bash v: 5.3.0
    running-in: xfce4-terminal inxi: 3.3.38

Any solutions or ideas to fix this? I need it to charge at least to 90 percent because I often find myself away from power cord and I would like to have an extended battery power usage.

Edit: typos

I have read anywhere, there exists some ‘Battery protection’, i.e. to fill them not more than xx%.
The tool or driver therefor is guaranteed Win-only…
If you are lucky, you may find something in your BIOS.
I think you should search in this direction.

1 Like

I’ve read the same… it’s a feature, not a bug :roll_eyes: Supposed to save the battery’s life from itself.

There’s likely a battery management setting somewhere out there. Wish I could actually be of help, but I know nothing of Thinkpads these days.

What’s the output of the following command?

ls /sys/class/power_supply/BAT0/