fwupdmgr
Manage and update system firmware
TLDR
Display all devices detected by fwupd
Download the latest firmware metadata from LVFS
List the updates available for devices on your system
Install firmware updates
Remount /boot with more privileges if update complains about a read-only filesystem
Show firmware update history
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)