Framework Laptop 13 Ryzen 7040 BIOS 3.05 Release and Driver Bundle

Updated: Apr 4, 2024

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

Downloads

Windows Driver Bundle

Download Link SHA256
Framework_Laptop_13_and_16_AMD_Ryzen_7040_driver_bundle_W11__2024_04_02.exe 6e08a1080668b0d20e90483adb79ed76d83d376c26bea438030f40038d4a60f8

Note: We have migrated to a new EV code signing certificate with the subject “Framework Computer Inc”.

Driver bundle release notes

This version migrates the AMD graphics driver to the same major release as Framework 16.

Driver Version Notes
AMD Chipset Driver 5.06.29.310
AMD Graphics Driver 23.40.18.02 Add support for AMD AFMF. About AFMF
Realtek Audio Driver 6.0.9622.1
Realtek Audio Console 1.49.318.0
RZ616 WiFi Driver 3.3.0.908
RZ616 Bluetooth Driver 1.1037.0.395
Goodix Fingerprint Driver 3.12804.0.240 Fix firmware security issue in fingerprint reader. More information here: A Touch of Pwn - Part I

Windows BIOS

Download Link SHA256
Framework_Laptop_13_Ryzen7040_BIOS_3.05.exe 6fbc25bf65f797088349daa81fe85cd91f2752b963b3f06e052036f8738abac2

Note: We have migrated to a new EV code signing certificate with the subject “Framework Computer Inc”.

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.

Linux/LVFS

We are waiting for metadata to rebuild in 4 hours

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

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_13_Ryzen7040_BIOS_3.05_efi.zip 37c3f453d3f475b453531e8173f446e59c3b4738a4f12313fbc8a972e21b9445

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. Disable secure boot in BIOS.
  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.

Updating a Mainboard outside of a laptop

This release supports standalone updates without a battery attached. 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 if a PD firmware update is necessary.

Security Fixes

For more information about LogoFail:

Module Name Vulnerability Score
A8DAFB9B-3529-4E87-8584-ECDB6A5B78B6 BRLY-2022-118 4.9
BmpDecoderDxe BRLY-LOGOFAIL-2023-001 6.0
BmpDecoderDxe BRLY-LOGOFAIL-2023-002 8.2
BmpDecoderDxe BRLY-LOGOFAIL-2023-003 8.2
GifDecoderDxe BRLY-LOGOFAIL-2023-004 8.2
GifDecoderDxe BRLY-LOGOFAIL-2023-005 3.2
GifDecoderDxe BRLY-LOGOFAIL-2023-006 8.2
JpegDecoderDxe BRLY-LOGOFAIL-2023-008 6.0
JpegDecoderDxe BRLY-LOGOFAIL-2023-009 3.2
JpegDecoderDxe BRLY-LOGOFAIL-2023-010 6.0
PcxDecoderDxe BRLY-LOGOFAIL-2023-011 6.0
TgaDecoderDxe BRLY-LOGOFAIL-2023-012 8.2

Enhancements

  • Enable Z state support.
  • Modify EC MMIO region definition to allow debug logging support.
  • Add EC host command to get privacy switch status.

Fixes

  • Change the BIOS password to remove password expiry after one month.
  • Modify the BIOS password complexity requirements to only require a minimum length.
  • Fix several UCSI errors on Linux when attaching/removing expansion cards.
  • Fix battery cutoff behavior.
  • Fix LogoFail security vulnerability.
  • Fix incomplete battery information displayed in the OS.
  • Fix keypresses are not detected in the standalone menu.
  • Fix bios reset process when using chassis open switch.
  • Fix system hang on resume when NVME password is set.
  • Fix compatibility issue with some low wattage chargers.
  • Fix issue where power LED would not turn off when suspending and then closing the lid.
  • Fix issue where fan detection was running on resume, causing fan to briefly turn on when resuming from suspend.
  • Power off retimer on port with Framework Power Adapter.

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.05 updated
EC b4c1f updated
PD 0.0.1C same
AMD PI 1.1.0.2a updated
Insyde Core 05.53.47.0017 updated

Known Issues

  • IRQ1 will always be triggered on resume from standby. This issue mostly impacts Linux users. We have a potential root cause that we hope to fix in our next release.

Known Vulnerabilities

The following vulnerabilities were not detected by our scanner during the development of this release. However they are currently flagged during our release testing window. These will be resolved in the next release.
These are part of the following advisory:

And further documented here.

https://blog.quarkslab.com/pixiefail-nine-vulnerabilities-in-tianocores-edk-ii-ipv6-network-stack.html
The network stack is not enabled by default in our BIOS, so the default configuration should not be exploitable.
We suggest disabling the network stack in the BIOS setup menu under boot options to mitigate this if you have enabled it.

Module Name Vulnerability Score
Ip6Dxe CVE-2023-45232 7.5
Ip6Dxe CVE-2023-45233 7.5
Dhcp6Dxe CVE-2023-45230 8.3
UefiPxeBcDxe CVE-2023-45234 8.3
33 Likes

