Fwupd Firmware Update Fails – Real Fixes That Work

fwupd won't update your firmware? Usually it's a stale metadata cache, wrong USB port, or missing LVFS support. Here's how I fix it.

1. Stale Metadata Cache – The Most Common Culprit

Had a client last month whose ThinkPad X1 Carbon wouldn't show any firmware updates at all. Ran fwupdmgr refresh – nothing. The real fix? The local metadata was corrupted. Here's what to do:

sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update

The --force flag wipes the old cache and downloads fresh metadata from the LVFS (Linux Vendor Firmware Service). Without it, fwupd sometimes hangs on stale timestamps. If you're on Ubuntu 22.04 or older, also try:

sudo fwupdmgr refresh --no-sandbox

That fixes a weird sandbox issue that blocks downloads on older fwupd versions.

2. USB or Thunderbolt Port Issues – Bypass the Dock

I've seen this on Dell XPS and HP EliteBooks: fwupd detects the update but fails halfway through with a generic error. Nearly every damn time, the laptop was connected through a USB-C dock. Docks mess with the UEFI capsule update path. Unplug everything – dock, monitors, external drives – and plug the charger directly into the laptop. Then retry:

sudo fwupdmgr update --force

The --force flag reattempts even if it thinks the update already failed. Works about 80% of the time. If you're flashing a Thunderbolt controller firmware (common on Lenovo P-series), reboot first and plug the USB cable directly into a motherboard port, not a front panel one.

3. Missing LVFS Support or Vendor Lockout

This one's trickier. Some older hardware – especially from Lenovo and Dell before 2018 – isn't supported by LVFS. fwupd won't show any updates, even after a fresh refresh. Check your hardware ID:

sudo fwupdmgr get-devices

If you see No approved firmware updates available, that usually means your device isn't in LVFS. I've seen this on Dell Optiplex 3050 and ThinkPad T460. The fix? Either use the vendor's BIOS flashing tool (Dell Command Update, Lenovo System Update) or check if your machine has an UEFI capsule update flag in the BIOS. On some Dells, you need to enable Enable UEFI Capsule Firmware Updates in the BIOS setup. Try that, then reboot and run fwupd again.

Quick-Reference Summary

ProblemSymptomFix
Stale metadatafwupdmgr refresh hangs or returns no updatessudo fwupdmgr refresh --force
USB/TB dockUpdate fails at 50% or "device not present"Unplug dock, use direct charger port
Unsupported hardware"No approved firmware updates"Check BIOS UEFI capsule setting or use vendor tool

If none of these work, check the fwupd logs:

journalctl -u fwupd -xe

That'll tell you exactly where it's choking. I've only had one laptop – an old HP ProBook 450 G3 – that refused all fwupd updates. Ended up using the HP Support Assistant in a VM. Sometimes the hardware just won't play nice.

Related Errors in Linux & Unix
Bluetooth Speaker Won't Pair on Linux: 3 Real Fixes Terminal Freezes When Running Top or Htop? Fix It Here Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke Docker Daemon Won't Start on Ubuntu 22.04 – Fix It Now bash: command not found Linux 'bash: command not found' Error Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.