Framework Laptop 13 Ryzen 7040 BIOS 3.09 Release

Based on your steps, this should be the expected behavior because the AC charger was unplugged and replugged. If you continue running the stress test without this action, you should observe that the device doesn’t charge again until its battery level drops below 75%.

1 Like

Before the 3.09 upgrade, I had charge limit at 80% and battery extender disabled. After the upgrade, I enabled battery extender and left charge limit at 80%. I didn’t run this test long enough for the battery extender to kick in, but it showed the floating range wasn’t working. This issue was described in this comment.

Next, I kept the battery extender enabled and changed charge limit to 100%. Again, I didn’t run this test long enough for the battery extender to kick in, however it too showed the floating range didn’t work as expected.

Finally, I disabled battery extender and set charge limit back to 80%. Here too I didn’t observe the expected floating range behavior. This test was described in detail here.

Please let me know if you have any other questions or would like me to perform further tests.

Even after a few hours at your charge limit, the battery percentage may not drop unless your load exceeds the power supply’s ability to keep up. Natural, self-discharge of the battery could easily take far longer than a few hours to drop even a single percentage. It doesn’t stop charging and put load on the battery, it remains powering the laptop from the charger and the battery will only drop in charge level from the batterie’s internal, self-discharge (which is very slow on Li-Ion batteries), or if the system draw exceeds the charger’s power delivery, and it has to draw from the battery.

I think the fact that it shows “charging” is just because the charger is still connected, and the OS hasn’t commanded the charging to stop, the BIOS setting did. But the fact that the percentage wasn’t increasing is pretty good evidence that it wasn’t actually charging.

I’m not saying there is no problem, but none of the details so far provided lead me to conclude there is definitely an issue.

Someone else confirmed the float was working on their machine by using a 45 watt charger and once the battery was at the charge limit, they applied a heavy, synthetic benchmark load that resulted in the charger not keeping up, so some power had to be drawn from the battery. Once the charge level had dropped three percent, they removed the heavy load, and the battery remained at that percentage. It didn’t charge back up to their set charge limit until they disconnected and re-connected the charger.

If you simply let it sit there with the charger plugged in for a few hours, it’s very possible that the charge level wouldn’t have dropped if the system load never exceeded what the charger could supply.

3 Likes

Fair point. For background, I’ve been using the system to work on a mid-sized Python project in LazyVim, plus the usual things like Firefox with a bunch of tabs, music playing in the background, and btop etc. So, yeah, the load is pretty nominal, plus the system is plugged into an 85W docking station. If the charger is indeed powering the current use of the machine, it would explain the battery charge level staying at a constant 80%. That said, further testing (on my part) is in order.

Since I need my external displays and keyboard rn, I won’t be able to test with a lower-wattage charger just yet, but I’ll try using a lower-wattage charger on Saturday or Sunday and report back what I find.

2 Likes

Agreed. I’m not sure exactly what is supposed to happen.

I’ve set mine to 75% charge limit, extender off.
Mostly it recharges back up to 75% after use on battery, which is fine but not what I understood was supposed to happen, however once I think I saw it stay slightly below 75% for a while (at maybe 73 or possibly 74%).
I’m definitely NOT counting BIOS 3.09 as a dud, because so far the behaviour seems to near enough exactly match the way I want it to behave, and isn’t doing anything I definitely don’t want.

2 Likes

Thank you for that explanation. I think you’re right, and I think the OS still saying charging might be an artifact of one of the bugs we are chasing separately in this thread: [TRACKING] Battery flipping between charging and discharging / Draws from battery even on AC

That said, support has confirmed to me that it is expected for the OS to say charging even at the top of the batt limit.

So I think so far 3.09 sounds like it’s still good? We need to be certain that batt extender+charge limit+float works.

Given the slew of reported but inconclusive test results on lack of function of the charge management behavior, I’ll contribute my success for a little balance. I’ve been using 3.09 for the last week, and both the charge limit and float range have worked properly and without fail for me so far. My heavy system load on AC power has all been application load, usually software compilation. I have the battery extender off, as it provides no benefit over my set limit.

1 Like

Should the floating range prevent the LED flipping between charging and discharging at heavy load? If so, this should be easily recognizable.

Yes, I should have been clearer. I am fully happy with how it’s working for me. The charging led does not flip between charging and discharging anymore. (Battery extender OFF; Charging limit 80%)

I just didn’t have the time or the need to get it to drain 5% to see it charge again.

on 3.05 I just really didn’t like seeing the charge/discharge/charge micro cycles when the cpu was boosting for a few seconds.

This is all gone now with 3.09. So thank you framework team for improving my user experience.

1 Like

@BigT @Quin_Chou I conducted a test, as promised, with the following config:

  • Battery Extender: Disabled
  • Battery Charge Limit: 80%
  • Charger: 20 Watt

