upower abruptly thinks battery has gone to 1% and hibernates
Whenever I go on battery after 20-30 minutes upower will very abruptly think my battery is at 1% and force my laptop to hibernate. This seems to happen at random times, I've seen it when my battery was reported to be 90%, 76%, 45%, 25%, etc. If I try to resume Ubuntu locks up forcing me to hard reset the machine. I suspect this is because upower thinks my battery is still at 1% when its not. My laptops firmware correctly reports the battery level and shows that I have plenty of power remaining. The last few times this happened I kept powertop up which shows that I do have plenty of power even when upower thinks I have none. Essentially this makes my laptop unusable on battery.
Laptop: Lenovo X1 Carbon Extreme Gen 2
I've been monitoring upower and I think the problem is it is incorrectly detecting the number of batteries in my laptop. I only have one yet upower detects 5 power sources. One of them is a DisplayDevice which normally shows the same amount of battery as my system battery. Sometimes that drops to 1% or 0%. I've had my laptop plugged in all day here are two upower -d dumps from within the last 5 minutes. Notice in the first dump /org/freedesktop/UPower/devices/DisplayDevice has 0% battery despite the laptop being plugged in. On the second it has the same engery, energy-full, and percentage as /org/freedesktop/UPower/devices/battery_BAT0.
$ upower -d
Device: /org/freedesktop/UPower/devices/line_power_AC
native-path: AC
power supply: yes
updated: Mon 30 Nov 2020 02:36:20 PM PST (13554 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: yes
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: Celxpert
model: 5B10V98091
serial: 1695
power supply: yes
updated: Mon 30 Nov 2020 06:20:22 PM PST (112 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
warning-level: none
energy: 0 Wh
energy-empty: 0 Wh
energy-full: 654.79 Wh
energy-full-design: 80.4 Wh
energy-rate: 0 W
voltage: 7.189 V
percentage: 0%
capacity: 88.4453%
technology: lithium-polymer
icon-name: 'battery-caution-charging-symbolic'
History (charge):
1606789222 0.000 charging
Device: /org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o001
native-path: ucsi-source-psy-USBC000:001
power supply: yes
updated: Fri 27 Nov 2020 02:59:19 PM PST (271375 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: no
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o002
native-path: ucsi-source-psy-USBC000:002
power supply: yes
updated: Fri 27 Nov 2020 02:59:18 PM PST (271376 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: no
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/DisplayDevice
power supply: yes
updated: Mon 30 Nov 2020 06:20:22 PM PST (112 seconds ago)
has history: no
has statistics: no
battery
present: yes
state: charging
warning-level: none
energy: 0 Wh
energy-full: 654.79 Wh
energy-rate: 0 W
percentage: 0%
icon-name: 'battery-caution-charging-symbolic'
Daemon:
daemon-version: 0.99.11
on-battery: no
lid-is-closed: no
lid-is-present: yes
critical-action: HybridSleep
$ upower -d
Device: /org/freedesktop/UPower/devices/line_power_AC
native-path: AC
power supply: yes
updated: Mon 30 Nov 2020 02:36:20 PM PST (13733 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: yes
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: Celxpert
model: 5B10V98091
serial: 1695
power supply: yes
updated: Mon 30 Nov 2020 06:24:22 PM PST (51 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
warning-level: none
energy: 71.71 Wh
energy-empty: 0 Wh
energy-full: 654.79 Wh
energy-full-design: 80.4 Wh
energy-rate: 0 W
voltage: 17.173 V
percentage: 99%
capacity: 88.4453%
technology: lithium-polymer
icon-name: 'battery-full-charged-symbolic'
Device: /org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o001
native-path: ucsi-source-psy-USBC000:001
power supply: yes
updated: Fri 27 Nov 2020 02:59:19 PM PST (271554 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: no
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o002
native-path: ucsi-source-psy-USBC000:002
power supply: yes
updated: Fri 27 Nov 2020 02:59:18 PM PST (271555 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: no
icon-name: 'ac-adapter-symbolic'
Device: /org/freedesktop/UPower/devices/DisplayDevice
power supply: yes
updated: Mon 30 Nov 2020 06:22:22 PM PST (171 seconds ago)
has history: no
has statistics: no
battery
present: yes
state: fully-charged
warning-level: none
energy: 71.71 Wh
energy-full: 654.79 Wh
energy-rate: 0 W
percentage: 99%
icon-name: 'battery-full-charged-symbolic'
Daemon:
daemon-version: 0.99.11
on-battery: no
lid-is-closed: no
lid-is-present: yes
critical-action: HybridSleep