Thank you for your guys hard work, this is very much appreciated.

3 Likes

Excited to see this and will update and report back.

One question to @Kieran_Levin - if we have already installed more recent drivers than included in the driver bundle, will the installer skip that particular driver?

Update went smoothly via LVFS, can confirm the UCSI errors are no longer present.

And what is “Z state support”?

What is the real impact of this issue?

3 Likes

Thank you for the 3.05, just updated, everything went well.

Any idea when/if a fix of this issue will come? I tried and unfortunately 3.05 did not address this bug, and this is a valid concern some users had for quite some time now.

(my offer to provide FW my drive/enclosure/cable for testing still stands)

Edit

Further tested, behaviors I described in the original post can all still be replicated.

3 Likes

Might be the display controller sleep state as mentioned in this article

https://www.techpowerup.com/292118/amd-zen3-architecture-and-ryzen-6000-rembrandt-mobile-processors-detailed?amp

2 Likes

Ok - couldn’t wait :slight_smile:

Driver bundle does overwrite older driver versions. For me, this meant reinstalling AMD Adrenaline and chipset drivers again after the bundle installed. No other way to get the updated Fingerprint Reader, Wifi drivers etc.

Otherwise, so far so good. Bios updated and all running fine. Will keep an eye out for the daily Windows crashes and sleep issues to see if they are resolved/reduced.

  • Change the BIOS password to remove password expiry after one month.
  • Modify the BIOS password complexity requirements to only require a minimum length.

I was losing hope but y’all are awesome, thank you for this!

7 Likes

@Kieran_Levin

Are the checksums posted anywhere other then this forum? I would like to cross reference them to make sure it is the real checksum. Maybe on GitHub, FW socials? Posting in one place doesn’t isn’t the most secure method, especially with bios updates. Would be even better if they were signed.

2 Likes

Cross posting in case it’s helpful: Hibernation used to work but stopped working some weeks ago (AMD13). Suspend works fine. The hibernation problem persists after updating to the new BIOS (3.05). The screen goes black, then is restored, but neither mouse nor keyboard respond, and only shutting down by long power button press and restarting works.

3 Likes

Indeed. I have the same problem (affects Modern Standby when Windows decides to hibernate after a period of battery drain).

@Kieran_Levin I just updated (LVFS). All seems good so far (just minutes into the new BIOS) but it also brought back a wake-back-up-on-lid-close issue that’s almost (not 100%) identical to the original report in this old thread:

  • All done while plugged in to dock (also provides power).
  • Suspend using power button.
  • Close lid.
  • Machine immediately wakes up.

The only change here was the BIOS+EC update, everything else stayed the same: Fedora 39 on 6.7.11-200.fc39.x86_64.

That original issue above had been worked around at the time with a udev rule:

$ cat /etc/udev/rules.d/20-framework-suspend-fixes.rules
# Disable wakeup from spurious keyboard event caused by power (un)attach (working around FW EC bug).
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"

but that hadn’t been necessary for some time now as a kernel workaround rolled out (for Fedora IIRC it was backported during the 6.6 series) so I had disabled it then.

Re-enabling the udev rule mitigates this for me with BIOS 3.05. The only “loss” (if you can call it that) is that the power button no longer pulses while sleeping after the lid is closed. No biggie, just a little side loss (or benefit for some I guess).

There’s FW/AMD things brewing upstream:

https://bugzilla.kernel.org/show_bug.cgi?id=218641

has anything that sorta-reverted that earlier kernel workaround been backported to stable kernels?

ccing @Mario_Limonciello and @Matt_Hartley here I suppose.

2 Likes

I did the update. Boot up and the system operates seemingly ok. One improvement tested: Can close the lid and open again and the system stays on instead of turning completely off.

CLI tool displays correct new version info (3.05).

However, when I went back to turn off booting from USB in the bios options, password I used before now no longer works. Used to show when typing up to 10 characters, now there is 64 character p/w indicator. I can’t edit bios anymore. I’m pretty sure I’m not mistyping or leaving all caps on, or something like that. Even walked and took a few hours break before trying again.

How screwed am I?

4 Likes

It only applied to BIOS 3.03 as we were anticipating it fixed in next BIOS. I guess we need to extend the quirk to this BIOS too if this goes to stable.

Kieran mentioned it in known issues above; it’s still being investigated.

I’ve noticed since upgrading sometimes my caps lock is wrong.

5 Likes

Excellent work. Thank you very much for the very informative post and detailed recap. I appreciate you all keeping your word to include the hashes, and really make this release very smooth and professional; with bonus transparency on what’s next.

Excellent testing and feature deployment, very impressive turnaround. This was much needed, and framework delivered on all counts.

You can extract the exe using 7-zip and just update the stuff you want in device manager.

1 Like

Perhaps you can try rolling back to 3.03 BIOS with the 3.03/3.03B package?

I should have thought about that - thanks!