LinuxCommandLibrary

fwupdmgr

Manage and update system firmware

TLDR

Display all devices detected by fwupd

$ fwupdmgr get-devices
copy

Download the latest firmware metadata from LVFS
$ fwupdmgr refresh
copy

List the updates available for devices on your system
$ fwupdmgr get-updates
copy

Install firmware updates
$ fwupdmgr update
copy

Remount /boot with more privileges if update complains about a read-only filesystem
$ sudo mount [[-o|--options]] uid=1000,gid=1000,umask=0022 [/dev/sdX] /boot
copy

Show firmware update history
$ fwupdmgr get-history
copy

SYNOPSIS

fwupdmgr [OPTIONS...] [COMMAND]

Common Usage Examples:
   fwupdmgr refresh
   fwupdmgr get-updates
   fwupdmgr update
   fwupdmgr get-devices

PARAMETERS

--help
    Display help information for the command.

--version
    Show the version of fwupdmgr.

--verbose
    Show extra information and debug data for operations.

--force
    Override some warnings or errors during an operation.

--offline
    Perform operations without an internet connection, using cached data or local files.

get-devices
    List all devices currently supported by fwupd.

refresh
    Download the latest metadata from the LVFS, including available firmware updates.

get-updates
    Check for and display available firmware updates for detected devices.

update
    Install all available firmware updates. A system reboot may be required.

downgrade
    Downgrade firmware to an older version if available and supported.

verify
    Check the integrity and authenticity of installed firmware.

install [FILE]
    Install a specific firmware file (e.g., a .cab file) from a local path.

get-history
    Show the update history for devices.

clear-history
    Clear the local firmware update history.

get-remotes
    List all configured LVFS remotes (sources for firmware metadata).

enable-remote [ID]
    Enable a specific remote for firmware retrieval.

disable-remote [ID]
    Disable a specific remote.

set-remote-url [ID] [URL]
    Change the URL for a specified remote.

get-details [DEVICE_ID]
    Show detailed information about a specific device or firmware.

unlock
    Unlock a device for firmware flashing, often for self-healing or specific updates.

factory-reset
    Attempt to reset a device's firmware to factory defaults.

monitor
    Monitor for device changes or firmware update notifications.

security-attr
    List security attributes for devices, such as enabled protections.

dump-blob [ID]
    Dump a firmware blob to a file (for debugging or analysis).

service-config
    Print the configuration of the fwupd daemon.

clear-results
    Clear cached results for a specific device or all devices.

DESCRIPTION

fwupdmgr is a command-line client for the fwupd daemon, which provides a safe and secure way to update device firmware on Linux. It integrates with the Linux Vendor Firmware Service (LVFS), a web service where hardware vendors can upload firmware binaries. fwupdmgr allows users to refresh metadata, check for, download, and install firmware updates for various devices (e.g., system BIOS, Thunderbolt controllers, input devices, NVMe drives). It supports both online updates (from LVFS) and offline updates using local .cab files. The tool aims to standardize firmware updates across Linux distributions, enhancing security and stability by ensuring devices run the latest stable firmware versions.

CAVEATS

Internet connectivity is required for online firmware updates from LVFS. Firmware updates carry inherent risks; it's advisable to back up important data before proceeding. Not all hardware is supported by LVFS; vendor participation is crucial. The fwupd daemon must be running, typically managed by systemd. Some updates require a system reboot to complete.

SECURITY

Firmware updates delivered via fwupdmgr are cryptographically signed by hardware vendors, ensuring authenticity and preventing tampering. LVFS acts as a trusted distribution point, enhancing the security of the firmware update process by providing a central, verified source.

GUI INTEGRATION

While fwupdmgr is a powerful command-line tool, its functionality is often exposed through user-friendly graphical software centers like GNOME Software and KDE Discover, providing a convenient interface for users to check for and apply firmware updates without needing to use the terminal.

UNATTENDED UPDATES

The fwupd daemon can be configured to perform unattended firmware updates, which can be particularly useful in server environments or for large deployments. This feature allows for automated updates, although it requires careful configuration and consideration of potential risks.

HISTORY

fwupd (and thus fwupdmgr) was primarily developed by Richard Hughes at Red Hat, starting around 2015. It aimed to solve the fragmented and often insecure firmware update landscape on Linux by providing a unified, secure, and vendor-agnostic mechanism through the Linux Vendor Firmware Service (LVFS). Its adoption grew rapidly, becoming a standard component in major Linux distributions for managing firmware updates, often integrated into graphical software centers.

SEE ALSO

fwupd(1), lvfs(7), systemd(1), gnome-software(1), discover(1)

Copied to clipboard