Can't calibrate battery on HP Pavilion x360


Short question: I lost my battery calibration after erase windows partition in a dual installation with Manjaro. My battery stop charging at 80%, then 60%, now it stops charging at 38% and I can’t find how to calibrate my battery without having to install windows again.

Also, but after that, trying to solve that issue, I think my BIOS is getting errors after updating it to the last version.

I bought my HP Pavilion x360 Convertible about 4 years ago, it came with windows 10. I used it in dual mode with GNU/Linux without any major issue related to battery until last october when I had to take it to the official HP local service desk to change my old battery.

They did the work and after that, an auto windows update stole my manjaro grub, so I had to recover it. After that episode I decided to erase Windows and use only Manjaro.

BUT, after erase all windows partition battery started to charge until 80%, then 60%, then 50%. So I tried to calibrate it, but I couldn’t because it seems THERE ISN’T any HP Support for Linux.

So, I reinstalled Windows 11 (not 10 that I had before). Installed HP Hardware Tool and recalibrated the battery. The app suggested to update my bios, and not listening my intuition, I updated it.

After that Windows nor Manjaro couldn’t hibernate because system stops, and turn off, When I put it on again BIOS says it is corrupted and suggest to recover. So I deactivated hibernation even when I close laptop.

After that, battery recalibrated but showing 80%. After that started to decrease “full charge” percentaje again. This happened in both systems, windows and Manjaro. I recalibrated couple of times again and it got better but not charging to 100% as before all that.

Then I concluded even windows couldn’t managed to recalibrate my battery.

Finally, I thought a new Manjaro fresh install over a formatted entire disk would solve the problem. I did it, Manjaro works very good, BUT, again, my battery stops charging at less and less percentaje. Again I’m at 38%. and I can’t hibernate. My battery charge doesn’t last more than the showed percentaje, so I think my battery doesn´t get full charge and show a false low %.


About battery:

  • ¿How can I calibrate my battery without having to install windows again?

About BIOS:

  • I have an USB BIOS repair stick waiting to run, but I don’t want to take that risk because I know that It could brake my laptop and I need it to finish mi thesis. But I don’t know if it could resolve the issue and have to take the risk if it is the only possible solution.

Thanks in advance,

I only found this thread that could be related but it’s closed now:

