FWUPD Explores Improvement For Easier & More Robust Firmware Updating On Linux

Written by Michael Larabel in LVFS on 3 September 2022 at 05:51 AM EDT. 14 Comments
LVFS
Currently when it comes to shipping new/updated device support for firmware updating under Linux with FWUPD/LVFS, it requires making/adjusting a Fwupd plug-in for carrying out the actual firmware copying/updating of the device and then adding in the device VID/PID to a quirks table so Fwupd knows about what to match a given device to for the firmware plug-in to use. Even in new devices where no plug-in changes are required, new device entries are still needed in the quirks table and it makes it challenging when Linux distributions don't quickly move to new FWUPD releases. Moving forward a better solution is being explored.

Due to the weeks or months it takes Linux distributions to move to new FWUPD releases, it's not easy to get out a new quirks table for FWUPD even when no plug-in changes are required. That time needed before new FWUPD releases are adopted/widespread is one of the significant barriers to new devices enjoying firmware updating support under Linux. Lead developer of Fwupd and the Linux Vendor Firmware Service (LVFS), Richard Hughes of Red Hat, has been exploring an alternative in this area.

Rather than relying on a VID/PID quirks table for matching devices to FWUPD plug-ins, he's looking at the possibility of the device firmware supplying the necessary information itself so that it wouldn't require any quirks table additions. For the firmware to be able to communicate the FWUPD plug-in to the host system, he's looking at possibly using the Microsoft OS Descriptors specification. The Microsoft OS Descriptors specification allows IHVs to store in firmware information that can be used for helping to install/configure the device under Windows.

Richard is looking at possibly making use of the Microsoft OS 2.0 Descriptors Specification with descriptor sets so that firmware could communicate to the system what FWUPD plug-in or details are needed for firmware updating support. The 2.0 specification can be found on Microsoft Docs.


Of course, this requires hardware vendors to actually opt-in to making this information available via their firmware. Richard hopes that LVFS/FWUPD has enough traction now especially due to the Google ChromeOS use that IHVs will be more willing to make the firmware changes now to benefit this use-case. In turn for the vendors it would mean an easier roll-out of firmware updating support on Linux / Chrome OS when the existing plug-ins are suitable and avoiding the lengthy turnaround time on getting out new quirks table updates.

See Richard's blog on this new proposal and he indicated that he plans to start prototyping the new code next week if all goes well.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week