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
