BIOS 3.06 on LVFS testing, but error trying to update under Fedora 35

The beta BIOS 3.06 showed up for me on LVFS, but the update failed with this error:

failed to read EFI variable: Error opening file /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c: No such file or directory

That file doesn’t exist, but /sys/firmware/efi/efivars/OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c is present.

Not sure if this is on Framework’s or Fedora’s court (or generic LVFS), so starting here…

Edit: If it matters: I’m booting with Secure Boot enabled.

Failed at what point? Right at the beginning?

I think it will be appropriate to note here, that the firmware on LVFS is still a test one. I’d recommend waiting or using the Windows Installer method to upgrade the UEFI Firmware before you try this so they can properly test that it deploys correctly.

Obviously a good thing to note, to exercise caution.

Since I was interested I tried it out myself (running an Ubuntu 21.10 system with Secure Boot enabled) with no issues.

Well, seems that it’ll be easy to update UEFI Firmware on Linux. (Sometimes I wish I had a Framework laptop, but oh well)

Thanks for the feedback @John_Flatness.

ping @mattdm @Kieran_Levin - sorry to inject noise, seems like this is either distro-specific or vendor-descriptor-specific (on LVFS). Something about expected mappings of EFI vars to the filesystem. The searching I’ve been able to do so far hasn’t yielded anything useful.

Edit: This is on Fedora 35.

The file fwupdmgr complains about doesn’t exist, but one with almost the same name does:

[d@greebo ~]$ sudo fwupdmgr update
Place your right index finger on the fingerprint reader
Devices with no available firmware updates: 
 • UEFI Device Firmware
 • UEFI Device Firmware
 • WDC PC SN520 SDAPMUW-128G-1001
╔══════════════════════════════════════════════════════════════════════════════╗
║ Upgrade System Firmware from 0.0.3.2 to 0.0.3.6?                             ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ New Features and Changes                                                     ║
║                                                                              ║
║ • Support hardware changes on mainboards with new audio codec.               ║
║ • Add BIOS menu option to adjust power LED brightness.                       ║
║ • Initial support for booting without battery.                               ║
║ • Change power button force shutdown time from 20 seconds to 8 seconds.      ║
║ • Update Realtek EFI UNDI driver to version V2.035.                          ║
║ • Show detected PCIe NVME and USB storage list on BIOS boot page.            ║
║                                                                              ║
║ Fixes in this release                                                        ║
║                                                                              ║
║ • Fix TPM Event log table resource pointer.                                  ║
║ • Fix ACPI ECDT table EC ID field had wrong EC ACPI object.                  ║
║ • Enable the fan in modern standby.                                          ║
║ • Increase the retry time before enabling PS2 mouse fallback mode..          ║
║ • Fix UCSI driver hang on right side ports causing UCSI updates to stop      ║
║ notifying the OS until a restart.                                            ║
║                                                                              ║
║ Known Issues                                                                 ║
║                                                                              ║
║ • Battery cutoff through BIOS or by holding down the mainboard power         ║
║ button needs to be performed on AC.                                          ║
║                                                                              ║
║ Laptop must remain plugged into a power source for the duration of the       ║
║ update to avoid damage.                                                      ║
╚══════════════════════════════════════════════════════════════════════════════╝

