Framework Laptop 13 - 12th Gen Intel Core BIOS 3.17 Release BETA

Note: BIOS version 3.17 can be downgraded to the previous stable version, 3.08, using the standard BIOS update procedure.

Highlights

  1. Update Intel CSME to 16.1.35.2557v0.1_Corporate
  2. Update Microcode to 0x436.
  3. Update PD firmware version 0.1.2E to improve system power consumption with low power HDMI/DP expansion cards when no monitor is attached.
  4. Fixed retimer updates cause ports to stop working after the update.
  5. Fixed retimer capsule update causes the device in standalone mode to reset and fail updating during the update process.
  6. Fixed high temperature causes continuous CPU throttling to 400Mhz.
  7. Added battery lifetime extender functionality. (See below for details)
  8. Add USB4 PCR Measurement BIOS option in the advanced setup menu.
  9. Dual Display(Panel+External Monitor) support for pre-boot (BIOS/POST)

Please note that if you update to 3.06 or higher, you will not be able to downgrade to version lower than 3.06, as it will cause left side ports to stop functioning correctly.

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 61Wh 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.07, 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_13_12th_Gen_Intel_Core_BIOS__3.17.exe 019ad800460f1edf818664ee5c2a9b5f22f208ab7e4fa01a63cc7f574178ed6b

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.
  4. If you are updating a system in standalone mode, please pay careful attention to the standalone update process below.

Please note that you must update with a charger attached.

Please note that the windows update does not support updating retimer firmware. There is not a functional impact to port functionality if you do not choose to update your retimer firmware.

Windows retimer updates

Please note that retimer updates only need to be done one time. So this is only necessary to do one time. This is optional.

Download Link SHA256
Framework_Laptop_13_12th_Gen_Intel_Core_Retimer_port_01_310.exe f4a9315376eb73c4c6c8e380e0540afc5adef2da5b787443188befebc50e4f51
Framework_Laptop_13_12th_Gen_Intel_Core_Retimer_port_23_310.exe 4c6c78c552d016b69009025beb0540c582a03bba3a581afa42320403b6584801

There are 2 retimers on the system. Please follow the instructions to do twice with different executable files.

Retimer update instructions.

  1. Update the BIOS first.
  2. Boot into Windows after BIOS update.
  3. Run the .exe and wait for firmware update tool to stage the update.

  1. After initialization, the system will restart and and update the retimer firmware.
  2. Repeat step 3 after rebooting to update the second set of retimers.

Please note that you must update with a charger attached.

Linux/LVFS

Please note that for this platform LVFS will not update the CSME firmware. so we only recommend updating using the EFI updater. This is a limitation of LVFS which does not ship the binary blobs from Intel necessary to update the CSME.

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

Please note, you need to update to 3.05 or later to update using EFI, as this is needed to support capsule on disk.

We have finished the beta period, and consider this release stable. You can download the release below, please follow the update instructions below.

Download Link SHA256
Framework_Laptop_13_12th_Gen_Intel_Core_BIOS_3.17_EFI.zip a8a8dc3b5a0cca9f800a5de04d1f718babeb627bdd87f35d1bcc128e85ea42b4

We have rewritten the update process for EFI. This new version will stage the bios and retimer updates onto your internal SSD and run them all together in sequence. This is to avoid issues with usb devices disconnecting and disappearing during subsequent updates during the update process, which would cause partial updates to be applied.
Troubleshooting:
If you experience ports not working after your update. Please shutdown, unplug all power sources, wait 90 seconds, and then power on again.

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. Boot your system while pressing F12 and boot from the thumb drive.
  3. Let startup.nsh run automatically.
  4. Follow the instructions to install the update.

Updating retimers

After the bios update completes, press F12 after restarting to again enter the boot menu, and boot from your thumb drive. Let startup.nsh run again to confirm or update your retimer firmware. If retimers need updating, the update will be staged to perform an update on both retimers.

