Bazzite
Framework Laptop 13 model 12th Gen Intel® Core
I’m on 3.04 which is too early for fwupdmgr. EFI shell refuses to flash the firmware with the errors listed in this thread. Adding in --allowsv (it’s V not a Y) flashes the firmware but it never updates. It keeps coming back with 3.04. I have turned off secureboot.
There is likely minimum versions so you’ll need to update to other releases before going to 3.17. 3.04 was the launch BIOS after all.
I was thinking of such. I heard from someone else that there was a boot disk prior to the EFI but I can’t find it nor can I seem to locate older firmware.
I’ve asked support about the old bios flash disk. They’ve had me do a few things including a master reset which hasn’t worked. The EFI flash says it’s successful doesn’t actually flash anything.
Some people have found that there is not enough free space on the efi partition. The upgrade involves copying the firmware from any external storage device to the internal nvme device on the efi partition. If there is not enough space, if fails to update the bios.
Does it work with USB disk EFI BIOS update?
@Charlie_6 That’s what I’m using now and no it doesn’t. It says it writes the firmware but at the end the firmware isn’t updated. It’s failing on the timer updates but that’s because the existing firmware is so old I believe.
Do you have any idea how I can do that? Do I need to wipe the NVME? Does it need to be formatted as FAT32?
Looks like I should have enough room there.
SOLUTION
OK, I found the issues. Here’s what I did in hopes it will help others.
This information is based on a 13" 12th gen with BIOS 3.04 attempting to upgrade to 3.17. I’m running Bazzite Linux but the OS won’t really matter for this because this is using the EFI boot method. If you haven’t read this page, pause here and go read it.
- Create a FAT32 USB
- Unzip the EFI zip file onto the top/root directory of the USB
- The USB drive does NOT need to be bootable
- Turn off SecureBoot. This may not really be needed but I’ve read a bunch of reports that this is needed. I did it anyway to be safe.
- If you run into errors, read the items below
- Power on the system and spam F12 until you see the boot menu and select the USB drive.
- Flash as per the instructions above or the workaround below
- Re-enable SecureBoot
Changes were needed to startup.nsh
- If you get an error saying that flashing the same version is not allowed, and you clearly are flashing a newer version, add “-allowsv” to proceed to the next step.
FwUpdlcl.efi -F FWupdate.bin -Y -allowsv
- If your next error is ~ “capsuleApp cannot find a valid file system on boot devices” then the solution was discovered in this Reddit thread. The issue is with the “-0D” flag in capsuleapp.
If you interrogate CapsuleApp.efi for the description of its arguments and options, it tells you that the -OD
flag is for loading the capsule from a mass storage device. In our case, the capsule is a regular file. Removing the -OD
flag results in a successful update.
- Search for “winux.bin” and you’ll find two lines that look like this:
CapsuleApp.efi winux.bin Framework_Laptop_13_12th_Gen_Intel_Core_capsule_signed_allsku_3.17.cap -0D
- For both lines, remove the “-0D”
-
After making the above changes, perform the flash ONCE. The computer will reboot into the flasher, reboot a few times, and then you will panic because the screen is black. Don’t panic, just let it sit for at least 2 minutes (the official guide says up to 5 minutes) while it updates in the background. It will come back and boot into your OS.
-
SHUTDOWN and remove the flash drive.
-
Edit startup.nsh again and REMOVE “-allowsv” from step 1.
-
Perform the flash again. This will update the retimers. The process will look like it did in step 3 above.
-
Linux: Once the system reboots into the OS, you can run topgrade, ujust upgrade, fwupdmgr, etc, and it will show that life is peachy. You should be able to upgrade using LVFS (i.e., fwupdmgr) from here on out. You’ll also see that the firmware security report app is a whole lot of green now.
3 Likes
It’s totally subjective but the system feels faster. Before, it was sluggish to the point of me thinking about upgrading the motherboard. Now it has more spring in its step.
Thank you so much! This helped me update from 3.04 to 3.17. I had tried updating before, so I got the message that flashing the same version is not allowed. I also got the “capsuleApp cannot find a valid file system on boot devices” error message and when I checked which bios version I had it still said 3.04. I followed these instructions, specifically -allowsv and removing -OD and that solved it.
I am using Ubuntu 22.04 in case that matters.
I don’t see any updates with fwupdmgr, though now it says that there are two devices that could get updates.
1 Like
Glad it helped!
You can try installing the firmware app from flatpak and see if that gives you an easier time of applying those updates. Personally, I still find fwupdmgr to be a bit clunky and often it’s easier to see the status with the GUI.
Thanks for this.
It’s helped me with my 12th gen stuck on 3.04. I’m now fully up to date.
1 Like