19

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 http://se.archive.ubuntu.com/ubuntu impish InRelease
Hit:2 http://se.archive.ubuntu.com/ubuntu impish-updates InRelease                                                                                                                                         
Hit:3 http://se.archive.ubuntu.com/ubuntu impish-backports InRelease                                                                                                                                       
Hit:4 https://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                                              
Hit:5 https://download.docker.com/linux/ubuntu impish InRelease                                                                                                                                  
Hit:6 http://archive.canonical.com/ubuntu impish InRelease                                                                
Get:7 http://security.ubuntu.com/ubuntu impish-security InRelease [110 kB]                          
Hit:8 https://packages.microsoft.com/repos/ms-teams 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
  • What happens if you click update on the screen shot you posted?
    – PonJar
    Feb 21, 2022 at 9:14
  • Looks like there is a firmware update manager available. linoxide.com/how-to-update-firmware-on-ubuntu-using-fwupd I’m guessing you already have it to get that message. Check the man page if you want to use the command line
    – PonJar
    Feb 21, 2022 at 9:21
  • I don't want to click that so I can verify any answer I receive. Otherwise, I would have to wait for another update. Can you write an answer about your find? It does seem to be the solution.
    – Dan
    Feb 21, 2022 at 9:28
  • I have no way of verifying that the linoxide article is accurate. If you choose to follow it and it works probably best that you answer your own question and accept it a day or two later
    – PonJar
    Feb 21, 2022 at 9:32
  • 2
    It may be fwupd. Devices using LVFS for firmware updates fwupd.org/lvfs/devicelist sudo fwupdmgr get-devices & sudo fwupdmgr get-updates & sudo fwupdmgr update
    – oldfred
    Feb 21, 2022 at 14:49

1 Answer 1

35

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 https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported 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 https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported 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 https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported 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

Once you are done updating the firmware, the next time you run the fwupdmgr get-updates command, it will prompt you if you would like to upload the firmware report.

$ fwupdmgr get-updates
WARNING: UEFI capsule updates not available or enabled in firmware setup
  See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported 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:                  https://fwupd.org/lvfs/firmware/report
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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .