Framework Laptop 16 Ryzen 7040 BIOS 3.06 Release BETA -Held

We’ve identified an issue in version 3.06 that can cause the CPU to get stuck at 545MHz after resuming from sleep. We will release a 3.07 beta around September 8 to address this.

Highlights

  1. Added Framework’s dbx key and updated the default CA of Windows Secure Boot.
  2. Fixed an issue where hardware encryption on OPAL drives could cause a missing boot drive on subsequent reboots.
  3. Fixed battery drain issues occurring with the Balanced Power Profile.
  4. Fixed CPU power limits to prevent unnecessary limitation when the GPU is in BOCO mode.
  5. Introduced Battery Charge Limiting status functionality.
  6. Introduced the Framework EC device.

Note:

  1. Once you update to 3.06, you can downgrade to the previous version.
  2. Install the latest driver bundle 2.05 with BIOS 3.06. Although the Framework EC device will show a yellow bang without it, the system’s functionality remains unaffected.

You can check your current BIOS version following the steps here to determine if you are on the latest release.

After the beta release, we will monitor community feedback, and publish this release to our stable release channel after approximately one week if no major issues are reported.

Subscribing to release notifications

If you want to subscribe to new release notifications you can now opt in through this link to receive an email when we release a new BIOS or driver update for your Framework Laptop.

Battery Extender functionality

With the high energy density on the 85Wh battery, leaving it at 100% state of charge for an extended period of time can shorten the lifetime of the battery. To prevent this, we have added a new feature that automatically limits the maximum state of charge if the system is left plugged into power for more than 5 days. The timer is reset after the system is disconnected from a power adapter for more than 30 minutes.

Battery Extender Duration Battery State of Charge
0-5< Days 99% → 100%
5-7 Days 90% → 95%
>7+ Days 85% → 87%

This functionality also reduces cycling of the battery by allowing the battery to discharge by several percent before charging again. Note that in addition to this automatic setting, you can also manually set a lower charge limit on your battery in BIOS to further preserve battery longevity.

This feature can be disabled or enabled in the BIOS Advanced menu.

Battery Extender: This option is enabled by default. If disabled, the system will always keep the battery fully charged.

Battery Extender Trigger: This option sets the number of days that must pass before the battery state of charge is reduced automatically to extend the battery life.

Battery Extender Reset: This option sets the number of minutes that the system is running on battery before the extender is reset, causing the system to charge to 100% when attached to power again.

Battery Charge Limit Functionality

This release modifies the battery charge limit functionality to add a 5% float range. This allows us to reduce the number of microcycles on the battery when the CPU turbos.
Previously to the change in 3.05, the battery would be held at the target state of charge, so if a large power draw happened for a short time, such as when the CPU turbos, the battery would drain slightly and then charge again.
Introduced in this version, the battery will not start to charge until the battery has dropped 5% below the charge limit.

As an example, if the user sets the battery charge limit to 80%, the battery will maintain a state of charge between 80% and 75%. And will not charge up to 80% until it has discharged to 75% while the system is on.

If this is activated while the battery state of charge is above the limit, the battery will discharge without drawing power from the adapter until the upper limit is reached.

Downloads

Windows

Download Link SHA256
Framework_Laptop_16_Amd_Ryzen7040_BIOS_3.06.exe 8D8FC08C25A27B848D2C4A40E656A780016F12D8222656589F1688A2272EA46C

Instructions for Windows Installer:

  1. Run the .exe.
  2. Click yes to reboot.
  3. Wait for the firmware progress bar to complete, and then the system will reboot.

Please note that you must update with a charger attached.

Linux/LVFS

Updating via LVFS is available in the testing channel during the beta period.

You can enable updates from testing by running

fwupdmgr enable-remote lvfs-testing

Please note that you must update with a charger attached, then run:

fwupdmgr refresh --force

then

fwupdmgr get-updates

then

fwupdmgr update

Please note that you must update with a charger attached.

LVFS may not update if the battery is 100% charged. LVFS uses the battery status to determine if it is safe to apply updates. However if our battery is at 100% and the charger is off, we set the battery charging status to false. In this case you can discharge your battery a few percent, then plug in AC again and run fwupdmgr update.

Linux/Other/UEFI Shell update

Download Link SHA256
Framework_Laptop_16_Amd_Ryzen7040_BIOS_3.06.zip 5E249CE606FEAE29D4E289A49ECE21444A5E79B0187C0401D3529A33F55AF5EA

Note that if you use the EFI shell update with Windows, you should suspend Bitlocker if enabled before updating using the EFI updater.

Instructions for EFI shell update:

  1. Extract contents of zip folder to a FAT32 formatted USB drive. Cleanly unmount the drive before physically removing it, otherwise the BIOS update may not function correctly.
  2. Attach a charger to your device while updating.
  3. Boot your system while pressing F12 and boot from the thumb drive.
  4. Let startup.nsh run automatically.
  5. Follow the instructions to install the update.

