VR-25 / acc

Advanced Charging Controller
https://github.com/Magisk-Modules-Repo/acc
GNU General Public License v3.0
1.71k stars 107 forks source link

Battery is slowly draining with Idle mode enabled #246

Closed PootisManTF2 closed 5 months ago

PootisManTF2 commented 5 months ago

Hi,

My phone is a OnePlus 12 running android 14.

When I enable idle mode with "acc -d", the battery charge percentage still decreases though very slowly, maybe 1% within 2-3 hours.

I noticed this when I was playing all day on my phone and at the end of my gaming session the phone had a 2-3% lower battery charge than at the start.

I also noticed that in the AIDA64 app, it says the phone is draining 0.01 mA (even more while I play games) with Idle mode on: Capture d'écran 2024-03-26 155544 (I'm not sure why but it shows "charge rate" when it's not plugged and actually disgarching but also when it's plugged with Idle mode on, while it's showing "discharge rate" when it's plugged and really charging)

VR-25 commented 5 months ago

If you remove the battery and store it somewhere, it'll inevitably discharge, because physics. Idle mode essentially disconnects the battery from the charger. The only difference when compared to physical disconnection is that in idle mode, if the charger can't provide enough power to feed the device, some battery is used to compensate. Under high temperature, the self-discharge rate increases.

That said, there's also emulated idle mode (uses voltage switch or tight capacity/millivolts thresholds). This one keeps the battery charge relatively constant. The battery works as a buffer.

PootisManTF2 commented 5 months ago

If you remove the battery and store it somewhere, it'll inevitably discharge, because physics. Idle mode essentially disconnects the battery from the charger. The only difference when compared to physical disconnection is that in idle mode, if the charger can't provide enough power to feed the device, some battery is used to compensate. Under high temperature, the self-discharge rate increases.

That said, there's also emulated idle mode (uses voltage switch or tight capacity/millivolts thresholds). This one keeps the battery charge relatively constant. The battery works as a buffer.

But I used to use ACC on my old OnePlus 8T, and with Idle mode on the battery percentage never went down even 1% while I've had it enabled for the whole day many times. Even with the natural discharge of the battery, it shouldn't be fast to the point I lose 1% every few hours...

VR-25 commented 5 months ago

Bad thermal management and/or other ROM/kernel issues are also behind this kind of problem.

Try the new build below. Run acc --set thermal_suspend=full (or acc -s ts=full) after installing. To know more about this variable, run acc -c h ts.

acc_v2024.3.30-rc_202403300_1924.zip

PootisManTF2 commented 5 months ago

Bad thermal management and/or other ROM/kernel issues are also behind this kind of problem.

Try the new build below. Run acc --set thermal_suspend=full (or acc -s ts=full) after installing. To know more about this variable, run acc -c h ts.

acc_v2024.3.30-rc_202403300_1924.zip

Thanks I'll try, but freezing the whole thermal management process won't fry my phone, right? Does it disable the automatic CPU throttling etc?

VR-25 commented 5 months ago

No, it won't fry anything. That's just one - the uppermost layer of thermal management. It also happens to interfere with useful features, like idle mode. It controls mainly the charging current.

PootisManTF2 commented 5 months ago

No, it won't fry anything. That's just one - the uppermost layer of thermal management. It also happens to interfere with useful features, like idle mode. It controls mainly the charging current.

So I tried the thing you mentioned, but it doesn't seem to have changed anything :/

Capture d'écran 2024-04-02 220349 Capture d'écran 2024-04-02 220324

The top screenshot is at the beginning and the bottom one is 6 hours after, you can see the mAh decreased and the battery percentage is 1% lower

VR-25 commented 5 months ago

A 1% drop in 6 hours is pretty normal. Again, native idle mode is pretty much like disconnecting the battery. Slow self-discharge is a thing, because Physics.

PootisManTF2 commented 5 months ago

A 1% drop in 6 hours is pretty normal. Again, native idle mode is pretty much like disconnecting the battery. Slow self-discharge is a thing, because Physics.

I left my old OnePlus 8T on Idle mode for almost 2 hours and the amount of mAh didn't even drop by one compared to my new OnePlus 12... IMG_20240405_154343 IMG_20240405_154334

Also, with Idle mode enabled on my OnPus 8T, BatteryGuru reports 0 mAh of charge (which is normal for idle mode) while on my OnePlus 12 it shows some low numbers, that's not normal is it?

OnePlus 8T: IMG_20240405_153519

OnePlus 12: IMG_20240405_154042

VR-25 commented 5 months ago

This means the OP12 has something that tries to fight against acc. Try v2024.4.7.1-rc (acc --upgrade). If it still doesn't help, experiment with another idle switch and/or acc --set force_off=true.

PootisManTF2 commented 4 months ago

I've tried with force_off=true and it didn't change anything :/

I only have one working idle switch apparently, is it bad news? Screenshot_2024-04-11-22-41-25-54_84d3000e3f4017145260f7618db1d683