Project

General

Profile

Issue #2125

Report battery % / charging

Added by Denis 'GNUtoo' Carikli 7 months ago. Updated 21 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
09/14/2020
Due date:
% Done:

0%

Estimated time:
Resolution:
Device:
Galaxy S 3 (I9300), Unknown
Grant:
Type of work:
C programming
#1

Updated by Victor Shilin about 1 month ago

The battery driver needs to use VF SOC register in order to report the charge percentage correctly (the following patch by Wolfgang Wiedmeyer made this work on Replicant 11: https://github.com/fourkbomb/linux/commit/7da07efcb2efc5df8fd7ab0be01a7b0b7a483998).
The charger driver reports "Discharging" (in the status sysfs node) even when the cable is connected (the "online" sysfs node, however, is showing the value "1").
I tried to force the "status" node to return "Charging" instead (whenever the "online" node reports value "1"), but this didn't help (need to investigate how exactly the healthd service detects charging).

#2

Updated by Kurtis Hanna 27 days ago

Not sure if this helps at all, but here is a max17047 related commit from upstream that was added a few months ago. https://patchwork.kernel.org/project/linux-samsung-soc/patch/20201210212534.216197-3-krzk@kernel.org/

#3

Updated by _I3^ RELATIVISM 23 days ago

  • Type of work C programming added
#4

Updated by Victor Shilin 21 days ago

healthd service detected device charging after setting the charger driver type from POWER_SUPPLY_TYPE_BATTERY to POWER_SUPPLY_TYPE_MAINS:
https://github.com/Midas-Mainline/android_kernel_samsung_smdk4412/commit/f91cadd693f173d671f15a6d9386dcb2a033f5b2

Not sure if this the correct way to resolve the issue, though.
smdk4412 kernel instead use "samsung_fake_battery" driver to create "usb" and "ac" power supplies:
https://github.com/LineageOS/android_kernel_samsung_smdk4412/blob/lineage-17.0/drivers/power/samsung_fake_battery.c#L339

Also available in: Atom PDF