I'm struggling with this issue for about two months now.


Phone, when on slowly charge to around 65% (rarely reaches 100%). Around +10%/h. Ampere reports battery overheat, when it's 25-32 C. On diffrent roms reports various capacity.


  1. I replaced the battery with NEW, orginal one.
  2. Tried 5 diffrent kernels, 3 roms, flashing factory image, various chargers.


  1. Nothing change only that new battery lasts a bit longer.
  2. Simple battery stats show very fragmented line (1sec charging/4sec discharging)

  3. Phone charge very fast to 100% ONLY in offline charging with nougat custom kernels. (but in these camera not work)

I started looking in kernels source code. And with this i need your help. (I'm 14 lol). It's certainly not a 100% hardware problem, becouse in offline mode it charges great. But something in hardware must in part stop working. Something that is needed by stock kernel, and charging when powered on. What is the driver/file responsible for controling charging in offline mode?

Additional info:

Fuel gauge is MAX17042 SMB1359 is charger IC In init.qcom.rc there is a comment "Motorola uses its own charger services" "Class charger" in this file is also commented


on charger
    trigger early-fs
    trigger fs
    trigger post-fs
    trigger post-fs-data
    trigger moto-charger
    class_stop main
    class_stop late_start

on moto-charger
    setprop ro.board.platform msm8916
    start  qcom-post-boot
    start charge_only_mode
    start thermal-com
    write /sys/module/lpm_levels/parameters/sleep_disabled 0

on moto-charger && property:ro.boot.secure_hardware=0
    start batt_health

Phone support quick charge with custom kernels. Advanced Charging Control (module) not work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.