.cab installation instructions for people who can’t downgrade fwupd
If you follow the guide ( Updating Fingerprint Reader Firmware on Linux for 13th Gen and AMD Ryzen 7040 Series Laptops ), you’ll probably run into this issue because the cab file has invalid metadata that newer fwupdtool rejects: generic GUID requires a CHID, child, parent or sibling requirement
To fix this, you need to do the following steps:
cabextract goodix-moc-609c-v01000330.cab
- Edit
goodix.metainfo.xml
and add the following before the</compoment>
block:
<requires>
<id compare="ge" version="1.0.1">org.freedesktop.fwupd</id>
<hardware>2185e781-ed4b-5fc2-8839-b5ddb1e7d649</hardware>
</requires>
This HWID was obtained from fwupdtool hwids
and is specific only to Framework manufacturer
3. Create a new cab. I removed the original and created a new one like so: rm goodix-moc-609c-v01000330.cab && gcab -c -v goodix-moc-609c-v01000330.cab APP_GF5288_01000330_PID_609C.bin APP_GF5288_01000330_PID_609C.bin.asc firmware.jcat goodix.metainfo.xml README.txt
4. Install the new cab as explained in the guide. You will likely see a different error message AFTER it’s done writing, you’re supposed to ignore it and reboot after the command finishes.
5. Your fingerprint reader should now work
I very recently bought a new framework laptop and it had this firmware issue. The lvfs-testing update method would not work for me, and manually installing it wouldn’t work due that error message. I’m somewhat disappointed Framework’s solution for this has been to just tell people to downgrade fwupd. Downgrading should be considered a last resort, and on some distros like Arch it’s not easy, recommendedable, or in many cases it’s simply impossible without downgrading the rest of the system with it. Hopefully the above information is helpful to anybody struggling as I was.