[TRACKING] Battery flipping between charging and discharging / Draws from battery even on AC

I don’t quite understand either, the problem and its solution are well-researched by many users, the only thing left to do for Framework is to publish an official BIOS EC update that:

  • Increase the input current limit to 100% of PD negotiated current
  • Increase the PROCHOT current to 105% of PD negotiated current
  • When the battery is charged or within -5% to 0% of charge limit, shut off the BGATE.

I’m not a board repair technician so I can’t measure the voltage and the current on board, but I think Framework turned the chg_current = 0mA(a “target” for the buck-boost to pursue) when the battery is full or charged to limit instead of outright shutting down the BGATE. I found that when the battery is charged to 100% Charge mode = NORMAL (0) (not IDLE) and chg_voltage = 17800mV and chg_current = 0mA despite the battery voltage is lower than 17.8V. So I think it’s possible for them to switch off the BGATE if desired. If the battery is partly charged to the charge limit, the chg_voltage is about 1mV to 5mV higher than the battery voltage but Charge mode = IDLE (1). In this case, even when BGATE is off, an instantaneous load even lower than adapter power, can discharge the battery due to the limited reaction speed of the buck-boost compared to bypass.
Another possible reason I guess is that when the BGATE is off if the VSYS is set to 17.8V at all time, an instantaneous load can make the voltage dip large enough and triggering PROCHOT when adapter current spikes despite not reaching VBAT and conduct the BGATE’s body diode

I think a conducting bypass circuit is more efficient, since the only loss is the MOSFET conduction loss, while the majority of buck-boost energy loss is the switching loss, which is a magnitude higher. Another reason is reaction speed, its much harder for a load spike to dip a voltage of a cable than the output voltage of a buck-boost.

About the FL16. The large voltage reduction could be the reason of the frequent EC problem such as GPU power low, battery discharging or CPU 544MHz. According to the converter’s datasheet, bucking 20V to 8.4V(similar to 48V to 20V voltage ratio) has an efficiency of 89% to 95%, and unlike the battery or VRMs, it’s very unlikely for the buck-boost to have readable temperature sensor. It’s likely for the buck converter to overheat when the input is 48V compared to 36V or 24V, in this case the charger could PROCHOT, making the GPU and/or CPU very laggy and hard to troubleshoot. The solution would be adding a radiator or rerouting existing heat pipe to dissipate the buck-boost’s 20~30W heat production

Is there a new problem?
I thought we had diagnosed this problem some while ago now. Why the sudden fresh activity in this thread.

I even made changes to the EC firmware code that some people tried, and they now have stutter free gaming.

Summary:
The stutter was caused by the battery requesting to be re-charged during a game.
When playing a game, the PSU power was used, as well as dipping into the battery at peak usage moment. With the FW firmware, if the battery drops below 5% of what was set in the BIOS, it starts charging again, which causes stutter. My EC firmware allowed the battery to get down to a user select-able low figure (e.g. 20%) before it tries charging again. Thus allowing for a long period of gaming before stutter occurs.
There were various other causes of the “battery flipping”, but my EC firmware cured those also.
So, what is the “new” problem?

1 Like

And much more importantly set the package peak poer to something more reasonable. Also input current prochot can be disable for operation with battery and should be below 100% without.

Since the charge controller handles the battery mosfet that should in theory have the same effect. Important to note turning off the battery mosfet does not prevent discharging just charging. It can still discharge through the body diode of the battery mosfet (with some slight losses from diode drop).

I can’t be bothered to recheck this but if I remember correctly they aren’t really using the charge current limiting of the charge controller and are using some complicated logic on the target voltage instead. Have you read the rest of this thread (with the size I can understand if you have not but we have been over this before)

I don’t think we have observed that, the charge controller is very good at what it does. The big blips happen when the short term consumption exceeds the input current limit. The big blips aren’t some quirk of the charge cirquitry but the apu being told it can pull like 185W peak and doing so.

I have not done overly thorough benchmarking but simple cyberpunk 2077 bult in benchmark was within margin of error if I set peak power to 80W or 185W but one of them dips into battery and the other doesn’t. Going far below 80 on the peak power had some weird effects but 80 seemed fine.

It is not (that was actually my fix for the little blips). In all charge states with a battery present vsys is allways a dynamic value calculated by some logic I do not quite understant. If you have a ccd you can watch it change the target voltage slightly a couple times a second all the time. As far as I understant the fluctuations are mostly from the battery reporting slightly different full charge capacities and the charge limit recalculating. When that does down slightly you get a mini discharge and when it goes up slightly you get a mini charge cycle.

Sure but for one we likely don’t have the hardware for bypass and we are getting power from the wall so the higher efficiency isn’t that big a deal.

The buck boost converter can react really quickly and actually increase the voltage, a wire can not react at all and not raise the voltage so not too sure about that.

The 16 has bypass but also a much more complex power system. But it is largely similar to the 13 just with an extra 48V to 18ishV converter taped to the front (which can also be bypassed).

I kind of doubt that they overlooked testing that.

The charge controller is the same as in the 13 and it would tell you if it is doing prochot. Pretty sure that was not observed when james was testing that.

This heat is likely going straight into the mainboard and getting disapated from there.

Don’t think so but the thread is so big nobody can find stuff XD

so you want everyone in this thread open a support ticket for a problem that is now well documented and even has a potential solution already done?

This will cause more work for all the people involved in here and hours of work in your support department. But if a financial stupid solution is what framework wants, I’ll absolutely open one support ticket after another until a technician implements an official solution

@Matt_Hartley

3 Likes

this is right on point. The problem is rooted on frameworks side and is not hard to re-produce. Many threads for the same issue, this one being over 3 years old… Tons of likes, 56 users and 21k views and it is not getting the attention it deserves.

I suppose l will also go head anyhow and waste the support teams time as it seems like the way im supposed to do it…

2 Likes

hi, iam also facing this issue, can you please help us all .?

Hi everyone,

So our firmware tracker has items that appear similar, but not directly related to this. Bundle this with the inability to repro here (multiple attempts with cycles available to me), tickets were the best approach as suggested previously so it can be escalated to our engineers.

