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.
You can view the current firmware information and install updates by clicking on each component.
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.
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.
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.
You can check for updates by clicking on the hamburger menu and selecting "Check for Updates".
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.