Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

How can I upgrade my device firmware from the command line?

Writer Sophia Terry

I rarely use the Ubuntu Software application, but when I opened it today I saw that it has a notification saying that my fingerprint scanner firmware can be updated.

Software center updates

However, the apt upgrade and snap refresh commands output that everything is up-to-date. Am I missing a third source of packages on my system?

danny@danny:~$ sudo apt update && sudo apt upgrade
Hit:1 impish InRelease
Hit:2 impish-updates InRelease
Hit:3 impish-backports InRelease
Hit:4 stable InRelease
Hit:5 impish InRelease
Hit:6 impish InRelease
Get:7 impish-security InRelease [110 kB]
Hit:8 stable InRelease
Fetched 110 kB in 1s (127 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
5

1 Answer

Thanks to @Ponjar's and @oldfred's comments, it turns out there's another manager that manages device firmware updates called fwupd.

Short version

To update device firmware, you can run the following command:

$ fwupdmgr update

Longer version

Note: None of the commands mentioned here required root access (i.e. sudo) to run during my trials. Even the command that updates the firmware.

This uses LVFS (Linux Vendor Firmware Service) as its source database for devices' firmware. You can add more sources by configuring them in /etc/fwupd/remotes.d/.

To upgrade the firmware, you can use the fwupdmgr command. The package seems to be pre-installed on Ubuntu 21.10. If it is not for you, you can install it with the following command

sudo apt install fwupd

You can get a list of devices that support firmware updates with fwupdmgr by running the fwupdmgr get-devices command.

$ fwupdmgr get-devices
WARNING: UEFI capsule updates not available or enabled in firmware setup See for more information.
21A0000CMX
│
├─Prometheus:
│ Device ID: 96a0be68fa5cf5d60d3d2d392797c6844ab64d33
│ Summary: Fingerprint reader
│ Current version: 10.01.3273255
│ Vendor: Synaptics (USB:0x06CB)
│ Install Duration: 2 seconds
│ GUIDs: 09e8bf16-3e69-50f5-bb66-c7a040248352
│ 8088f861-6318-5b1e-9ce4-fbddbedb09ac
│ Device Flags: • Updatable
│ • Supported on remote server
│ • Cryptographic hash verification is available
│
├─UEFI dbx:
│ Device ID: 362301da643102b9f38477387e2193e57abaa590
│ Summary: UEFI Revocation Database
│ Current version: 267
│ Minimum Version: 267
│ Vendor: UEFI:Linux Foundation
│ Install Duration: 1 second
│ GUIDs: 1e9c3d61-4bd9-514e-ad87-0a9b61b9e77d
│ 304a9ede-aff2-58f6-b5e5-0e651b065f1a
│ c6682ade-b5ec-57c4-b687-676351208742
│ f8ba2887-9411-5c36-9cee-88995bb39731
│ Device Flags: • Internal device
│ • Updatable
│ • Needs a reboot after installation
│
└─UMIS RPETJ512MGE2QDQ: Device ID: 71b677ca0f1bc2c5b804fa1d59e52064ce589293 Summary: NVM Express Solid State Drive Current version: 1.3Q0630 Vendor: Union Memory (Shenzhen) (NVME:0x1CC4) GUIDs: c3fe86aa-308e-53bc-aa93-00faaac3ef75 437d6904-49e7-551e-bbe9-1ae691ea1a37 6df6872d-19f7-5035-b85c-7c760034c77d 1d6b808f-3aac-5c20-8496-8a1433de5b80 1cabba58-9014-5a19-b40f-a6aa4b45676f Device Flags: • Internal device • Updatable • System requires external power source • Needs a reboot after installation • Device is usable for the duration of the update

You can also get the status of the devices if they have an available firmware update by running fwupdmgr get-updates.

$ fwupdmgr get-updates
WARNING: UEFI capsule updates not available or enabled in firmware setup See for more information.
Devices with no available firmware updates: • UEFI dbx • UMIS RPETJ512MGE2QDQ
21A0000CMX
│
└─Prometheus: │ Device ID: 96a0be68fa5cf5d60d3d2d392797c6844ab64d33 │ Summary: Fingerprint reader │ Current version: 10.01.3273255 │ Vendor: Synaptics (USB:0x06CB) │ Install Duration: 2 seconds │ GUIDs: 09e8bf16-3e69-50f5-bb66-c7a040248352 │ 8088f861-6318-5b1e-9ce4-fbddbedb09ac │ Device Flags: • Updatable │ • Supported on remote server │ • Cryptographic hash verification is available │ └─Prometheus Fingerprint Reader: New version: 10.01.3478575 Remote ID: lvfs Summary: Firmware for the Synaptics Prometheus Fingerprint Reader device License: Proprietary Size: 425.5 kB Created: 2021-06-09 Urgency: Medium Vendor: Synaptics Duration: 2 seconds Flags: is-upgrade Description: New features and enhancements: • Fix an authentication issue on FOP project.

In my case, the last command lists "UEFI dbx" and "UMIS RPETJ512MGE2QDQ" as up-to-date and the "Prometheus" fingerprint scanner has an available update.

Once you are satisfied, you can run the fwupdmgr update command to install all available updates or manually pass the device ids of the devices you want to be updated to that command fwupdmgr update 71b677ca0f1bc2c5b804fa1d59e52064ce589293.

$ fwupdmgr update
WARNING: UEFI capsule updates not available or enabled in firmware setup See for more information.
Devices with no available firmware updates: • UEFI dbx • UMIS RPETJ512MGE2QDQ
Upgrade available for Prometheus from 10.01.3273255 to 10.01.3478575
Prometheus and all connected devices may not be usable while updating. Continue with update? [Y|n]:
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Authenticating… [***************************************]
Updating Prometheus… [***************************************]
Restarting device… [***************************************]
Successfully installed firmware

Optionally, once you are done updating the firmware, you can run fwupdmgr get-updates, and it will prompt if you would like to upload the firmware report.

$ fwupdmgr get-updates
WARNING: UEFI capsule updates not available or enabled in firmware setup See for more information.
Devices with no available firmware updates: • UEFI dbx • UMIS RPETJ512MGE2QDQ
Devices with the latest available firmware version: • Prometheus
________________________________________________
Devices that have been updated successfully: • Prometheus (10.01.3273255 → 10.01.3478575)
Uploading firmware reports helps hardware vendors to quickly identify failing and successful updates on real devices.
Upload report now? (Requires internet connection):
0. Do not upload reports at this time, but prompt again for future updates
1. Do not upload reports, and never ask to upload reports for future updates
2. Upload reports just this one time, but prompt again for future updates
3. Upload reports this time and automatically upload reports after completing future updates
2
Target:
Payload: { "ReportVersion" : 2, "MachineId" : "fd438561a796bdbcccfc66169378030058c8a453066843b91fa6b107cd73c267", "Metadata" : { "DistroId" : "ubuntu", "DistroVersion" : "21.10" }, "Reports" : [ { "Checksum" : "9e3cc95de4a157318c40135009249bb20fe6af7d", "UpdateState" : 2, "Guid" : [ "09e8bf16-3e69-50f5-bb66-c7a040248352" ], "Plugin" : "synaptics_prometheus", "VersionOld" : "10.01.3273255", "VersionNew" : "10.01.3478575", "Flags" : 37748770, "Created" : 1645459678, "Modified" : 1645460476, "Metadata" : { "HostSku" : "LENOVO_MT_21A0_BU_Think_FM_ThinkPad P14s Gen 2a", "RuntimeVersion(org.freedesktop.gusb)" : "0.3.5", "CompileVersion(com.redhat.fwupdate)" : "12", "DistroVersion" : "21.10", "CompileVersion(org.freedesktop.fwupd)" : "1.5.11", "HostFamily" : "ThinkPad P14s Gen 2a", "KernelName" : "Linux", "RuntimeVersion(org.kernel)" : "5.13.0-28-generic", "CompileVersion(org.freedesktop.gusb)" : "0.3.5", "RuntimeVersion(com.dell.libsmbios)" : "2.4", "DistroId" : "ubuntu", "CpuArchitecture" : "x86_64", "BootTime" : "1645105544", "HostVendor" : "LENOVO", "RuntimeVersion(org.freedesktop.appstream-glib)" : "0.7.14", "HostProduct" : "21A0000CMX", "RuntimeVersion(com.redhat.fwupdate)" : "12", "RuntimeVersion(org.freedesktop.fwupd)" : "1.5.11", "KernelVersion" : "5.13.0-28-generic" } } ] }
Proceed with upload? [Y|n]:
Idle… [***************************************]
Successfully uploaded 1 report
No updates available for remaining devices

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy