psu plugged in and laptop powered on.
What should one expect to see when the FW16 is without a dGPU?
I expected:
with the psu plugged in, I expected the battery to stay at 80%, and only when the psu was unplugged that it would drop to below 60%
when the psu is plugged in again, it charge up to 60% limit.
What happend:
with the psu plugged in, it discharged to 60% immediately.
With the charge now at 60%, what is it doing behind the scenes? It is taking all power from the psu and not touching the battery, or is it doing quick cycles, discharge a little, then recharge?
Edit: it is doing quick cycles.
It does seem odd to me.
I have found a way to stop it trying to charge or discharge the battery when you donât want it to. With the psu plugged in: ectool chargecontrol idle
This lets you monitor the battery so you can check it is not charging and staying steady: ectool battery
Battery 0 info:
OEM name: NVT
Model number: FRANDBAT01
Chemistry : LION
Serial number: 0084
Design capacity: 5491 mAh
Last full charge: 5269 mAh
Design output voltage 15480 mV
Cycle count 70
Present voltage 16016 mV
Present current 0 mA
Remaining capacity 3145 mAh
Desired voltage 17800 mV
Desired current 5491 mA
Flags 0x0b AC_PRESENT BATT_PRESENT CHARGING
Note that the âPresent currentâ is zero and that âRemaining Capacityâ stays constant.
The FLAGs saying CHARGING donât seem to be very accurate.
Present current > 0 == charging.
Present current < 0 == discharging.
Each time you unplug the psu, the âidleâ changes to ânormalâ.
When you plug the psu back in, you have to re-type the idle one: ectool chargecontrol idle
Anyway, at least I have a work around, so that it never messes with the battery when I have the psu plugged in now.
Fun new thing found.
If the charge limit is set to 60%.
If I put it to sleep with the psu connected , it happily goes charging above 60%.
Then when I resume the laptop, it self discharges back to 60%.
I then have to use the idle again to stop it messing about. ectool chargecontrol idle
I have taken a look at the EC source code, and the battery management code is not exactly easy to follow. The logic rules it follows is also unclear.
Its going to take a while to understand it.
It is not a 1) gather current state and parameters 2) make decisions to charge, discharge or idle 3) Do action.
There are also cases where it chooses to disconnect the psu even when it is plugged in and letâs the battery discharge instead. I donât understand the use case for that.
Another observation.
Without charging the battery to max charge, the battery stats âlevel of last full chargeâ seems to vary with different reads of the battery stats (ectool battery). I would have thought that figure would be constant until the next full charge.
If you set the target to 60% and the battery is at more then 60% then it makes sense that it discharge the battery to reach the target even if the laptop is plugged in.
Oh well. That makes no sense to me. As a user, my expectation is that if the PSU is plugged in, the battery should not discharge at all.
Also, say if the hysteresis was set to a range of say 55% - 60%, the battery was charging up to 60%, then discharging to 55%, then charging to 60% is a continuous cycle with the PSU plugged in all the while.
If the PSU is plugged in, simple not discharging when the PSU is plugged in would be more sensible.