If doing a standalone update, the display output will not work during the retimer update. Please note that retimer updates take 2 minutes to complete. So please wait at least 5 minutes before attempting to power off or reset the device.

Updating a Mainboard outside of a laptop

This release supports standalone updates without a battery attached only when updating using the EFI shell method only. After rebooting, please follow the onscreen instructions to update your BIOS when in standalone mode, which will require moving the power source between both sides of the Mainboard to allow PD firmware to update correctly.

Please note that the power and display output must be connected to the same side during standalone updates. Failure to do this may result in no display output during the update process.

We recommend the following update flow for standalone updates:

Part 1

Ensure that standalone operation is enabled in the bios advanced setup menu.

Display connected to upper left port.
Power connected to the lower left port.
Run the updater from EFI shell. Please follow the “Instructions for EFI shell update” to run the updater.

Select the EFI USB Boot Device.

The Updater will update the PD controller from right side. Press any key to continue updating.

Part 2

Plug the AC to the left side, then boot to EFI updater. The Updater will update the PD controller from left side. Press any key to continue updating.

After PD updates, it will reboot automatically, then start the BIOS capsule update.

Then, the EC will update after BIOS section finishes.

After this, the system will reboot. Please press F12, and select your thumb drive as the boot device. And run the update again to update retimers if necessary.

If the retimer update is finished, the system will reboot automatically. Please press F12 again, and select your thumb drive as the boot device. You will see the screen that shows all the firmware versions.

If the retimer update is not needed, you will see the screen that shows all the firmware versions.

Security Fixes

CVE Note Score (CVSS Version 3.x)
CVE-2023-45230 Dhcp6SendRequestMsg does not validate the Server ID option 8.3
CVE-2023-45232 DXE memory corruption vulnerability 7.5
CVE-2023-45233 DXE memory corruption vulnerability 7.5
CVE-2023-45234 PxeBcHandleDhcp6Offer does not validate the DHCPv6 offers 8.3
CVE-2024-25078 A memory corruption vulnerability in StorageSecurityCommandDxe 7.4
CVE-2023-34424 Improper input validation in firmware 4.4
CVE-2023-38655 Improper buffer restrictions in firmware 6.8
CVE-2023-40067 Unchecked return value in firmware 5.7
CVE-2023-48361 Improper initialization in firmware 2.3
CVE-2024-21844 Integer overflow in firmware 5.3
CVE-2024-49200 A potential DXE memory corruption vulnerability 6.4
CVE-2024-31068 A potential security vulnerability may allow denial of service. 5.3
CVE-2024-26021 Potential security vulnerabilities may allow information disclosure, denial of service, or escalation of privilege. 2.3
CVE-2024-30211 Potential security vulnerabilities may allow information disclosure, denial of service, or escalation of privilege. 6.0

Enhancements

  1. Update PD firmware version 0.1.2E to improve system power consumption with low power HDMI/DP expansion cards when no monitor is attached.
  2. Update Intel CSME to 16.1.35.2557v0.1_Corporate
  3. Update Microcode to 0x436.
  4. Added battery lifetime extender functionality.
  5. Add USB4 PCR Measurement BIOS option in the advanced setup menu.
  6. Dual Display(Panel+External Monitor) support for pre-boot (BIOS/POST)

Fixes

  1. Fixed retimer updates cause ports stop working after the update.
  2. Fixed retimer capsule update causes the standalone device to reset and fail the update.
  3. Fixed the battery extender setting overwritten battery charge limit on boot.
  4. Fixed battery charging limit is reset by the battery extender reset timer.
  5. Fixed high temperature causes continuous CPU throttling to 400MHz.

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.17 3.08
SI c.0.75.10 c.0.75.10 Same
TXT 1.18.13.0 1.18.13.0 Same
Intel CSME 16.1.35.2557 16.1.30.2269 Updated
Microcode 436 429 Same
GOP 21.0.1061 21.0.1061 Same
EC a7cf293 4ea1c89 Updated
PD 0.1.2E 0.1.2C Updated

