Commit Graph

394 Commits

Author SHA1 Message Date
memily
c255034574
vli: Add VL822 device+share-spi-pd
Co-authored-by: Emily Miller <m_emily@berkeley.com>
2021-03-30 13:06:49 +01:00
Richard Hughes
a5966f7085 trivial: Codespell fixes 2021-03-19 16:42:33 +00:00
Richard Hughes
52441f28a4 Allow objects to deserialize to XML
This makes a lot more sense; we can parse a firmware and export the same XML
we would use in a .builder.xml file. This allows us to two two things:

 * Check we can round trip from XML -> binary -> XML

 * Using a .builder.xml file we can check ->write() is endian safe
2021-03-15 12:07:30 +00:00
Emily Miller
7752ffe344 vli:ODM changed U2 pid, add json test 2021-03-10 14:20:58 +00:00
Richard Hughes
c81b755872 Be more strict for custom quirk keys
Rather than trying to guess typos, force each plugin to register the quirk
keys it supports, so we can show a sensible warning if required at startup on
the console.
2021-03-03 08:30:34 +00:00
Richard Hughes
7d132b728c Simplify the quirk file format
The best way of not getting something wrong is to not require it in the first
place...

All plugins now use DeviceInstanceId-style quirk matches and we can just drop
the prefix in all files. We were treating HwId=, Guid= and DeviceInstanceId= in
exactly the same way -- they're just converted to GUIDs when building the silo!
2021-03-03 08:30:34 +00:00
Richard Hughes
0724620f1e Remove the Hughski public key
Hughski Limited is no more, and everything should be using the LVFS cert now.
2021-03-01 08:26:41 +00:00
Richard Hughes
91337c2bdf trivial: Fix the device test for the 03x7609 device 2021-02-25 15:47:25 +00:00
Emily Miller
9b304fdfbd vli:fw fix to LVFS 2021-02-25 08:30:13 +00:00
Richard Hughes
674fccdd0d Release fwupd 1.5.7
Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-02-23 14:54:50 +00:00
Richard Hughes
a76de3279b Add a test BLE plugin for a demo 2021-02-22 16:53:41 +01:00
Richard Hughes
260a24449d Release fwupd 1.5.6 2021-02-16 12:14:12 +00:00
Richard Hughes
c3ecec575b fmap: Use memmem to find the FMAP signature
Trust glibc to optimize for the binary search, removing a oss-fuzz detected
crash with our bad pointer maths.
2021-02-11 20:27:20 +00:00
Richard Hughes
98972f4a34 libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware
Port the DFU plugin to use the new objects to make it act the same as all the
other plugins.
2021-02-01 19:34:28 +00:00
Richard Hughes
6de10e118c Allow downloading firmware from IPFS
Only a small amount of the firmware on the LVFS will be available. The user
can use --ipfs on the command line for testing, or change the system-wide
default in /etc/fwupd/daemon.conf.

The IPFS daemon and command line client will need to be installed manually.
2021-02-01 19:33:31 +00:00
Richard Hughes
b856f0bc42 Allow configuring URI scheme preferences
This would allow, for instance, only allowing IPFS downloads or preferring
https over http downloads.
2021-01-28 15:34:36 +00:00
Richard Hughes
f6751cd783 Allow using custom data to generate CHIDs
This is really useful when working out HwId quirk values for remote systems.

    fwupdtool export-hwids target.hwids
    vim target.hwids
    fwupdtool hwids target.hwids
2021-01-18 07:56:34 +00:00
Richard Hughes
5f31395fcf trivial: Remove unused variable spotted by shellcheck 2021-01-12 16:54:37 +00:00
Richard Hughes
bea7665c81 Release fwupd 1.5.5 2021-01-11 10:16:43 +00:00
Richard Hughes
5c9b1fcc81 Only include the start year in the copyright header
The end year is legally and functionally redundant, and more importantly causes
cherry-pick conflicts when trying to maintain old branches. Use git for history.
2021-01-07 14:48:16 +00:00
Richard Hughes
ee2e2c3674 uefi: Rename to uefi-capsule
Rename the plugin to make it clearer of the scope.

Based on a patch from Mario Limonciello <mario.limonciello@dell.com>
2021-01-05 15:31:22 +00:00
Richard Hughes
32d36a0bf5 Release fwupd 1.5.4 2020-12-16 12:52:28 +00:00
Mario Limonciello
a7d1530385 fu-util: Add a new --no-remote-check to ignore checking for download remotes
This fixes the overloaded `--no-metadata-check` that was previously
present from being used in multiple instances.
2020-12-14 12:52:38 -06:00
Mario Limonciello
89a2f190b6 trivial: fwupd-refresh: don't add --no-metadata-check
This is implied because the service is started non-interactively
by systemd.
2020-12-14 12:52:38 -06:00
Richard Hughes
e300ca513f Release fwupd 1.5.3 2020-12-08 09:48:10 +00:00
Richard Hughes
caa1be6a62 trivial: Add device test for Lenovo USB-C Dock Gen2 2020-11-30 08:59:46 +00:00
Richard Hughes
b0cb62fa49 trivial: Add device test for HP USB-C Dock G5 2020-11-30 08:58:18 +00:00
Richard Hughes
c21cff1c04 Release fwupd 1.5.2 2020-11-23 15:49:53 +00:00
Mario Limonciello
2f49da7f4e libfwupd: Restore recognizing gpg and pkcs7 types still
The snap-store intends to ship an updated libfwupd library but
to use it with whatever version daemon is on the host system.