This is where forum posts are not as effective as a proper ticket with logs, and other items engineering might need. We tend to gather these items from tickets or direct firmware filed issues.

That said, there are details and patterns here I will get in front of the engineers.

EDIT: Kieran has responded.

While I do that, if you can please file a bug report directly with them, this will help tremendously. At this stage, this is the single fastest, most effective thing you can do.

Thank you

@James3 any chance of you condensing your findings in a github issue?

I’d do it myself, but I fear I would potentially miscommunicate something

Hi everyone! This is Kieran from Framework, and I can shed some light into this, and our design.

First, This thread is mixing responses from a bunch of different systems, which operate very differently!

To have a discussion around each system we need to split this out into the different platform designs so we do not cross communication, which is happening a lot on this thread (This thread started as 12th gen Intel on 13in ), and has comments from Intel, AMD, 13in and 16in platforms!

To have a proper discussion around the differences please note that all our 13in systems (as of 2025) share a common charger design using a ISL9241 running in NVDC mode.

There are significant differences in how the different platforms are designed to work!

As a general statement, for type-c adapters, to meet performance we allow the CPU to draw peak power loads from the adapter + battery. This is required to achieve peak performance on AC.

First for 13in notebooks:
The charger design generally follows the diagram from above:

We do not enable BYPSG path, and the charger always operates in NVDC mode.
Please do not attempt to turn off BGATE as suggested above! The body diodes in the FETs are only rated for 1-2A, and can be damaged if you turn off these with the system under load!

For 16in AMD Ryzen 7040, we have a much more complex charger design that uses the same ISL9241. However it can operate in either bypass mode (BYPSG enabled), or NVDC buck-boost mode.
When operating in EPR mode (above 20V) it is behind by a 2 phase TI buck converter that regulates 28V-48V down to 20V.
When operating in SPR mode, the ISL9241 is connected directly to the input.

When connected to adapters 100W or below, it operates in NVDC mode.

When connected to adapters > 100W, it operates in bypass mode + reverse turbo. However during peak GPU+CPU current draw it takes a few hundred microseconds to turn around the current from charging the battery to discharging the battery for reverse turbo, which can result in high current transients passed to the charger. Our 180W and 240W adapters are designed to support this as they have a USB-IF standard defined overload spec of 150% for 1ms (which is advertised in the PDO).

For 16in AMD AI 300
We have a TI dual phase buck-boost converter that does not support bypass mode, and operates in NVDC mode always. This helps reduce peak current draw from adapters as it can respond to high current draws on the battery instantly when connected to EPR adapters.
It is proceeded by a 3 level buck converter which is used to step down the input voltage to the battery charger controller when operating at 48V. At 36V and below the 3 level buck converter is switched into bypass mode.

I am out of time for the moment, but will respond more later.

3 Likes

Is it intentional, then, that (at least older) Intel 13in laptops can charge from 5V chargers, but (at least 7x40) AMD ones do not seem to be able to? I could swear (but can’t prove) that I saw a HN comment from someone on the Framework team a couple of years ago touting that you could do it because you hadn’t cheaped out on the charging circuit, so I was quite sad later when my preordered AMD laptop arrived and turned out to be incapable of it.

It is theoretically possible with the hardware we have, however after we moved to newer PD controllers with a newer SDK, this feature was removed by our PD vendor.

Hi,

This is a very long thread that started in September 2022 !!!
When I purchased by FW16 in 2024, I also got involved because I wished to fix some of the problems I saw.
The EC code base is in much better state now, but back in 2024, it was really messy and did some really crazy stuff. There were probably about 10 different bugs all contributing to the problem “Battery flipping”. I would say the EC code has much improved, and I would not call it crazy now.
I don’t think it is helpful to say much more than that about the old stuff, and it is probably worth focusing on the present day EC code and “Battery flipping”.
I still use my own EC code because it gives me total control of the “Battery flipping” and removes any stutter from games.
@Kieran has helpfully described how the FW13, FW16 7040, FW16 AI 300 are intended to behave. I would venture that, at least for the FW16 7840HS, it does not actually behave exactly like that in practice. (caveat, I am using BIOS 3.05, not BIOS 4.xx) The ISL9241, although it can potentially work as Kieran describes, the EC code does not follow that, and limits the power draw from the PSUs to about 85% (I forget what the actual % value is) of their rated values and although the ISL9241 has a feature where short peaks can be programmed, the EC code does not program it.
I have never made any attempts at changing the EC code in that area, because frankly, I would need the full PCB and full Schematics in order to understand if even the PCB traces and FETs could take it, and what all the various resistors / capacitors / VRMs are between the PSU and the CPU.
I think some of the VRMs have I2C interfaces, so potentially we could gather stats from them. I think that would help us get a much better understanding of what happens during peak highs and lows for power draw from the CPU.
I did some measurements of Current/Volts/Watts on the FW16 7840HS, and have seen very short peaks of over 450W. I have no idea if the FW16 PCB traces and components are designed to handle these sorts of peaks or not.
Lastly, the battery itself reacts slowly to demand for more power, when compared with the reaction time of a capacitor, so there might be considerations there also.

As a side note, FW recently sent me a replacement FW16 7840HS mainboard in case it helps with the FTR/FTH problems I am having. The replacement mainboard acts very differently from the old mainboard. I was not expecting that. The old mainboard would hit Tctl 100 C very easily, and pretty much ignore PMF: SPL 45W limits. The new mainboard seems to follow the PMF: SPL 45W power limits and has only ever got to Tctl 80 C so far. The only difference there being the hardware, all the BIOS, EC and OS were identical for new and old mainboard. So, I think there was something wrong with the hardware of the old mainboard that let it get to Tctl 100 C. I only mention this, because there might actually be hardware differences with different users, that make problems even more difficult to reproduce by FW support.

With regards to raising github Issue tickets, I think they are already raised there, a long time ago, and are just dormant. If someone things they are not already raised there, please raise them yourself, being specific to a problem you are experiencing first hand.

2 Likes

I would have thought that with the reports of issues all these years, engineering would have replicated the issue internally by now without the need for “other items engineering might need”. Like, they should have been able to go off and have things internally tested, replicated, collected and figured out.

Customers shouldn’t need to participate in a product-line-wide (not unit-specific issue) multi-year long issue resolution process.