During the test I observed that my battery charge dropped as low as 67% (first test). Charging would resume intermittently, but only charge a few percents before stopping again while the battery charge remained well below the 80% target. At no point did I observe a consistent ~5% floating range in action. I also was expecting that, as long as current battery charge was less than 75%, the battery should continuously have been charging, but it was not.

It’s possible that the 20W charger might not have been able to keep up with the system, but I’d expect the battery to be in a continuous state of charging (as it was well below the target), but the battery mostly was not being charged at all (details below).

I repeated the test twice because the result was so not what I expected. But both tests were consistent in their overall behavior. I recorded the second test, showing the following:

  • 76% charge at start
  • Charge gradually drops to 71% without charging kicking in (8:52 minutes in)
  • At 9:02 charging starts, at 72% now
  • Charging stops, still at 72% (12:31 minutes in)
  • 13:01 charging begins again, 72%
  • 14:01 charging stops, 72%
  • 15:01 charging drops to 71%, charging hasn’t kicked in
  • 15:31 charging kicks in, 71%
  • 16:01 charging stops, 71%

The recorded video is available here.

I really don’t know what to make of this. But, I’d be happy to do another test if that’s helpful. As I write this message, the battery is being charged (currently at 73%).

Well first of all, I would say 20W is much too small a charger really. Just charging the battery can take 60W.
However, what you observed does seem odd.
I would think that if the laptop was using most of the 20W most of the time, you would probably have noted that the fan was blowing enough to be heard.

2 Likes

Yeah, I was actually running a VM at the time (needed something to drain the battery some for the test).

Nonetheless, I’m not concerned that the charge-rate couldn’t keep up with the drain-rate. I’m somewhat concerned that the battery was not even charging for most of the test even though the battery charge was well below the floating-range threshold. However, like you noted, it’s possible that the test was entirely skewed by the low-wattage of the charger.

Since the test, my battery did charge to 80% over the next few hours. Right now, it’s at 78% and not charging (as expected). Maybe we can chalk up the test outcome to the low-wattage charger, but that’s the only other charger I have beside the 85-watt charger.

I’d be interested to know how the rest of the gang interprets the test results, but I’ll keep an eye on the behavior and report back if I find anything else related to the floating range behavior.

1 Like

most phones nowadays can take more than 20 watts, 20 watts for a laptop is like trying to fill your gas tank with a coffee cup

1 Like

Folks who have updated to 3.09 and using a dock: Do you still see/have you ever seen the issue described here:

I plan on upgrading to 3.09 tomorrow. Currently on 3.05 and still working around this interrupt issue with the systemd one-shots described there. I’m wondering whether folks without this workaround are seeing this under 3.09.

PS please reply into the thread above if possible to keep this one more on topic. I just figured it was worth checking for progress on this tangent since 3.09 seems to be trending better.

I upgraded from 3.05 to 3.09. I have the battery limit set to 75% and the battery extender disabled. It seems to respect the limit, but I’m not sure if the float range is working for me.

Starting at 75% (the limit I set) with a 100W charger plugged in the whole time, I ran a stress test by compiling a kernel. It discharges the battery for a moment, but then immediately charges back up.

Here’s the log from upower showing the discharge and recharge:

$ upower -i /org/freedesktop/UPower/devices/battery_BAT1
  native-path:          BAT1
  vendor:               NVT
  model:                FRANGWA
  serial:               054D
  power supply:         yes
  updated:              Sat 10 May 2025 08:56:48 PM PDT (1 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               charging
    warning-level:       none
    energy:              45.8053 Wh
    energy-empty:        0 Wh
    energy-full:         60.8519 Wh
    energy-full-design:  60.6042 Wh
    energy-rate:         0 W
    voltage:             16.558 V
    charge-cycles:       79
    percentage:          75%
    capacity:            100%
    technology:          lithium-ion
    icon-name:          'battery-full-charging-symbolic'
  History (charge):
    1746935718  75.000  discharging
    1746935718  0.000   unknown
  History (rate):
    1746935808  0.000   charging
    1746935778  0.031   charging
    1746935718  0.046   discharging

I’ll try again later with a 60W charger to see if there’s any difference.

1 Like

+1 on this behavior too.
Tested this past weekend, placing a load on the laptop seemed to cause drop by 1% then it will kick in charging.
Note this was tested with a 100w charger and 240w rated cable so it does look like its bios.

That said, this sticks around the charge limit now which is great for me

Upgrade via EFI shell was successful. The battery level is kept between 75% and 80%, I set the limit at 80, with battery extender disabled.

Would someone please confirm ryzenadj is fully working with this version (set limits, read sensors)?

I switched to a 60W charger and now I can see the float range working as expected. I think the 100W charger I was using before was able to supply enough power that the charge/discharge reported by upower was just a rounding error from the way it calculates the energy rate.

1 Like

Anyone updated via Linux LVFS yet? Mine isn’t detecting anything to update.

1 Like