Some details for my system info:

  Kernel: 6.1.21-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=863b06ed-9817-4d3a-92ae-45321c1ece89 rw quiet splash
  Desktop: KDE Plasma v: 5.27.3 tk: Qt v: 5.15.8 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
  Type: Convertible System: HP product: HP Pavilion x360 Convertible 14-dh1xxx
    v: Type1ProductConfigId serial: <superuser required> Chassis: type: 31
    serial: <superuser required>
  Mobo: HP model: 866E v: 90.05 serial: <superuser required> UEFI: Insyde
    v: F.03 date: 08/01/2019
  ID-1: BAT0 charge: 10.1 Wh (23.8%) condition: 42.5/42.5 Wh (100.0%)
    volts: 11.7 min: 11.3 model: 333-1C-3B-A HT03041XL type: Li-ion
    serial: <filter> status: discharging
  Device-1: hid-0018:04F3:23DB.0001-battery model: ELAN2514:00 04F3:23DB
    serial: N/A charge: N/A status: N/A
  RAM: total: 7.46 GiB used: 5.25 GiB (70.3%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
  Info: model: Intel Core i7-10510U bits: 64 type: MT MCP
    arch: Comet/Whiskey Lake note: check gen: core 10 level: v3 note: check
    built: 2018 process: Intel 14nm family: 6 model-id: 0x8E (142)
    stepping: 0xC (12) microcode: 0xF4
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 1737 high: 2300 min/max: 400/4900 scaling:
    driver: intel_pstate governor: powersave cores: 1: 2300 2: 800 3: 2300
    4: 2300 5: 2300 6: 800 7: 800 8: 2300 bogomips: 36812
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs
    ibrs_enhanced ida intel_pt invpcid invpcid_single lahf_lm lm mca mce
    md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe
    pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdrand
    rdseed rdtscp rep_good sdbg sep sgx smap smep ss ssbd sse sse2 sse4_1
    sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust
    tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt
    xsaves xtopology xtpr

  Device-1: Intel CometLake-U GT2 [UHD Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:9b41
    class-ID: 0300
  Device-2: Cheng Uei Precision Industry (Foxlink) HP Wide Vision HD Camera
    type: USB driver: uvcvideo bus-ID: 1-4:3 chip-ID: 05c8:03d3 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 compositor: kwin_x11 driver: X:
    loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: BOE Display 0x082c built: 2018 res: 1920x1080
    hz: 60 dpi: 158 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 23.0.1 renderer: Mesa Intel UHD Graphics (CML GT2)
    direct-render: Yes
  Device-1: Intel Comet Lake PCH-LP cAVS vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:02c8
    class-ID: 0403
  API: ALSA v: k6.1.21-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.67 status: off with: wireplumber status: active
    tools: pw-cli,wpctl
  Server-3: PulseAudio v: 16.1 status: active tools: pacat,pactl
  Device-1: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
    vendor: Hewlett-Packard driver: rtw_8821ce v: N/A pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 06:00.0 chip-ID: 10ec:c821
    class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
  Device-1: Realtek Bluetooth 4.2 Adapter type: USB driver: btusb v: 0.8
    bus-ID: 1-10:5 chip-ID: 0bda:b00a class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
  Message: No logical block device data found.
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
    v: 3.0 port: 5060 bus-ID: 00:17.0 chip-ID: 8086:282a rev: class-ID: 0104
  Local Storage: total: 447.13 GiB used: 80.83 GiB (18.1%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: A-Data model: SU650NS38
    size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 429a scheme: GPT
  Message: No optical or floppy data found.
  ID-1: / raw-size: 446.83 GiB size: 438.75 GiB (98.19%)
    used: 80.83 GiB (18.4%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 863b06ed-9817-4d3a-92ae-45321c1ece89
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 312 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1 label: N/A
    uuid: A102-AC6E
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 512 MiB used: 502.5 MiB (98.2%) priority: -2
    file: /swapfile
  Message: No unmounted partitions found.
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-2:2 info: SHARKOON GmbH 2.4GHz Wireless rechargeable vertical
    mouse [More&Better] type: Mouse driver: hid-generic,usbhid interfaces: 1
    rev: 1.1 speed: 12 Mb/s power: 100mA chip-ID: 1ea7:0064 class-ID: 0301
  Device-2: 1-4:3 info: Cheng Uei Precision Industry (Foxlink) HP Wide
    Vision HD Camera type: Video driver: uvcvideo interfaces: 2 rev: 2.0
    speed: 480 Mb/s power: 500mA chip-ID: 05c8:03d3 class-ID: 0e02
  Device-3: 1-5:4 info: Synaptics type: <vendor specific> driver: N/A
    interfaces: 1 rev: 2.0 speed: 12 Mb/s power: 100mA chip-ID: 06cb:00cb
    class-ID: ff00 serial: <filter>
  Device-4: 1-10:5 info: Realtek Bluetooth 4.2 Adapter type: Bluetooth
    driver: btusb interfaces: 2 rev: 1.1 speed: 12 Mb/s power: 500mA
    chip-ID: 0bda:b00a class-ID: e001 serial: <filter>
  Hub-2: 2-0:1 info: Super-speed hub ports: 6 rev: 3.1 speed: 10 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  System Temperatures: cpu: 44.0 C pch: 41.0 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 248 Uptime: 5h 17m wakeups: 3 Init: systemd v: 252
  default: graphical tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7
  Packages: pm: pacman pkgs: 1542 libs: 352 tools: pamac,yay pm: flatpak
  pkgs: 0 Shell: Zsh v: 5.9 default: Bash v: 5.1.16 running-in: yakuake
  inxi: 3.3.26

Hello @omnibus :wink:

Usually you can recalibrate the battery if a driver is available. I doubt that HP has any Linux-Driver, so ThinkPads are the only devices which support recalibration actually on Linux.

Battery Care Vendor Specifics — TLP 1.5 documentation

For ThinkPad laptops, you need the driver acpi_call → example: linux61-acpi_call

Only the threshold is supported with some devices.

Confirm it with that output:

sudo tlp-stat --battery

As I see charge and status are not available, I would say it has only basic functionalities.

1 Like

@megavolt Thanks for your response.

According to the system response my hardware doesn’t have support for Linux driver.

So, I conclude that I have to assume my bad decision of buying an unsupported hardware and try to reinstall a dual boot with windows managing the battery, unless there is some other alternative that will save me .


--- TLP 1.5.0 --------------------------------------------

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

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = 333-1C-3B-A
/sys/class/power_supply/BAT0/model_name                     = HT03041XL
/sys/class/power_supply/BAT0/cycle_count                    =      0 (or not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   3765 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   3765 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   1174 [mAh]
/sys/class/power_supply/BAT0/current_now                    =   1724 [mA]
/sys/class/power_supply/BAT0/status                         = Charging

/sys/class/power_supply/BAT0/charge_control_start_threshold = (not available) 
/sys/class/power_supply/BAT0/charge_control_end_threshold   = (not available) 

Charge                                                      =   31.2 [%]
Capacity                                                    =  100.0 [%]