At the same time, Framework has been pushing out the same design for the multiple Intel 13in models…while knowing / having the reported issue? Or are we saying that Framework has yet to confirm that it is an issue all these years?

1 Like

hi, i can upload all ec logs in the github

Mainboard Hardware
Type: Laptop 13 (AMD Ryzen 7040Series)
Revision: MassProduction
UEFI BIOS
Version: 03.17
Release Date: 11/14/2025
EC Firmware
Build version: azalea_v3.4.113391-ec:03829d,os:7b88e1,cmsis:4aa3ff 2025-08-26 08:08:58 marigold1@ip-172-26-3-226
Current image: RO
PD Controllers
Right (01): 0.0.1C (MainFw)
Left (23): 0.0.1C (MainFw)
Touchpad
Firmware Version: v0704

PS C:\WINDOWS\system32> sudo framework_tool --power
Sudo is disabled on this machine. To enable it, go to the Developer Settings page in the Settings app
PS C:\WINDOWS\system32> framework_tool --power
Charger Status
AC is: not connected
Charger Voltage: 16568mV
Charger Current: 0mA
0.00C
Chg Input Current:384mA
Battery SoC: 85%
Battery Status
AC is: not connected
Battery is: connected
Battery LFCC: 3187 mAh (Last Full Charge Capacity)
Battery Capacity: 2707 mAh
44.819 Wh
Charge level: 84%
Battery discharging
PS C:\WINDOWS\system32> framework_tool --power -vv
Charger Status
AC is: not connected
Charger Voltage: 16560mV
Charger Current: 0mA
0.00C
Chg Input Current:384mA
Battery SoC: 85%
Battery Status
AC is: not connected
Battery is: connected
Battery LFCC: 3187 mAh (Last Full Charge Capacity)
Battery Capacity: 2705 mAh
44.802 Wh
Charge level: 84%
Manufacturer: NVT
Model Number: Framewo
Serial Number: 0192
Battery Type: LION
Present Voltage: 16.563 V
Present Rate: 363 mA
Design Capacity: 3572 mAh
55.8 Wh
Design Voltage: 15.400 V
Cycle Count: 185
Battery discharging
PS C:\WINDOWS\system32> framework_tool.exe --console follow
4200 SB-RMI Error: 4]
PORT80: 0004
[3028.496400 Sustainer disabled]
PORT80: 0005
[3028.709700 update charger!!]
[3028.720300 AC on]
[3028.723700 event set 0x0000000000000008]
[3028.741400 update charger!!]
[3028.755000 AC off]
[3028.758500 event set 0x0000000000000010]
PORT80: AA82
[3028.786000 event set 0x0800000000000000]
[3028.808100 Battery 85% (Display 84.9 %) / 7h:56 to empty]
[3028.811400 charge_request(17400mV, 3572mA)]
[3028.876100 event set 0x0800000000000000]
[3028.897800 Battery 85% (Display 84.9 %) / 7h:56 to empty]
[3029.130800 event set 0x0800000000000000]
[3029.377400 event set 0x0800000000000000]
[3029.511400 Sustainer disabled]
[3029.550100 SB-SMI: Mailbox transfer timeout]
[3029.551000 SB-RMI Error: 4]
PORT80: 0005
[3030.557100 Sustainer disabled]
PORT80: 0004
[3031.181200 HC 0x00a0]
[3031.255100 update charger!!]
[3031.265600 AC on]
[3031.271000 event set 0x0000000000000008]
[3031.286700 update charger!!]
[3031.297500 AC off]
[3031.300600 event set 0x0000000000000010]
[3031.338900 Battery 85% (Display 84.9 %) / 8h:8 to empty]
[3031.340300 charge_request(17400mV, 3572mA)]
[3031.393300 Battery 85% (Display 84.9 %) / 8h:8 to empty]
PORT80: 0005
[3031.596500 Sustainer disabled]
PORT80: 0004
[3032.621900 Sustainer disabled]
[3033.643700 Sustainer disabled]
[3034.658400 Sustainer disabled]
[3035.678800 Sustainer disabled]
[3036.704600 Sustainer disabled]
[3037.724900 Sustainer disabled]
[3038.397300 Battery 85% (Display 84.8 %) / 8h:40 to empty]
[3038.739600 Sustainer disabled]
[3039.760300 Sustainer disabled]
[3040.786200 Sustainer disabled]
[3041.812300 Sustainer disabled]
[3042.827200 Sustainer disabled]
[3043.842100 Sustainer disabled]
[3044.870500 Sustainer disabled]
[3045.358000 update charger!!]
[3045.363700 AC on]
[3045.364900 event set 0x0000000000000008]
PORT80: AA8E
[3045.388400 update charger!!]
[3045.398300 AC off]
[3045.399400 AC BEST EFFICIENCY]
[3045.400200 event set 0x0000000000000010]
PORT80: AA8F
[3045.890500 Sustainer disabled]
PORT80: AA83
[3046.364600 update charger!!]
[3046.370100 AC on]
[3046.371600 DC BEST EFFICIENCY]
[3046.372900 event set 0x0000000000000008]
PORT80: AA8F
[3046.394600 update charger!!]
[3046.403500 AC off]
[3046.404900 event set 0x0000000000000010]
[3046.423700 Battery 85% (Display 84.8 %) / 8h:9 to empty]
[3046.425100 charge_request(17400mV, 3572mA)]
[3046.478600 Battery 85% (Display 84.8 %) / 8h:9 to empty]
[3046.910800 Sustainer disabled]
PORT80: 0005
[3047.925600 Sustainer disabled]
PORT80: 0004
[3048.943400 Sustainer disabled]
[3048.971200 update charger!!]
[3048.977900 AC on]
[3048.979600 event set 0x0000000000000008]
[3049.006300 update charger!!]
[3049.015500 AC off]
[3049.016700 event set 0x0000000000000010]
[3049.039800 Battery 85% (Display 84.8 %) / 7h:20 to empty]
[3049.041200 charge_request(17400mV, 3572mA)]
[3049.093500 Battery 85% (Display 84.8 %) / 7h:20 to empty]
PORT80: 0005
[3049.970300 Sustainer disabled]
[3050.248000 HC 0x00a0]
PORT80: 0004
[3050.990700 Sustainer disabled]
[3052.011000 Sustainer disabled]
[3053.031300 Sustainer disabled]
[3054.046100 Sustainer disabled]
[3055.069200 Sustainer disabled]
[3056.089100 Sustainer disabled]
[3056.598600 update charger!!]
[3056.604100 AC on]
[3056.605700 event set 0x0000000000000008]
PORT80: AA8F
[3056.630400 update charger!!]
[3056.638200 AC off]
[3056.639400 AC BEST EFFICIENCY]
[3056.640500 event set 0x0000000000000010]
[3056.661700 Battery 85% (Display 84.8 %) / 7h:44 to empty]
[3056.663100 charge_request(17400mV, 3572mA)]
[3056.670700 update charger!!]
[3056.675900 AC on]
[3056.677300 event set 0x0000000000000008]
[3056.700800 update charger!!]
[3056.709200 AC off]
[3056.710400 event set 0x0000000000000010]
[3056.730900 Battery 85% (Display 84.8 %) / 7h:44 to empty]
[3057.109400 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3058.130000 Sustainer disabled]
[3058.132600 DC BEST EFFICIENCY]
PORT80: 0005
[3059.145700 Sustainer disabled]
[3060.166200 Sustainer disabled]
[3061.181100 Sustainer disabled]
[3062.196000 Sustainer disabled]
[3063.216600 Sustainer disabled]
[3064.231200 Sustainer disabled]
[3065.149100 update charger!!]
[3065.158200 AC on]
[3065.159800 event set 0x0000000000000008]
[3065.179500 update charger!!]
[3065.189700 AC off]
[3065.190900 AC BEST EFFICIENCY]
[3065.192100 event set 0x0000000000000010]
PORT80: AA8E
PORT80: AA8F
[3065.218100 Battery 85% (Display 84.8 %) / 7h:37 to empty]
[3065.219500 charge_request(17400mV, 3572mA)]
[3065.248200 Sustainer disabled]
[3065.272700 Battery 85% (Display 84.8 %) / 7h:37 to empty]
PORT80: AA83
PORT80: AA8F
[3066.277000 Sustainer disabled]
[3066.279500 DC BEST EFFICIENCY]
[3067.021500 Battery 85% (Display 84.7 %) / 7h:21 to empty]
[3067.292700 Sustainer disabled]
[3068.307600 Sustainer disabled]
[3069.322800 Sustainer disabled]
[3070.337600 Sustainer disabled]
[3071.352300 Sustainer disabled]
[3072.367200 Sustainer disabled]
[3073.382000 Sustainer disabled]
[3074.396800 Sustainer disabled]
[3075.411900 Sustainer disabled]
[3076.126700 CYPD_RESPONSE_PORT_CONNECT 0]
[3076.135600 event set 0x0400000000000000]
[3076.134200 board_set_active_charge_port port 0, prev:-1]
[3076.158000 event set 0x0400000000000000]
[3076.173900 CL: p0 s1 i3000 v5000]
[3076.183500 TODO Implement pd_set_new_power_request port 0]
[3076.185400 update charger!!]
[3076.198000 AC on]
[3076.199300 event set 0x0000000000000008]
PORT80: 003B
PORT80: AA8E
PORT80: AA8F
[3076.255500 Battery 85% (Display 84.7 %) / 8h:30 to empty]
[3076.257000 charge_request(17400mV, 3572mA)]
PORT80: 3F48
[3076.275400 cypd_update_power_status:0=0xe]
[3076.279100 cypd_update_power_status:1=0xe]
[3076.287200 CCG_RESPONSE_ACCEPT_MSG_RX 0]
[3076.290000 CL: p0 s0 i500 v5000 (forced)]
[3076.432500 Sustainer disabled]
[3076.435000 AC BEST EFFICIENCY]
[3076.461800 CYPD_RESPONSE_PD_CONTRACT_NEGOTIATION_COMPLETE 0]
[3076.465700 board_set_active_charge_port port 0, prev:0]
[3076.469500 event set 0x0400000000000000]
[3076.478900 CCG_RESPONSE_ACCEPT_MSG_RX 0]
[3076.492400 CL: p0 s0 i3000 v20000]
[3076.493700 TODO Implement pd_set_new_power_request port 0]
PORT80: 3F30
PORT80: 3F81
PORT80: 3FA0
PORT80: 3FA0
PORT80: 003B
[3077.206400 event set 0x0400000000000000]
[3077.223700 event set 0x0400000000000000]
PORT80: 003B
[3077.242200 event set 0x0400000000000000]
PORT80: 003B
[3077.260100 event set 0x0400000000000000]
PORT80: 003B
[3077.278900 event set 0x0400000000000000]
PORT80: 003B
[3077.296500 event set 0x0400000000000000]
PORT80: 003B
[3077.309000 event set 0x0800000000000000]
PORT80: 003B
PORT80: 003C
[3077.442800 CCG_RESPONSE_VDM_RX]
[3077.455200 Sustainer disabled]
Change SOC Power Limit: SPL 15000mW, sPPT 25000mW, fPPT 30000mW, p3T 143000mW
[3077.551100 charge_request(17400mV, 2500mA)]
PORT80: 3F48
[3078.497100 Sustainer disabled]
[3079.019400 Battery 85% (Display 84.8 %) / 1h:55 to full]
[3079.522300 Sustainer disabled]
[3080.547800 Sustainer disabled]
[3081.562400 Sustainer disabled]
PORT80: 3F88
[3082.588200 Sustainer disabled]
[3083.608800 Sustainer disabled]
[3084.623500 Sustainer disabled]
[3084.773500 Battery 85% (Display 84.9 %) / 1h:13 to full]
[3085.638300 Sustainer disabled]
[3086.658900 Sustainer disabled]
PORT80: 3F61
PORT80: 3F60
PORT80: 3F48
PORT80: 3F81
PORT80: 3FA0
[3087.673700 Sustainer disabled]
PORT80: 3FA0
[3088.523300 Battery 86% (Display 84.9 %) / 1h:1 to full]
[3088.688400 Sustainer disabled]
[3089.708600 Sustainer disabled]
[3090.723300 Sustainer disabled]
[3091.512000 update charger!!]
[3091.523200 AC off]
Change SOC Power Limit: SPL 15000mW, sPPT 25000mW, fPPT 30000mW, p3T 89000mW
P:0 SET TYPEC RP=1[3091.538300 cypd_write_reg8_wait_ack pre 0x82 ]
[3091.541700 cypd_write_reg8_wait_ack pre 0x82 ]
[3091.544600 PORT_DISCONNECT]
[3091.553800 event set 0x0400000000000000]
[3091.570400 event set 0x0400000000000000]
[3091.581800 event set 0x0000000000000010]
[3091.592800 Battery 86% (Display 85.0 %) / 0h:55 to full]
[3091.584200 board_set_active_charge_port port -1, prev:0]
[3091.597500 event set 0x0400000000000000]
[3091.710300 cypd_wait_for_ack timeout on interrupt]
[3091.711400 cypd_write_reg8_wait_ack timeout on interrupt]
[3091.712400 cypd_cfet_vbus_control:0 fail:5]
[3091.720900 cypd_write_reg8_wait_ack C:1 0x1032 response 0x0]
[3091.722300 cypd_cfet_vbus_control:2 fail:5]
[3091.729300 CL: p-1 s-1 i500 v0]
[3091.730100 TODO Implement pd_set_new_power_request port 0]
PORT80: AA8F
[3091.752000 Sustainer disabled]
[3091.759200 DC BEST EFFICIENCY]
[3091.834200 cypd_update_power_status:0=0x8]
[3091.837400 cypd_update_power_status:1=0x8]
PORT80: 003B
[3092.774700 Sustainer disabled]
PORT80: 3F88
[3093.798700 Sustainer disabled]
[3094.813800 Sustainer disabled]
[3095.828800 Sustainer disabled]
[3096.843500 Sustainer disabled]
[3097.531800 Battery 86% (Display 84.9 %) / 6h:42 to empty]
PORT80: 3F68
[3097.869500 Sustainer disabled]
[3098.029200 update charger!!]
[3098.034500 AC on]
[3098.036000 event set 0x0000000000000008]
PORT80: AA8F
[3098.085400 update charger!!]
[3098.091800 charge_request(17400mV, 3572mA)]
[3098.093200 AC off]
[3098.094400 AC BEST EFFICIENCY]
[3098.095600 event set 0x0000000000000010]
[3098.152000 Battery 86% (Display 84.9 %) / 6h:42 to empty]
[3098.895300 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3099.910600 Sustainer disabled]
[3099.912900 DC BEST EFFICIENCY]
[3100.926000 Sustainer disabled]
[3101.813100 update charger!!]
[3101.818900 AC on]
[3101.820400 event set 0x0000000000000008]
PORT80: AA83
[3101.867500 Battery 86% (Display 84.9 %) / 6h:54 to empty]
[3101.868900 charge_request(17400mV, 3572mA)]
[3101.890400 update charger!!]
[3101.896100 AC off]
[3101.897600 event set 0x0000000000000010]
[3101.940500 Sustainer disabled]
[3101.947500 Battery 86% (Display 84.9 %) / 6h:54 to empty]
PORT80: AA83
PORT80: 0005
[3102.972900 Sustainer disabled]
[3103.987500 Sustainer disabled]
[3105.002300 Sustainer disabled]
[3106.016900 Sustainer disabled]
[3107.031600 Sustainer disabled]
[3108.046400 Sustainer disabled]
[3109.061300 Sustainer disabled]
[3109.191500 Battery 85% (Display 84.9 %) / 8h:8 to empty]
[3110.081800 Sustainer disabled]
PORT80: F90E
[3111.108000 Sustainer disabled]
[3112.122800 Sustainer disabled]
[3113.137500 Sustainer disabled]
[3114.154300 Sustainer disabled]
[3114.691100 update charger!!]
[3114.697300 AC on]
[3114.698900 event set 0x0000000000000008]
PORT80: AA8F
[3114.721400 update charger!!]
[3114.730700 AC off]
[3114.731800 AC BEST EFFICIENCY]
[3114.732600 event set 0x0000000000000010]
[3114.760000 Battery 85% (Display 84.9 %) / 8h:48 to empty]
[3114.761600 charge_request(17400mV, 3572mA)]
[3114.814200 Battery 85% (Display 84.9 %) / 8h:48 to empty]
[3115.176100 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3116.202600 Sustainer disabled]
[3116.205000 DC BEST EFFICIENCY]
[3117.223700 Sustainer disabled]
[3118.249300 Sustainer disabled]
[3119.264000 Sustainer disabled]
[3120.281800 Sustainer disabled]
[3121.307100 Sustainer disabled]
[3122.331000 Sustainer disabled]
[3123.352300 Sustainer disabled]
[3124.372600 Sustainer disabled]
[3125.387200 Sustainer disabled]
[3126.401800 Sustainer disabled]
[3127.416600 Sustainer disabled]
[3128.431400 Sustainer disabled]
[3129.446200 Sustainer disabled]
[3130.461000 Sustainer disabled]
[3131.481600 Sustainer disabled]
[3132.502700 Sustainer disabled]
[3132.540000 update charger!!]
[3132.549400 AC on]
[3132.550600 event set 0x0000000000000008]
PORT80: AA8F
[3132.570700 update charger!!]
[3132.581300 AC off]
[3132.582800 AC BEST EFFICIENCY]
[3132.584200 event set 0x0000000000000010]
[3133.517700 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3134.532900 Sustainer disabled]
[3134.535300 DC BEST EFFICIENCY]
[3134.614700 update charger!!]
[3134.621800 AC on]
[3134.623000 event set 0x0000000000000008]
PORT80: AA83
[3134.654300 update charger!!]
[3134.663500 AC off]
[3134.664700 event set 0x0000000000000010]
[3134.694100 Battery 85% (Display 84.9 %) / 9h:7 to empty]
[3134.695500 charge_request(17400mV, 3572mA)]
[3134.747600 Battery 85% (Display 84.9 %) / 9h:7 to empty]
[3135.246200 Battery 85% (Display 84.8 %) / 8h:58 to empty]
PORT80: AA82
[3135.548400 Sustainer disabled]
[3135.582000 SB-SMI: Mailbox transfer timeout]
[3135.583000 SB-RMI Error: 4]
PORT80: 0005
[3136.585800 Sustainer disabled]
[3137.600600 Sustainer disabled]
[3138.615500 Sustainer disabled]
[3139.630300 Sustainer disabled]
[3140.645000 Sustainer disabled]
[3141.659900 Sustainer disabled]
[3142.680300 Sustainer disabled]
[3143.695100 Sustainer disabled]
[3144.717000 Sustainer disabled]
[3145.750100 Sustainer disabled]
[3146.773300 Sustainer disabled]
[3147.788700 Sustainer disabled]
[3148.803400 Sustainer disabled]
[3149.818200 Sustainer disabled]
[3150.833000 Sustainer disabled]
[3151.847700 Sustainer disabled]
[3152.862500 Sustainer disabled]
[3153.877000 Sustainer disabled]
[3154.891700 Sustainer disabled]
[3155.906500 Sustainer disabled]
[3156.926900 Sustainer disabled]
[3157.947400 Sustainer disabled]
[3158.968300 Sustainer disabled]
[3159.987700 Sustainer disabled]
[3161.009100 Sustainer disabled]
[3162.035300 Sustainer disabled]
[3163.055500 Sustainer disabled]
[3164.081100 Sustainer disabled]
[3165.101200 Sustainer disabled]
[3166.121400 Sustainer disabled]
[3167.136000 Sustainer disabled]
[3168.150600 Sustainer disabled]
[3169.165300 Sustainer disabled]
[3170.180400 Sustainer disabled]
[3171.195200 Sustainer disabled]
[3171.842700 update charger!!]
[3171.848300 AC on]
[3171.849900 event set 0x0000000000000008]
PORT80: AA8E
[3171.872900 update charger!!]
[3171.880900 AC off]
[3171.882000 AC BEST EFFICIENCY]
[3171.883000 event set 0x0000000000000010]
PORT80: AA8F
[3171.906300 Battery 85% (Display 84.8 %) / 10h:10 to empty]
[3171.907800 charge_request(17400mV, 3572mA)]
[3171.959900 Battery 85% (Display 84.8 %) / 10h:10 to empty]
[3172.210300 Sustainer disabled]
[3172.708200 Battery 85% (Display 84.7 %) / 9h:52 to empty]
PORT80: AA83
PORT80: AA8F
[3173.224800 Sustainer disabled]
[3173.227100 DC BEST EFFICIENCY]
[3174.240500 Sustainer disabled]
[3175.255100 Sustainer disabled]
[3176.269700 Sustainer disabled]
[3177.284700 Sustainer disabled]
[3178.242900 update charger!!]
[3178.248500 AC on]
[3178.250100 event set 0x0000000000000008]
PORT80: AA8F
[3178.273000 update charger!!]
[3178.282700 AC off]
[3178.284000 AC BEST EFFICIENCY]
[3178.284700 event set 0x0000000000000010]
[3178.303700 Battery 85% (Display 84.7 %) / 9h:41 to empty]
[3178.305200 charge_request(17400mV, 3572mA)]
[3178.306200 Sustainer disabled]
[3178.359400 Battery 85% (Display 84.7 %) / 9h:41 to empty]
PORT80: AA83
PORT80: AA8F
[3179.338700 Sustainer disabled]
[3179.343000 DC BEST EFFICIENCY]
[3180.364300 Sustainer disabled]
[3181.379600 Sustainer disabled]
[3182.395600 Sustainer disabled]
[3183.410400 Sustainer disabled]
[3184.425100 Sustainer disabled]
[3185.450900 Sustainer disabled]
[3186.476700 Sustainer disabled]
[3186.498800 update charger!!]
[3186.504600 AC on]
[3186.506400 event set 0x0000000000000008]
PORT80: AA8E
[3186.528900 update charger!!]
[3186.536400 AC off]
[3186.537700 AC BEST EFFICIENCY]
[3186.539000 event set 0x0000000000000010]
PORT80: AA8F
[3186.560600 Battery 85% (Display 84.7 %) / 9h:39 to empty]
[3186.562000 charge_request(17400mV, 3572mA)]
[3186.567500 update charger!!]
[3186.572600 AC on]
[3186.574000 event set 0x0000000000000008]
[3186.597800 update charger!!]
[3186.606700 AC off]
[3186.607900 event set 0x0000000000000010]
[3186.630900 Battery 85% (Display 84.7 %) / 9h:39 to empty]
[3187.497200 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
PORT80: 0005
[3188.522900 Sustainer disabled]
[3188.525600 DC BEST EFFICIENCY]
[3189.538700 Sustainer disabled]
[3190.553400 Sustainer disabled]
[3191.568800 Sustainer disabled]
[3192.583800 Sustainer disabled]
[3193.598400 Sustainer disabled]
[3194.613300 Sustainer disabled]
[3195.633900 Sustainer disabled]
[3195.856000 update charger!!]
[3195.862000 AC on]
[3195.863500 event set 0x0000000000000008]
PORT80: AA8E
[3195.887000 update charger!!]
[3195.893900 AC off]
[3195.895000 AC BEST EFFICIENCY]
[3195.895900 event set 0x0000000000000010]
PORT80: AA8F
[3195.919300 Battery 85% (Display 84.7 %) / 9h:41 to empty]
[3195.920800 charge_request(17400mV, 3572mA)]
[3195.974100 Battery 85% (Display 84.7 %) / 9h:41 to empty]
[3196.650900 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3197.671200 Sustainer disabled]
[3197.673600 DC BEST EFFICIENCY]
[3198.695100 Sustainer disabled]
[3199.716200 Sustainer disabled]
[3200.737400 Sustainer disabled]
[3201.752100 Sustainer disabled]
[3202.767100 Sustainer disabled]
[3203.781800 Sustainer disabled]
[3204.796500 Sustainer disabled]
[3205.811100 Sustainer disabled]
[3206.825600 Sustainer disabled]
[3207.846300 Sustainer disabled]
[3207.959700 update charger!!]
[3207.970300 AC on]
[3207.971700 event set 0x0000000000000008]
[3207.985000 Battery 85% (Display 84.6 %) / 9h:39 to empty]
PORT80: AA8E
[3207.991900 update charger!!]
[3207.997200 AC off]
[3207.998500 AC BEST EFFICIENCY]
[3207.999500 event set 0x0000000000000010]
PORT80: AA8F
[3208.046100 Battery 85% (Display 84.6 %) / 9h:39 to empty]
[3208.047500 charge_request(17400mV, 3572mA)]
[3208.100400 Battery 85% (Display 84.6 %) / 9h:39 to empty]
[3208.861100 Sustainer disabled]
[3208.881600 update charger!!]
[3208.887100 AC on]
[3208.888700 event set 0x0000000000000008]
[3208.927600 update charger!!]
[3208.936600 Battery 85% (Display 84.6 %) / 9h:11 to empty]
[3208.937800 update charger!!]
[3208.939700 AC off]
[3208.941300 charge_request(17400mV, 3572mA)]
[3208.941100 event set 0x0000000000000010]
PORT80: AA83
PORT80: AA8F
[3208.999300 Battery 85% (Display 84.6 %) / 9h:11 to empty]
[3209.881500 Sustainer disabled]
[3209.883900 DC BEST EFFICIENCY]
[3209.897700 update charger!!]
[3209.903200 AC on]
[3209.905100 event set 0x0000000000000008]
PORT80: AA8E
[3209.949900 Battery 85% (Display 84.6 %) / 8h:58 to empty]
[3209.951300 charge_request(17400mV, 3572mA)]
[3209.955900 update charger!!]
[3209.960800 AC off]
[3209.962000 AC BEST EFFICIENCY]
[3209.963200 event set 0x0000000000000010]
PORT80: AA8F
[3210.012400 Battery 85% (Display 84.6 %) / 8h:58 to empty]
[3210.467400 update charger!!]
[3210.476900 AC on]
[3210.478100 event set 0x0000000000000008]
[3210.527800 update charger!!]
[3210.535500 AC off]
[3210.536700 event set 0x0000000000000010]
[3210.566700 Battery 85% (Display 84.6 %) / 8h:58 to empty]
[3210.568200 charge_request(17400mV, 3572mA)]
[3210.622500 Battery 85% (Display 84.6 %) / 8h:58 to empty]
[3210.897600 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
PORT80: 0005
[3211.918100 Sustainer disabled]
[3211.920600 DC BEST EFFICIENCY]
[3212.933700 Sustainer disabled]
[3213.948700 Sustainer disabled]
[3214.968800 Sustainer disabled]
[3215.990000 Sustainer disabled]
[3216.122500 update charger!!]
[3216.128600 AC on]
[3216.130200 event set 0x0000000000000008]
PORT80: AA8F
[3216.153000 update charger!!]
[3216.162900 AC off]
[3216.164100 AC BEST EFFICIENCY]
[3216.165300 event set 0x0000000000000010]
[3216.186100 Battery 85% (Display 84.6 %) / 8h:51 to empty]
[3216.187500 charge_request(17400mV, 3572mA)]
[3216.240700 Battery 85% (Display 84.6 %) / 8h:51 to empty]
[3216.729100 update charger!!]
[3216.738200 AC on]
[3216.739900 event set 0x0000000000000008]
[3216.759600 update charger!!]
[3216.768100 AC off]
[3216.769300 event set 0x0000000000000010]
[3216.802000 Battery 85% (Display 84.6 %) / 8h:22 to empty]
[3216.803500 charge_request(17400mV, 3572mA)]
[3216.856700 Battery 85% (Display 84.6 %) / 8h:22 to empty]
[3217.010500 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3218.030900 Sustainer disabled]
[3218.033400 DC BEST EFFICIENCY]
PORT80: 0005
[3219.046800 Sustainer disabled]
[3219.116800 update charger!!]
[3219.122500 AC on]
[3219.124100 event set 0x0000000000000008]
PORT80: AA83
[3219.147300 update charger!!]
[3219.157300 AC off]
[3219.158500 event set 0x0000000000000010]
[3219.178600 Battery 85% (Display 84.6 %) / 7h:41 to empty]
[3219.180000 charge_request(17400mV, 3572mA)]
[3219.234100 Battery 85% (Display 84.6 %) / 7h:41 to empty]
[3219.281200 update charger!!]
[3219.286800 AC on]
[3219.288800 event set 0x0000000000000008]
[3219.311600 update charger!!]
[3219.319900 AC off]
[3219.321100 event set 0x0000000000000010]
[3219.344100 Battery 85% (Display 84.6 %) / 7h:41 to empty]
[3219.345600 charge_request(17400mV, 3572mA)]
[3219.397200 Battery 85% (Display 84.6 %) / 7h:41 to empty]
[3220.069700 Sustainer disabled]
PORT80: AA83
PORT80: 0004
[3221.084500 Sustainer disabled]
PORT80: 0005
[3222.099300 Sustainer disabled]
[3223.117400 Sustainer disabled]
[3224.139100 Sustainer disabled]
[3225.168100 Sustainer disabled]
[3226.182900 Sustainer disabled]
[3227.197500 Sustainer disabled]
[3227.877200 update charger!!]
[3227.886000 AC on]
[3227.887200 event set 0x0000000000000008]
PORT80: AA8E
[3227.908900 update charger!!]
[3227.914700 AC off]
[3227.916200 AC BEST EFFICIENCY]
[3227.917600 event set 0x0000000000000010]
PORT80: AA8F
[3227.964100 Battery 85% (Display 84.6 %) / 7h:33 to empty]
[3227.965500 charge_request(17400mV, 3572mA)]
[3228.017800 Battery 85% (Display 84.6 %) / 7h:33 to empty]
[3228.212500 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3228.988500 update charger!!]
[3228.996400 AC on]
[3228.997500 DC BEST EFFICIENCY]
[3228.998600 event set 0x0000000000000008]
[3229.018800 update charger!!]
[3229.025300 AC off]
[3229.027200 event set 0x0000000000000010]
[3229.230400 Sustainer disabled]
PORT80: 0005
[3230.245300 Sustainer disabled]
PORT80: 0004
[3231.259800 Sustainer disabled]
[3232.274600 Sustainer disabled]
[3233.291700 Sustainer disabled]
[3234.315000 Sustainer disabled]
[3234.827900 Battery 85% (Display 84.5 %) / 7h:0 to empty]
[3235.332600 Sustainer disabled]
[3236.358900 Sustainer disabled]
[3236.857800 update charger!!]
[3236.863600 AC on]
[3236.865100 event set 0x0000000000000008]
PORT80: AA8F
[3236.905000 update charger!!]
[3236.913400 Battery 85% (Display 84.5 %) / 7h:10 to empty]
[3236.914600 update charger!!]
[3236.916400 AC off]
[3236.918100 charge_request(17400mV, 3572mA)]
[3236.917600 AC BEST EFFICIENCY]
[3236.919700 event set 0x0000000000000010]
[3236.977800 Battery 85% (Display 84.5 %) / 7h:10 to empty]
[3237.379300 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3237.962900 update charger!!]
[3237.970400 AC on]
[3237.971200 DC BEST EFFICIENCY]
[3237.972000 event set 0x0000000000000008]
[3238.014300 update charger!!]
[3238.022600 AC off]
[3238.023800 event set 0x0000000000000010]
[3238.038700 Battery 85% (Display 84.5 %) / 7h:7 to empty]
[3238.040100 charge_request(17400mV, 3572mA)]
[3238.093800 Battery 85% (Display 84.5 %) / 7h:7 to empty]
[3238.394100 Sustainer disabled]
PORT80: 0005
[3239.409100 Sustainer disabled]
PORT80: 0004
[3240.424400 Sustainer disabled]
[3241.439400 Sustainer disabled]
[3242.454700 Sustainer disabled]
[3243.469600 Sustainer disabled]
[3244.484700 Sustainer disabled]
[3244.985300 update charger!!]
[3244.991100 AC on]
[3244.992700 event set 0x0000000000000008]
PORT80: AA8F
[3245.015400 update charger!!]
[3245.023600 AC off]
[3245.024800 AC BEST EFFICIENCY]
[3245.025600 event set 0x0000000000000010]
[3245.045200 Battery 85% (Display 84.5 %) / 7h:53 to empty]
[3245.046600 charge_request(17400mV, 3572mA)]
[3245.098300 Battery 85% (Display 84.5 %) / 7h:53 to empty]
[3245.499900 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3246.526400 Sustainer disabled]
[3246.528900 DC BEST EFFICIENCY]
[3247.548500 Sustainer disabled]
[3248.566900 Sustainer disabled]
[3249.588500 Sustainer disabled]
[3250.609100 Sustainer disabled]
[3251.629400 Sustainer disabled]
[3252.644100 Sustainer disabled]
[3253.658700 Sustainer disabled]
[3254.673400 Sustainer disabled]
[3255.688200 Sustainer disabled]
[3256.708600 Sustainer disabled]
[3257.729800 Sustainer disabled]
[3258.744800 Sustainer disabled]
[3259.759600 Sustainer disabled]
[3260.774400 Sustainer disabled]
PORT80: F90E
[3261.789400 Sustainer disabled]
[3262.804200 Sustainer disabled]
[3263.826000 Sustainer disabled]
[3264.851700 Sustainer disabled]
[3265.885300 Sustainer disabled]
[3266.090000 update charger!!]
[3266.097600 AC on]
[3266.099000 event set 0x0000000000000008]
PORT80: AA8F
[3266.120500 update charger!!]
[3266.125400 AC off]
[3266.126900 AC BEST EFFICIENCY]
[3266.128300 event set 0x0000000000000010]
[3266.174700 Battery 85% (Display 84.5 %) / 9h:48 to empty]
[3266.176100 charge_request(17400mV, 3572mA)]
[3266.227600 Battery 85% (Display 84.5 %) / 9h:48 to empty]
[3266.905700 Sustainer disabled]
PORT80: AA83
PORT80: AA8F
[3267.938900 Sustainer disabled]
[3267.945700 DC BEST EFFICIENCY]
[3268.968100 Sustainer disabled]
[3270.001800 Sustainer disabled]
[3271.022300 Sustainer disabled]
[3272.037100 Sustainer disabled]
[3273.052000 Sustainer disabled]
[3274.067000 Sustainer disabled]
[3275.081600 Sustainer disabled]
[3276.096700 Sustainer disabled]
[3277.111600 Sustainer disabled]
[3278.126500 Sustainer disabled]
[3279.141300 Sustainer disabled]
[3280.157000 Sustainer disabled]
[3281.177500 Sustainer disabled]
[3282.192300 Sustainer disabled]
[3283.211500 Sustainer disabled]
[3284.232000 Sustainer disabled]
[3285.254500 Sustainer disabled]
[3285.993200 Battery 85% (Display 84.4 %) / 10h:14 to empty]
[3286.269400 Sustainer disabled]
[3287.289900 Sustainer disabled]
[3288.304600 Sustainer disabled]
[3289.324900 Sustainer disabled]
[3290.339700 Sustainer disabled]
[3291.354700 Sustainer disabled]
[3292.381500 Sustainer disabled]
[3293.407400 Sustainer disabled]
[3294.433300 Sustainer disabled]
[3295.448500 Sustainer disabled]
[3296.466900 Sustainer disabled]
[3297.501200 Sustainer disabled]
[3298.523400 Sustainer disabled]
[3299.549200 Sustainer disabled]
[3300.563800 Sustainer disabled]
[3301.579000 Sustainer disabled]
[3302.593800 Sustainer disabled]
[3303.608700 Sustainer disabled]
[3304.623600 Sustainer disabled]
[3305.638500 Sustainer disabled]
[3306.653300 Sustainer disabled]
[3307.673600 Sustainer disabled]
[3308.688400 Sustainer disabled]
[3309.703400 Sustainer disabled]
[3310.720000 Sustainer disabled]
[3311.503000 event set 0x0800000000000000]
PORT80: 003C

i have a Laptop 13 (AMD Ryzen 7040Series) mother board which was manufactured in year 2023 and i still have an issue with battery icon flipping charging status when its on battery power without any charger attached,and when the battery is charged upto 100% then the charging status stays solid for few min’s even when the charger is detached,