Security Fixes

Module Name Vulnerability Score
CVE-2024-21925 Improper input validation within the AmdPspP2CmboxV2 driver may allow a privileged attacker to overwrite SMRAM 8.2
CVE-2024-0179 SMM Callout vulnerability within the AmdCpmDisplayFeatureSMM driver could allow locally authenticated attackers to overwrite SMRAM 8.2
CVE-2025-4275 A vulnerability in the digital signature verification process does not properly validate variable attributes which allows an attacker to bypass signature verification by creating a non-authenticated NVRAM variable. 7.8
CVE-2025-2884 TCG TPM2.0 Reference implementation’s CryptHmacSign helper function is vulnerable to Out-of-Bounds read due to the lack of validation the signature scheme with the signature key’s algorithm. 6.6
CVE-2024-36347 Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege 6.4
CVE-2024-49200 An issue was discovered in AcpiS3SaveDxe and ChipsetSvcDxe in Insyde InsydeH2O with kernel 5.2 though 5.7. A potential DXE memory corruption vulnerability has been identified. 6.4
CVE-2024-36350 A transient execution vulnerability in some AMD processors may allow an attacker to infer data from previous stores 5.6
CVE-2024-36357 A transient execution vulnerability in some AMD processors may allow an attacker to infer data in the L1D cache 5.6
CVE-2024-36348 A transient execution vulnerability in some AMD processors may allow a user process to infer the control registers speculatively 3.8
CVE-2024-36349 A transient execution vulnerability in some AMD processors may allow a user process to infer TSC_AUX 3.8

Enhancements

  1. Updated to AMD PI 1.2.0.0c.
  2. Added Framework’s dbx key and updated the default CA of Windows Secure Boot.
  3. Introduced Battery Charge Limiting status functionality.
  4. Introduced the Framework EC device.

Fixes

  1. Fixed an issue where hardware encryption on OPAL drives could cause a missing boot drive on subsequent reboots.
  2. Fixed battery drain issues occurring with the Balanced Power Profile.
  3. Fixed CPU power limits to prevent unnecessary limitation when the GPU is in BOCO mode.
  4. Fixed “Force Power for Input Modules” setting was not working.
  5. Security Fixed - CVE-2024-36348, CVE-2024-36349, CVE-2024-36350, CVE-2024-36357, CVE-2024-36347, CVE-2024-0179, CVE-2024-21925, CVE-2024-49200, CVE-2025-2884, CVE-2025-4275.

Important Note

  • After updating to this version, you can downgrade to the previous version.

Component Versions

This BIOS update is a bundle of updates to multiple embedded components in the system.

Not all of them use the same version number.

BIOS 3.06 Updated
EC ec_306_cf6b79 Updated
PD 0.0.1E Same
AMD PI 1.2.0.0c Updated

Reporting Issues

To report issues we have created a public issue tracker on github. GitHub · Where software is built We hope that this is a better way to track issues with community involvement moving forward as we have found it difficult to both gather relevant information about issues people are reporting on the forums, and track the issues through their lifecycle in a transparent way.
If you do experience an issue with the update that is related to your system firmware, please post as complete a description as you can, including relevant system information, and external peripherals. Please note that we do not currently have a SLA for responding to issues on github, but we will be reviewing them through the bios release process, and will review them for future updates as well.

If you have an issue regarding hardware, broken devices, returns, etc, this is not the place, please contact support.

Known Issues

  1. Type-c connection may be unstable with some Apple phones.
  2. Cannot negotiate charging for certain portable EPR power banks.
  3. If a device is plugged into an expansion card slot during the update, all USB3/DP functionality will be lost until the device is removed and reinstalled, or the system is fully shut down and powered on again. (Power off, unplug the charger, wait 90 seconds, and then power on again to recover). This issue has an occasional failure rate.
11 Likes

Found a small mistake

Should be 85Wh

1 Like

The above says one can downgrade to the previous version but reading further along it is mentioned that

Which one is true?

8 Likes

Hopefully this fixes/improves the FTR/FTH issues

Absolutely love that you all set up a email subscription for updates, signed up so I don’t end up late to the party any more :+1: thank you for finally addressing this as it has been a hard pressed topic within this community.

1 Like

I installed this update this morning through fwupdmgr, afterward went into bios and restored to factory settings, then tweaked the few I wanted (Linux sound, battery charge at 100%), and booted up. Unfortunately, first impressions are pretty bad.

I am connected to a 100w dock and battery is about 50% and charging. That is all well and good, except my performance is limited to about 544MHz on all cores which makes it feel like a sluggish, old computer. So it seems to be prioritizing charging the battery at all costs to performance. Performance profile is set to performance in Linux so this should not happen.

