Updating your firmware

This guide covers to how to update via the LVFS. Using other methods, such as flashrom or mtd are at your peril!

Current Versions

With a standard Linux distribution, you can check the versions of firmware that you have installed with the below commands:

BIOS
cat /sys/class/dmi/id/bios_version
EC
cat /sys/class/dmi/id/ec_firmware_release

Requirements

fwupd and flashrom must be installed. The versions depend on the processor, but as a general rule, they need to have been released after the processor was. The are steps below which cover installing a more recent version for popular distributions.

Ubuntu, Linux Mint, elementary OS, Zorin OS and other Ubuntu derivatives
sudo add-apt-repository ppa:starlabs/main
sudo add-apt-repository universe
sudo apt update
sudo apt install fwupd libflashrom1

If you face issues, please see the troubleshooting section.

Installing Updates

Terminal

Check for Updates

From your terminal window, type in the below command:

fwupdmgr refresh
Install Updates

From your terminal window, type in the below command:

fwupdmgr update

elementaryOS

On elementaryOS 6 and later, fwupd will integrate into System Settings, and appear under System > Firmware.

elementarySystem

You can view the current firmware information and install updates by clicking on each component.

elementaryDetails

GNOME Software

Ubuntu, Zorin OS, Fedora, OpenSUSE, Arch, Manjaro GNOME, Debian

For any distribution using the GNOME desktop environment, fwupd will integrate into GNOME Software. Any firmware updates will appear alongside your regular software updates.

GNOMESoftware

KDE Discover

Kubuntu, KDE Neon, Fedora KDE, Manjaro KDE

For any distribution using the KDE desktop environment, fwupd will integrate into KDE Discover. Any firmware updates will appear alongside your regular software updates.

KDEDiscover

GNOME Firmware

There is a standalone GUI called GNOME Firmware for distributions that can't use the above integrations; it's available for many distributions, even ones that don't use GNOME. You need to install it via your package manager.

Once that's done, open Firmware Update; this will show you all the supported devices in the left menu. If an update is available, you can install it using the button at the bottom right.

undefined

You can check for updates by clicking on the hamburger menu and selecting "Check for Updates".

undefined

You can manage your firmware and install updates from the terminal if none of the above options is available.

Testing Updates

If you would like to test the latest updates before their official release, you can enable testing updates with the below command:

fwupdmgr enable-remote lvfs-testing

If you want to opt-out of these updates, you can run:

fwupdmgr disable-remote lvfs-testing

If you are disabling the testing remote, you can downgrade back to the a stable version using this command:

fwupdmgr downgrade

Please note: Ensure you have a way to recover your firmware before enabling the testing remote.

Troubleshooting

IO Access

If you see a message Message recipient disconnected from message bus without replying  or /dev/mem mmap failed: Operation not permitted, you'll need to add the iomem=relaxed kernel parameter. The two below commands will do this for you:

Debian-based distro's
sudo sed -i 's/quiet/quiet iomem=relaxed/g' /etc/default/grub
sudo update-grub
Fedora/Arch
sudo sed -i 's/quiet/quiet iomem=relaxed/g' /etc/default/grub
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Version number mismatch

If you see a message that says the version numbers don't match, please use:

fwupdmgr update --force
Failed to connect to daemon

If you see Failed to connect to daemon: Error calling StartServiceByName for org.freedesktop.fwupd: Failed to activate service 'org.freedesktop.fwupd': timed out (service_start_timeout=25000ms), please delete the database with the below command:

sudo rm /var/lib/fwupd/pending.db
No supported devices

Either fwupd or flashrom is out-of-date. On some distributions, you can manually update the quirks:

sudo wget https://raw.githubusercontent.com/StarLabsLtd/firmware/refs/heads/main/quirks/flashrom.quirk -O /usr/share/fwupd/quirks.d/flashrom.quirk
sudo systemctl restart fwupd

If this doesn't work on your distribution, you can use a Live USB with Ubuntu to update.

Oct 15, 2024

Contact Us

Not finding what you're looking for? Contact Us Directly