This means that the library needs to still work with older metadata
signing types.

This fixes the following error in that scenario:
```Failed to update metadata for lvfs: Keyring kind jcat not supported```
2020-11-21 07:37:36 -06:00
Richard Hughes
8b035b01fe trivial: Add device tests for the Dell KH08P 2020-11-20 09:59:15 +00:00
Mario Limonciello
5258f33585 trivial: fix ppc64le autopkgtest failure
nvme-self-test only runs if nvme is compiled, which it isn't for
ppc64le.
2020-11-18 08:21:00 +00:00
Emily Miller
937f7401c0 trivial: Add vli tr_gen2 and hyper regression test 2020-11-16 09:28:46 +00:00
Mario Limonciello
db15442c7c trivial: installed-tests: skip tests requiring network by default
Most of the installed tests will skip if files needed to be fetched
from network are not available.  Do the same thing for fwupdmgr
tests.

Fixes: #2566
2020-11-09 15:11:30 -06:00
Richard Hughes
fa11ceae9c trivial: Use the Mini Dock example archives provided by VLI 2020-11-09 09:57:13 +00:00
Richard Hughes
bbb1a8136e Release fwupd 1.5.1 2020-11-02 14:52:43 +00:00
Richard Hughes
203ed841da trivial: Codespell fixes 2020-11-02 14:26:26 +00:00
Richard Hughes
f9fcf47749 trivial: Add device tests for the Lenovo 40au0065 device 2020-11-02 12:01:41 +00:00
exploide
0c10507219 trivial: fix description of unblock-firmware 2020-11-01 20:00:23 +00:00
exploide
7f2ab39c98 updated fish completions to 1.5.0 2020-11-01 17:23:16 +00:00
Richard Hughes
a78b13fb71 Use a different Device ID for the OptionROM devices
We want to continue to dedupe the ID, and the priority should be decided on the
GUID match.

Fixes https://github.com/fwupd/fwupd/issues/2510 in a different way
2020-10-29 14:01:25 +00:00
Richard Hughes
f90cda6f0b Release fwupd 1.5.0 2020-10-26 11:50:11 +00:00
Richard Hughes
b619245897 trivial: Write up some release notes for the next release 2020-10-22 12:45:08 +01:00
Mario Limonciello
02f2cc311e Add switch-branch support to fwupdtool 2020-10-21 12:00:55 -05:00
Richard Hughes
7bcb8d4385 Export FwupdPlugin so we can convey enumerated system errors to the end user
For instance, we can tell the user that UEFI UpdateCapsule is disabled in the
system firmware, or that efivarfs is not mounted. This is much better than
creating "dummy" devices which are really just hacks around the problem because
no better API existed. THe dummy devices cause as many problems as they solve.

Plugins have to set FWUPD_PLUGIN_FLAG_USER_WARNING if a warning should be shown
to the user, and only one warning will be shown of each failure type.

It is expected that GUI clients like gnome-software and gnome-firmware would use
this API to notify the user the localized message for why firmware updates are
not being shown.

Fixes https://github.com/fwupd/fwupd/issues/2456
2020-10-13 15:56:49 +01:00
Mario Limonciello
02d9d23f13 trivial: fix shutdown error on fwupdtool activate
EXIT_NOTHING_TO_DO needs to be caught by the shutdown script too.
Fixes: #2463
2020-10-12 09:06:30 -05:00
Richard Hughes
6450d0deb4 Add FwupdInstallFlags of _IGNORE_CHECKSUM, _IGNORE_VID_PID and _IGNORE_POWER
The FWUPD_INSTALL_FLAG_FORCE flag has really unclear semantics, and ignoring a
file CRC, checksum or model ID should only be done when using fwupdtool actually
debugging a plugin or firmware parser.

Use the existing --force flag when we want a "gentle nudge" like reuploading
previously processed reports.
2020-10-07 13:15:09 +01:00
Richard Hughes
5bbf013879 Add a --allow-branch-switch to fwupdmgr
This allows us to turn off the tests like version format differences and
checking for downgrades.
2020-10-07 13:15:09 +01:00
Mario Limonciello
406025ba56 trivial: ci: fix installed-tests for test plugin
This has been broken for a while and missed various changes.
* Reading firmware version
* Passing `-y` into build
* New verify / verify-image split
2020-10-06 13:34:41 -05:00
Richard Hughes
10c3fd2ff9 Support loading DMI data from DT systems
To do this with the existing codebase just fake the required SMBIOS structures.
2020-09-30 19:22:45 -05:00
Richard Hughes
460c4b75fe Add the concept of firmware 'branches'
This allows a device to identify with different streams, for instance a Lenovo
laptop could have a coreboot firmware or a AMI firmware. The GUIDs would be the
same, but switching firmware would only be done rarely and very carefully.

Another example would be switching the Broadcom BCM57xx nework adaptors from the
vendor nonfree firmware with a signed PXE image, to the free software reverse
engineered driver with no PXE support (and thus no signed DXE) at all.

It is expected firmware would have additional metadata something like this:

    ...
    <branch>sdcc</branch>
    <description>
      <p>
        This is an alternate firmware built by the community using only free
        software tools.
      </p>
    </description>
    <requires>
      <id compare="ge" version="1.5.0">org.freedesktop.fwupd</id>
      <client>switch-branch</client>
    </requires>
    ...

Additionally, alternate branch firmware will not be returned for clients not
setting the FWUPD_FEATURE_FLAG_SWITCH_BRANCH before the GetReleases request.
2020-09-30 18:33:00 +01:00