#1144893 fwupd: MOTD counts unsupported firmware upgrade

Package:
fwupd
Source:
fwupd
Description:
Firmware update daemon
Submitter:
Landon Hendee
Date:
2026-08-20 01:15:02 UTC
Severity:
normal
#1144893#5
Date:
2026-08-20 01:13:35 UTC
From:
To:
Dear Maintainer,

fwupd generates an MOTD claiming that one firmware upgrade is available,
while `fwupdmgr get-upgrades` reports `No updates available`.

System information:

  Debian GNU/Linux 13.6 (trixie)
  Kernel: 6.12.101+deb13-amd64
  fwupd: 2.0.20-1~deb13u1

Observed behavior:

  $ fwupdmgr get-upgrades
  No updates available

  $ sed -n '1,80p' /run/motd.d/85-fwupd

  1 device has a firmware upgrade available.
  Run `fwupdmgr get-upgrades` for more information.

This is not a stale runtime file. Restarting fwupd caused
/run/motd.d/85-fwupd to be regenerated about six seconds after daemon
startup, with the same incorrect message.

The apparent trigger is an unsupported-but-updatable UEFI KEK device:

  * Current version: 2011
  * Device has the UPDATABLE flag.
  * Device does not have the SUPPORTED flag.
  * `fwupdmgr get-releases` finds a 2023 Secure Boot KEK Configuration
    Update.
  * `fwupdmgr get-upgrades` categorizes the device as having no available
    firmware updates.

Update history contains only successful updates. No device is currently
reported as FAILED, FAILED_TRANSIENT, or NEEDS_REBOOT.

The source appears to explain the discrepancy. In
fu_engine_update_motd(), fwupd checks whether a device is UPDATABLE before
calling fu_engine_get_upgrades(), but it does not require the device to
have the SUPPORTED flag. If the internal lookup returns a release, the
MOTD upgrade count is incremented.

In contrast, fu_util_get_updates(), used by `fwupdmgr get-upgrades`,
skips devices without the SUPPORTED flag.

The same missing SUPPORTED check appears in upstream fwupd 2.1.7 and the
current main branch, so this does not appear Debian-specific.

Expected behavior:

The MOTD should advertise only firmware upgrades that
`fwupdmgr get-upgrades` would offer. An unsupported device should not
increase the MOTD upgrade count.

A likely fix is for fu_engine_update_motd() to skip devices that do not
have FWUPD_DEVICE_FLAG_SUPPORTED before checking for upgrades, matching
the command-line client's eligibility check.

Related upstream issue:

https://github.com/fwupd/fwupd/issues/9523

That issue has the same visible symptom, but its fixes address
NEEDS_REBOOT and failed update states. Those checks are already present
in this version and do not cover unsupported devices.

Relevant current source:

https://github.com/fwupd/fwupd/blob/2.1.7/src/fu-engine-helper.c
https://github.com/fwupd/fwupd/blob/2.1.7/src/fu-util.c