Perform operation? [Y|n]: 
Downloading…             [***************************************]
Downloading…             [***************************************]
Decompressing…           [***************************************]
Decompressing…           [***************************************]
Authenticating…          [***************************************]
Authenticating…          [***************************************]
Restarting device…       [***************************************]
Writing…                 [***************************************]
Scheduling…              [***************************************]
Decompressing…           [***************************************]
failed to read EFI variable: Error opening file /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c: No such file or directory
[d@greebo ~]$ ls -l /sys/firmware/efi/efivars/*8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root  118 Dec  2 03:41 /sys/firmware/efi/efivars/Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root  122 Dec  2 03:41 /sys/firmware/efi/efivars/Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   46 Dec  2 03:41 /sys/firmware/efi/efivars/Boot2001-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   44 Dec  2 03:41 /sys/firmware/efi/efivars/Boot2002-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   40 Dec  2 03:41 /sys/firmware/efi/efivars/Boot2003-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    6 Dec  2 03:41 /sys/firmware/efi/efivars/BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    8 Dec  2 03:41 /sys/firmware/efi/efivars/BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   14 Dec  2 03:41 /sys/firmware/efi/efivars/BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   87 Dec  2 03:41 /sys/firmware/efi/efivars/ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   38 Dec  2 03:41 /sys/firmware/efi/efivars/ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   34 Dec  2 03:41 /sys/firmware/efi/efivars/ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   34 Dec  2 03:41 /sys/firmware/efi/efivars/ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root 3886 Dec  2 03:41 /sys/firmware/efi/efivars/dbDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root 1616 Dec  2 03:41 /sys/firmware/efi/efivars/dbxDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   34 Dec  2 03:41 /sys/firmware/efi/efivars/ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root 2303 Dec  2 03:41 /sys/firmware/efi/efivars/KEK-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root 2303 Dec  2 03:41 /sys/firmware/efi/efivars/KEKDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    8 Dec  2 03:41 /sys/firmware/efi/efivars/Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   17 Dec  2 03:41 /sys/firmware/efi/efivars/LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   12 Dec  2 03:41 /sys/firmware/efi/efivars/OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root  851 Dec  2 03:41 /sys/firmware/efi/efivars/PK-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root  851 Dec  2 03:41 /sys/firmware/efi/efivars/PKDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   10 Dec  2 03:41 /sys/firmware/efi/efivars/PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   28 Dec  2 03:41 /sys/firmware/efi/efivars/PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    5 Dec  2 03:41 /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    5 Dec  2 03:41 /sys/firmware/efi/efivars/SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root   36 Dec  2 03:41 /sys/firmware/efi/efivars/SignatureSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    6 Dec  2 03:41 /sys/firmware/efi/efivars/Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r--. 1 root root    5 Dec  2 03:41 /sys/firmware/efi/efivars/VendorKeys-8be4df61-93ca-11d2-aa0d-00e098032b8c
1 Like

Update and possibly a warning:

I’m still a newbie to anything UEFI related. I stumbled around searching and came across this article, from which I cargo-culted that running:

sudo systemctl reboot --firmware-setup

might “bootstrap” that OsIndications EFI variable - which it apparently did. After rebooting with that command, trying sudo fwupdmgr update again let the BIOS update “complete”.

Only the BIOS version, as seen in both the BIOS menu and the dmesg output, never changed, before or after rebooting as prompted. I tried multiple times, both from the command line and in the GNOME Software UI tool.

Eventually, after trying this with the Software tool, I rebooted the laptop only for it to go into a bricked/bootloop state. When pressing the power button the fan would start, the power light would go on, then a LED pattern that ended with several green blinks would follow, and eventually the laptop would seemingly power down - only to spontaneously wake up again and repeat the pattern. During this the screen backlight would not switch on at all.

I managed to get the laptop booting again by powering off then pulling the CMOS battery for a minute or so. When I reinstalled it, the two side LEDs were flashing red (I assume that’s an indication that BIOS variables/settings have been restored to factory?) until I powered the laptop on again.

At that point the laptop resumed working normally, still at BIOS 3.02, and at factory settings.

So, not sure where the bug is here or if this is somehow user error. But it looks like the test BIOS, at least as it is packaged on LVFS currently, is not “safe” for all distros.

Try turning off SecureBoot and see if that helps?

A few months ago I had a similar issue (not identical) on ThinkPads, where with SB on fwupd would do something, prompt to restart - then it just does a normal reboot; Fedora’s shim at least then only supported loading Grub if SB is on.

I haven’t tried doing firmware upgrades in F35 though.

(Currently I only have access to ThinkPads and a Dell, just signed up here as I’m considering replacing my old Dell with a Framework soon-ish)

Example discussion of Fedora shim issues: https://github.com/fwupd/fwupd/issues/3428

Folks, can you please point to the way to switch lvfs fwupdmgr to testing?

@Gio_Mag in Fedora at least it’s configured as lvfs-testing so:

fwupdmgr enable-remote lvfs-testing

should enable it. See fwupdmgr --help a little more detail.

@michel thanks for the pointer. Following the thread from there led me to this PR commit which shows that the Fedora shim fixes are going to be available with shim 15.5. F35 is on 15.4.

Anyway, I tried again with secure boot disabled but the update doesn’t get executed/booted into upon reboot. An update CAB is there:

# ls -l /boot/efi/EFI/fedora/fw/fwupd-3b8c8162-188c-46a4-aec9-be43f1d65697.cap 
-rwx------. 1 root root 76418 Dec  4 11:39 /boot/efi/EFI/fedora/fw/fwupd-3b8c8162-188c-46a4-aec9-be43f1d65697.cap

but no trace of that happening during boot.

1 Like

fwupdmgr in debian does the same. It successfully “updates” the firmware to 3.0.6, but on reboot it’s still running 3.0.2. Tried it multiple times, with secure boot enabled or disabled.

Would love any updates on this. In the same situation here myself. @Kieran_Levin I have tried with Secure Boot disabled. Running F35.