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.
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.
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:
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 commandYou can get a list of devices that support firmware updates with
fwupdmgr
by running thefwupdmgr get-devices
command.You can also get the status of the devices if they have an available firmware update by running
fwupdmgr get-updates
.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 commandfwupdmgr update 71b677ca0f1bc2c5b804fa1d59e52064ce589293
.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.