12th Gen Intel Core BIOS 3.08 Release

I’ve used these instructions by @leorize to update my BIOS, including CSME to the beta version using the EFI method and it’s been running great for months now.

Support doesn’t seem to recommend it so I won’t either, but it does seem viable and overall the update process isn’t as precarious as it might seem

2 Likes

That would be one of those communication problems. Because publicly, they never spoke on it. They never mentioned the ME-updater’s existence.
And since I tried to find out how the ME-updater would be called (and could not find anything obvious), it seems more likely, that they had internal miscommunication.
Someone designed the EFI updater for people to manually run the ME updater from the shell. But they never communicated that. And when they noticed that it was not part of the automatic update, they pulled it instead of just telling people the commandline.
Like to hide, that they did not know how their own updater was supposed to work.

Of course there is a chance that the EFI ME Updater has instability on top of the chaos. But that would only further illustrate how bad the “release” is.

Same as that they tried to sneakily release the 3.08 Windows installer. And ignored all comments that it was the wrong installer and then silently, without ever mentioning it, swapped the link out. No explanation, no note that the file has changed and what it solves. Nothing.

They still haven’t managed to simply read over their own release page and clean it up to make it look a little more professional by making it less contradictory or a tiny bit better structured.

All they have done with all of this, is convince me, that they are barely devoting any time to 12th gen and if they do, they have to rush so much it causes oversights.

7 Likes

Updated successfully. I decided to make a Windows To-Go on a 250GB expansion card in order to make the update a little easier and everything worked out just great. No issues. I did have a question, however.

I ordered the new 61wh battery and received an email (on Tuesday April 23) that said the BIOS update for the 12 Gen intel to use the new battery was “pending”; however, this post and the page for the update says that it should support the new battery now. I just wanted to confirm that that is actually the case in case anyone knows for sure.

2 Likes

Yes , support for 61Wh is included in 3.08 and it was also included when it was a beta release. However since the update was still in beta a week ago, they had to state that the support was pending as the release was not official and the product page did not get updated yet.

I appreciate the confirmation. My guess is that I received an automatic message that hadnt been updated yet. Time to open up my laptop and get a longer battery life. :muscle:

We would like to get feedback on a new updater for 3.08. This updater changes the way we deploy the bios update. So We would consider it be a alpha release at the moment until we get additional feedback from the community.

There are no changes to the bios itself in this release. Just changes to how the update is applied from the EFI shell script.

This change fixes several issues:

  1. It checks firmware versions before running any portion of the update. And removes tag files that were used to track if each portion of the update was complete or not. This should fix issues that several users were reporting that they would get script errors during the update which we traced to the fat32 partition becoming read only.
  2. This moves the update out of the wrapper application that was preventing the CSME update to run successfully. We do not know why the h2offt tool was not able to run this step internally when wrapped.
  3. This update changes the update process from running each update step 1 at a time with a reboot each time, to staging the updates together on the internal NVME drive. This should improve the ability to complete all steps of the update without having to manually reboot into the update drive after each step. Which some users experienced.

https://downloads.frame.work/bios/Framework_Laptop_13_12th_Gen_Intel_Core_3.08b_EFI.zip

Troubleshooting notes:

  1. If you experience ports not working after your update. Please shutdown, unplug all power sources, wait 90 seconds, and then power on again.

After we get some positive feedback from the community, we will update the top post with this new version.

18 Likes

I gave it a shot just now, super exciting to see progress on the updater.

Unfortunately, since I already used the old 3.08 updater, running this one quits early and just says the updated is already complete.

Checking my CSME version with intel’s tool still shows 16.0.15.1810, along with a warning reminding me that this version is vulnerable.

So it seems like the new updater won’t help users who have already “updated” but are missing the CSME update.

5 Likes

That would be because the new script, does not in fact rely on any H2OFFT to execute the ME update, but simply tries to execute the respective command line manually (“FwUpdlcl.efi -F FWUpdate.bin”). But whether it does or not is tied to the main BIOS version not being 3.08. So yes, the 3.08b EFI updater was designed to not fix what went wrong with the 3.08a EFI updater.

But on the other hand, the ME updater that is called, is binarily identical to the previous EFI updater. Proving that running the command line some in this thread have already figured out in January is all it takes to make that update and that FW themselves has always considered the ME EFI updater safe to execute…

Edit: fascinatingly, the ME updater does its own check for up-to-date firmware and with the used arguments would decline to update if already up-to-date…

2 Likes

I was unable to drop into a shell from the EFI updater to execute the ME updater, but I edited the script like this just now (compare to a version higher than 3.08 so it updates, and then don’t set pendingbios so we avoid re-updating the bios):

set -v pendingbios 0
framework_tool.efi --compare-version 03.09 --device bios
if "%lasterror%" == "1" then
    echo "Updating bios"
    FwUpdlcl.efi -F FWupdate.bin -Y
    #set -v pendingbios 1
