The fwupd project released version 2.1.9 of its open-source Linux firmware update utility, adding improvements to device identification and system reporting, plus fixes for Secure Boot, firmware handling, and service startup issues.
One notable fix concerns Secure Boot dbx handling. The update ensures fwupd creates a dbx device with version 0 when the corresponding UEFI variable is missing. It also corrects version detection for systems using only the newer 2023 dbx updates by processing all available releases before determining the version.
Another correction addresses a service startup issue affecting Fedora CoreOS. The fwupd systemd service now includes an After=local-fs.target dependency to ensure local filesystems are available before the service starts, preventing the previously reported mount-related problem.
On the hardware side, fwupd 2.1.9 adds support for Pixart PID 38CA devices. HPE Redfish support has also been improved with instance IDs for individual device class and target pairs, allowing more precise identification of firmware update targets.
The release also improves system reporting by indicating whether the machine is running as a container or hypervisor. This provides additional context when examining reports from different Linux environments.
Several fixes address specific firmware update operations. For example, a small memory leak during Dell Kestrel firmware installation has been corrected. DFU firmware handling now performs a proper footer size check. The update also resolves an issue involving parent battery reports when updating Jabra GNP child devices.
Other corrections include preventing 64-bit values from being truncated when exporting firmware information as XML, removing the EFI helper during fwupdtool reboot-cleanup, and excluding GPIO devices from the fwupdmgr emulation-tag device list.
Finally, the release cleans up Bash completion by removing command aliases, uses absolute paths for filename hints, and raises the minimum libusb requirement to version 1.0.27 when building the daemon.
For more information, see the changelog.
