YESTERDAY we saw Red Hat's (now IBM's) Richard Hughes complaining about Microsoft [1], whereupon Phoronix picked that up [2] and it was then discussed in our IRC channels, Phoronix forums etc. The corporate media obviously showed no interest in it. All it can do is post "Microsoft loves Linux" images because Microsoft asks for that. To quote Richard: "All the dependency resolution should be in the metadata layer (e.g. in the .inf file) rather than being pushed down to the hardware running the old firmware."
“All the dependency resolution should be in the metadata layer (e.g. in the .inf file) rather than being pushed down to the hardware running the old firmware.”
--Richard HughesAs Michael Larabel put it, "implementation has a number of issues that complicate the process and could quickly evolve into another troubling specification from Microsoft in the hardware space."
Remember UEFI 'secure boot'? How did that work out for security?
Microsoft certainly loves Linux with a knife in the back -- hence Bill Gates' "Jihad" remark (about Intel's support for Linux). MinceR at the #techrights
IRC channel said: "you can tell something from Microsoft is _really_ _really_ shit when their sycophants at GNOME say it's shit..."
"Nowadays Zemlin is mostly quoted by the media as saying wonderful things about Microsoft. Most GNU/Linux user just want to vomit."It is worth remembering that Richard's work is now supported by the Linux Foundation (since months ago when it adopted LVFS), so maybe Richard can explain to the Linux 'genius' Jim Zemlin (who never uses Linux) what Microsoft does here and why it is anticompetitive. We don't suppose this will happen though. Zemlin is a 'true believer' in Microsoft and his wife managed a close partner of Microsoft when Microsoft paid the Linux Foundation. Nowadays Zemlin is mostly quoted by the media as saying wonderful things about Microsoft. Most GNU/Linux user just want to vomit. Money talks; people who love money are therefore a vulnerability. Jim Zemlin and his wife are the sorts of people whose life aspiration is to have dinner with Bill and Melinda Gates. It's all about class and power (Harvard). A decade ago Jim Zemlin said negative things about Microsoft and now (after/since Microsoft had given him $500,000) he says Microsoft is a good company while ignoring the below among many other things, patent extortion included (it's still going on). His wife worked for a Gold Microsoft Partner at the time (as a General Manager and Global VP of a SaaS Business Unit). Her business was moving companies to something like Microsoft Azure. In his own words (Jim Zemlin's interview with Jeremy Allison; 1m:30s), "I'm about as much [boss of Torvalds] as I am the boss of my wife..." ⬆
Related/contextual items from the news:
CFU has a bazaar pre-download phase before sending the firmware to the microcontroller so the uC can check if the firmware is required and compatible. CFU also requires devices to be able to transfer the entire new transfer mode in runtime mode. The pre-download “offer” allows the uC to check any sub-components attached (e.g. other devices attached to the SoC) and forces it to do dep resolution in case sub-components have to be updated in a specific order.
Pushing the dep resolution down to the uC means the uC has to do all the version comparisons and also know all the logic with regard to protocol incompatibilities. You could be in a position where the uC firmware needs to be updated so that it “knows” about the new protocol restrictions, which are needed to update the uC and the things attached in the right order in a subsequent update. If we always update the uC to the latest, the probably-factory-default running version doesn’t know about the new restrictions.
The other issue with this is that the peripheral is unaware of the other devices in the system, so for instance couldn’t only install a new firmware version for only new builds of Windows for example. Something that we support in fwupd is being able to restrict the peripheral device firmware to a specific SMBIOS CHID or a system firmware vendor, which lets vendors solve the “same hardware in different chassis, with custom firmware” problem. I don’t see how that could be possible using CFU unless I misunderstand the new .inf features. All the dependency resolution should be in the metadata layer (e.g. in the .inf file) rather than being pushed down to the hardware running the old firmware.
Microsoft's newest specification is the "Component Firmware Update" that they envision as a standard for OEMs/IHVs to be able to handle device firmware/microcode updating in a robust and secure manner. While nice in theory, the actual implementation has a number of issues that complicate the process and could quickly evolve into another troubling specification from Microsoft in the hardware space.
Red Hat's Richard Hughes who is the lead developer on Fwupd and LVFS for firmware updating on Linux has written a lengthy blog post with his thoughts after studying the specification. Now that vendors have begun asking him about CFU, he's getting his opinions out there now and there are issues with the specification. Ultimately though if there is enough interest/adoption, he could support Component Firmware Update via Fwupd but he certainly isn't eager to do so.