endif

And that was successful, my CSME version is up to date now.

2 Likes

If you want a more normal updater, than you should be able to pull the command out of the if entirely. Then the rest should run unaltered. You would just always get the updaters message if up-to-date.

2 Likes

Just finished updating using the windows 11 updater, no issues updating here. My laptop is a batch 1.

1 Like

thats not how public beta testing works but ok

2 Likes

@Kieran_Levin I’d like to report that the EFI update on my FW13 1260p running Fedora 39 went without a hitch. I was using the factory bios prior(3.05) Just some additional pointers to anyone using this method:

  1. The initial update process is quite fast however there will be 2 or 3 steps of updates after that.
  2. The waiting time in between each step took almost a minute on my laptop. It may be more on others. At this point the screen will be blank. Do not do anything and let the update complete
  3. The whole process took slightly over 8 minutes on my FW13.
  4. On my FW13, I knew it was done when the fedora unlock drive encryption screen came on

Bios readout from Fedora before and after:

Screenshot from 2024-05-02 13-24-55_cut

Screenshot from 2024-05-02 13-49-06

I hope this encourages more people to try this method now.

edit - had a curious issue where the HDMI expansion card wasn’t working today when i plugged it in to my usual HDMI cable / monitor. The only difference would have been this bios update. Unplugging and replugging the HDMI expansion card fixed it. Just want to share in case anyone else faces this issue.

1 Like

Thank you for progress on this stuff. I’m not a good test as I had already upgraded including manually upgrading the CSME, but I did try it. It ran just fine and was very clear that the bios was up to date and I liked the clear instructions to just power off and remove the thumb drive. I didn’t see anything in the output about the CSME version though…

1 Like

I try to update form 3.04 to 3.08b with the new EFI shell script.

At the end was a green screen (see picture) with the txt
COMPLETE your Bios is up to date.
UEFI BIOS
Version 3.04

Looks to me like something went wrong. It should say 3.08 there or?

3 Likes

Just checking if you used the latest version from this post:

I can share a video of my update progress if this helps. You should have 2 other update screens after the first update before the whole process is complete

1 Like

Only the new updater has that green-background result screen.

The script just runs top to bottom. First it checks if things are out of date. If anything is out-of-date it executes the separate updater executables that may include a reboot (not sure if the Capsule Updates of ReTimers & Main BIOS will automatically reboot). And the script falls through to that success screen.

Presumably, the updater should attempt a reboot and install the updates just like when doing this from Windows. Because otherwise it makes no sense that the script would always end in a success screen.

If the device does not reboot before showing the success screen, then presumably, the Capsule Update process failed somehow. As Kieran mentioned it is supposed to stage the update on the NVMe disk using hardcoded partition “fs0”. So my guess would be, that is where things are going wrong. And since the script does not check for error codes from that part of the update process it simply goes on to the success screen.

Fair enough, I don’t remember seeing a green screen but i guess i could be wrong

Thanks,

Successfully updated from 3.06 Beta to 3.08b today using the new EFI method.

I used to have issues with the 3.06 Beta Update, probably caused by my NVME drive being self encrypted using SED/OPAL PBA (see 12th Gen Intel Core BIOS 3.06 Beta - #22 by janekt)

The new method worked fine with my setup. Had to unlock the encrypted drive on every reboot of the updater, but the updated continued without issues.

UPDATE 1: looks like after the update, the right PD controller’s version is different from the version of the left controller. The script also didn’t asked me to change port of power cable/usb stick.
Is this to be expected?

UPDATE 2: After poweroff for 90 seconds + reboot into EFI updater, the “Backup App” for the right PD controller was suddenly on “0.1.44”. “Main App” stayed on 0.1.33.
Even after several reboots, 90sec without power, restart of EFI updater etc:

I then manually called the PD updater for the Right controller in EFI Shell, which successfully updated the Right PD controller to 0.1.44 (while having PD power on top-left, usb drive on bottom-left port):


image

To me it looks like something went wrong during PD Controller update in the startup script and the startup script doesn’t retry updating the PD controller firmware.

Mine went the same as NF117

First attempt i didn’t capture the error, but it performed some sort up update that took a minute or so, then reported the same error as the second attempt. It did not reboot during this whole process.
First attempt green screen:


Second attempt work screen and error:

I’ve got separate /boot and /boot/efi partitions if that makes the difference:

stewart@muh04 ~ % lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
nvme0n1       259:0    0 931.5G  0 disk  
├─nvme0n1p1   259:1    0   244M  0 part  /boot/efi
├─nvme0n1p2   259:2    0   488M  0 part  /boot
└─nvme0n1p3   259:3    0 930.8G  0 part  
  └─luks_root 254:0    0 930.8G  0 crypt /
1 Like