Known Issues

  1. There are two progress bars when updating the bios using the EFI update method.
  2. No display output during the retimer update.
6 Likes

Downloadable beta bios?! Woooo actual progress (asuming it works)

4 Likes

Well, that’s … interesting. Tried the EFI method which told me that the actual “target” is the already installed BIOS 3.09 version and only updated the “firmware”.

I then updated using the Windows exe that correctly identified the current version as 3.09 and the target version as 3.17. :person_shrugging:

Since I’m on Linux, I used the EFI method from version 3.09. The updater recognized that 3.09 was older than 3.17, so an update was scheduled and executed. Additionally, the CSME, Microcode, and EC firmwares were updated. As the retimers and PD firmwares were already up-to-date, no update was scheduled.

After rebooting, the laptop’s fan noise returned to being loud (instead of being quiet, as it was on 3.09, which seemed to be related to a fan curve issue). Thus, the issue seems to be “fixed”, although I preferred the quieter version.

As I had no issues on 3.09, I can’t tell whether any of these are fixed.

1 Like

Updated from 3.09 using EFI method, was totally hands-free and painless, and I have verified that all components are up-to-date afterwards.

I only had the battery charge limit bug with the previous firmware, will monitor to see if it’s solved this round.

1 Like

Thank you very much. It clearly made the 0,4GHz issue a bit better but didn’t fix it for me, sadly. Pretty much run directly into it after applying the three updates and rebooting, opening Firefox, …

What I mean with better is that it seems the laptop is leaving the 0,4GHz range at least a bit quicker but is fast to fall back into it once a bit of load is applied.

Will have to downgrade to 3.08 once again… :frowning:

While I also wish for a better and customizable fan control instead of just disabling it in the EC again (fwk: hx30: disable virtual temp and fan · FrameworkComputer/EmbeddedController@902ed55 · GitHub), in the meantime, I just immensely enjoy my fingers and battery not getting toasted anymore :slight_smile:

It appears you can still reproduce this issue quite easily, so I’d like to investigate it more deeply with you. While we’ve run various stress and thermal tests under heavy load on this version, we haven’t been able to replicate the “0.4G” behavior on our end with this version. I’ll identify a suitable way for you to collect more detailed system data to help us with the root cause analysis.

2 Likes

Sure, happy to help. Just let me know what needs to be done.

1 Like

I hope you’re going to be compensated for your time!

@Quin_Chou What is your sample size? If there’s only a single 12th gen test bed in all of framework, how do you expect to reproduce the issue? Does anyone there still daily drive this thing?

Maybe you can dig out my return and try that, since it 100% has the issue :wink:

1 Like

I dont think this is how public, voluntary beta testing works…

2 Likes

Installing it is one thing. Being tasked by the manufacturer to do work on their behalf sounds like freelance QC to me.

Thats the whole point, isnt it?
You install it, test it and report issues back, so that these issues get fixed, before the version is released.

Nobody forces you to do it.
Yo do it, because it is fun to you and / or you want to help out.

I think that if someone installs a beta firmware, it is not wrong to assume, that this person is willing to invest some time and provide information for the company on how to reproduce the issue.

I work in software myself and if a customer reports an issue without guidance on how to reproduce it, oftentimes the issue will not be fixed, because it is very hard to reproduce it by just trying things.
It can be difference between multiple days of work or just an hour..

5 Likes

Before this update I was disgruntled by the lack of 13/intel12 support, so this came as a pleasant surprise. This is the first BIOS update I’ve ran that went without problems. Happy to see improvements to the maintenance of the older hardware. Keep it up!

RE: “Please note, you need to update to 3.05 or later to update using EFI, as this is needed to support capsule on disk.” So, given that I have a 12th gen that came from the factory with 3.05, I can run this update and go directly from 3.05 to 3.17? Just confirming. I have been waiting to update until I felt comfy about it.

1 Like

Do they? Clearly not.