On the prior BIOS, it would comfortably keep performance while still charging the battery at an acceptable rate in most cases, with battery dipping if I performed a short task that needed performance. This worked perfectly for a normal day using the laptop for work.

Hopefully I can go back to the previous bios if this is intended behavior.

Also, the charge control endpoints are no longer available with this bios which, so far, means I am unable to set the battery charge limit from within Linux (I set it to 80% most the day).
/sys/class/power_supply/BAT1/charge_control_end_threshold ←-is no longer available.

EDIT: Additional tests:
Plugging in the Framework 180w adapter has no effect on performance while in this state.

Further info. UNPLUGGING the 180W charger caused the dock to completely disconnect. All devices went offline and then back on again, reconnecting again (I dropped out of my teams meeting with my team for a minute or so :smiley: ) and then my cpus started acting normal and ramping up to higher frequencies. This was all without another reboot. Anyway, I’ll play around with my various chargers and see what it does. I do not have any 240W to test yet.

Sorry for my confusion, but what is “standalone mode”? It’s only mentioned under the Windows upgrade, and I don’t find any “standalone update process below.”

@Quin_Chou can I make a recommendation/request from the team/for the community respectively? When it comes to the driver bundles, when running the .exe can we get an option in the installer to choose which ones we install? At present, when running .exe it simply goes through the motions without any options. The reason I ask, for example, is that while I might be getting new drivers, some of the ones I have (i.e. AMD chipset) are being rolled back to older versions and I have to uninstall and reinstall the new ones again. Just a thought. And if I am missing something that someone from the community can chime in on that already eliminates this, please let me know! Thanks in advance.

Edit: typo

1 Like

Phew, I’m not the only one hit by this.

For me it usually seems to trigger after power plug/unplug when starting a heavy app (VSCode triggers it quite often), which clamps the CPU down from “normal” to 500MHz, and the only fix is a reboot.

Does a reboot make your clock speeds recover?

Another possibly useful data point: Sometimes, when I plug in / unplug power, the CPU will drop to 500MHz for a couple seconds, but then usually recover to normal clocks. So maybe what happens is the CPU gets “stuck” during the switchover?

//EDIT: Just now it happened after plug/unplug of power while running, clocks recovered, then I started Discord and they clamped to 500MHz

//EDIT2: I have just downgraded back to 3.05 successfully. You will be prompted/required to reset fTPM on first boot, but other than that it just works perfectly.

3 Likes

Wow Hoo !!!

It seems FW are listening to us. I and many others suggested that a BETA BIOS should be able to be rolled back to a previous version is case users have problems with it. At least that is possible now. :slight_smile:

5 Likes

Is this an isolated Linux issue with the cpu throttle? Can anyone test for windows? I’m at work currently and don’t have the ability to myself. Otherwise I will test when I get home.

Linux issue, been happening since before the 3.06 bios.

Some ppl have to reboot. The few times I have hit it, unplugging/plugging in my power has been sufficient to solve.

2 Likes

Thanks! We correct it.

6 Likes

Sorry for confused! We correct the information. This BIOS is allowed downgrade.

6 Likes

Sorry, we make the mistake for it. It is removed.

7 Likes

Thanks for the suggestion. We’re currently pushing the driver to Windows Update and are also working to improve the driver bundle experience to prevent customers’ systems from being overridden by new packages. We’re also validating the AMD public driver, and in the future, our drivers for AMD Chipset and Graphics will be synced with those public drivers.

16 Likes

Thanks for the feedback. I’m looking into the issue you reported. To confirm, does the 500MHz reading remain constant after the update?

3 Likes

Thank you for the BIOS update.

It might be worth mentioning or explaining further what “Introduced the Framework EC device”

Is it a component that now shows up as a hardware device?

Is it controllable?

What does it do now that it didn’t do before?

Some of this might be self-explanatory but the average user might not have any idea that this now points to the Embedded Controller that is a mainstay of the board functionality. Presumably, this will allow talking to the EC for diagnosis and changing some settings for advanced users.

Great work on the BIOS fixes and changes. The Framework 16 has a complex set of components to get to play nicely.

2 Likes

For me it never happened on 3.05, but multiple times in the one day I was on 3.06, so yeah. If it happened before, it happens much more frequently for me on 3.06 (I can’t recall it happening ever on 3.05).

Sometimes on 3.05 it does dip to 500MHz, but then it quickly recovers within seconds, on 3.06 it gets stuck until reboot.

1 Like

Having an EC driver would allow software to control battery charging - e.g. changing the charge limit, without going to BIOS and controlling the fans, e.g. with SpeedFan.

Of course just having a driver and BIOS update is not enough, we now also need software that supports it.

3 Likes