Commit Graph

4635 Commits

Author SHA1 Message Date
Richard Hughes
9a410ce459 Add an unlock method for devices
This is based on an idea from Mario Limonciello which can be used to enable a
PCI OptionROM read, or possibly enable ESRT functionality.
2016-03-02 10:17:02 +00:00
Richard Hughes
46d6180f29 Correct the BCD version number for DFU 1.1
This prevents a warning about invalid version numbers for newer hardware.
I have no idea why 1.1 would be encoded as 0x0110 rather than 0x0101 but
dfu-util seems to do the same thing.
2016-03-02 09:57:38 +00:00
Richard Hughes
bdb62db907 Install the hardcoded firmware AppStream file
This currently contains a few USB 3.0 chips which we know about, but can't
actually update ourselves.
2016-02-29 11:20:26 +00:00
Richard Hughes
b75c92db47 Require AC power before scheduling some types of firmware update
Fixes half of https://github.com/hughsie/fwupd/issues/42
2016-02-20 20:25:56 +00:00
Richard Hughes
778c6b62d0 trivial: post release version bump 2016-02-12 16:52:20 +00:00
Richard Hughes
2e70b9277b Release fwupd 0.6.2 2016-02-12 16:50:58 +00:00
Richard Hughes
750ef0f2f4 trivial: Fix 'make distcheck' 2016-02-03 20:14:55 +00:00
Mario Limonciello
918f3939a4 Move quirks directly into a single table and file.
This will make it easier for other quirks to be added later without
needing to remember to poke through all the code to find everywhere
they were mentioned.
2016-02-03 12:47:23 -06:00
Richard Hughes
df7950b8f3 Support vendor-specific UEFI version encodings
This allows vendors such as Dell to use encodings such as AA.BB.CC.DD rather
than the default of AA.BB.CCDD which is used by Intel and Microsoft.

Existing metainfo.xml files with version numbers prefixed with '0x' are
automatically converted to the new scheme.

Based on a patch Mario Limonciello, many thanks.
2016-02-03 08:52:34 +00:00
Mario Limonciello
92f903823d Fix get-results for UEFI provider.
Even though fwupd doesn't display any information about when,
libfwup will fail to return data unless it gets a pointer.
2016-02-02 09:08:15 -06:00
Richard Hughes
1d96633198 Add 'Created' and 'Modified' properties on managed devices
This allows us to show suitable UI in GNOME Software when reporting historical
firmware updates.
2016-01-27 13:25:45 +00:00
Richard Hughes
d9099ce288 trivial: post release version bump 2016-01-19 12:59:54 +00:00
Richard Hughes
46c293cc8a Release fwupd 0.6.1 2016-01-19 12:57:33 +00:00
Richard Hughes
0a36f44bc7 trivial: Fix a debug statement when no devices are detected 2016-01-06 14:57:20 +00:00
Richard Hughes
b1b59d83cb Do not misdetect different ColorHug devices
Allow devices to have a specific device ID, which also matches other equivalent
IDs from other providers

This allows the user to plug in one type of device, and not match a different
cached device that also matches the same provider.
2016-01-06 13:20:58 +00:00
Richard Hughes
9a6a9c8b20 Always persist ColorHug devices after replug
We need this to happen no matter the method of getting the version number else
the reconnection idle loops do not work correctly.
2016-01-06 13:12:56 +00:00
Richard Hughes
2a1e75da72 Only dump the profiling data when run with --verbose
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1292059
2015-12-18 17:42:53 +00:00
Mario Limonciello
7df2c4c2e9 trivial: fu-provider-udev: Remove dead debug code 2015-12-08 13:39:54 -06:00
Richard Hughes
2aa112465d trivial: Add actual example in the DFU metadata spec document 2015-12-08 08:59:29 +00:00
Richard Hughes
9c598d32db trivial: Fix up the man page with corrections from Bastian Ilso 2015-12-07 17:06:51 +00:00
Richard Hughes
e0b417e628 trivial: Update the example spec file to reflect reality 2015-12-07 16:59:21 +00:00
Richard Hughes
1227c73168 trivial: post release version bump 2015-12-07 16:22:37 +00:00
Richard Hughes
280745f5f0 Release fwupd 0.6.0 2015-12-07 16:20:59 +00:00
Richard Hughes
c6519ea4e8 trivial: Add more detail to the man page
Lets face it, flashing firmware is kinda scary so we want to read a bit about
what a command is really going to do before we do anything.
2015-12-07 10:47:17 +00:00
Richard Hughes
f908669642 trivial: Write a proper dfu-tool man page 2015-12-06 20:18:47 +00:00
Richard Hughes
f4e8fe0763 trivial: Fix several trivial warnings on ARM 2015-12-06 17:51:10 +00:00
Richard Hughes
7774f815a7 trivial: Fix clang-spotted hard-to-hit crash in dfu-tool 2015-12-06 16:36:58 +00:00
Richard Hughes
032596e800 libdfu: Fix several reported crashes in the inhex32 import code
This also adds the ability to write simple Intel HEX files too.
2015-12-06 16:27:16 +00:00
Richard Hughes
ccc54ae972 trivial: Add some fuzzing examples for libdfu 2015-12-06 16:27:16 +00:00
Richard Hughes
564303d877 libdfu: Only enumerate the DfuContext when required
This speeds up afl fuzzing significantly.
2015-12-06 16:27:03 +00:00
Richard Hughes
7c37e55459 libdfu: Add support for the draft 'DFU Metadata Table Specification' 2015-12-04 16:01:40 +00:00
Richard Hughes
4545dd70af libdfu: Add DfuCipher which is a property on a target and a firmware file
At the moment we're not doing anything smart other than looking at the
firmware filename, but in the future we might do something better.
2015-12-04 12:58:05 +00:00
Richard Hughes
021f65e370 libdfu: Show better device errors 2015-12-04 12:26:45 +00:00
Richard Hughes
045198d643 libdfu: Add commands to encrypt and decrypt firmware images
This uses XTEA to encrypt and decrypt images in the firmware file, although
I'm open for adding other methods as required.
2015-12-02 15:48:03 +00:00
Richard Hughes
71e55aafeb libdfu: Fix another bug discovered by the fuzzer 2015-12-02 08:29:59 +00:00
Richard Hughes
f7c61fcb18 libdfu: Fix a few crashers found using afl 2015-12-01 15:56:59 +00:00
Richard Hughes
1936e4afb5 libdfu: Display all the files shown with 'dfu-tool dump'
Also, show the file CRC in the debug output.
2015-12-01 14:53:04 +00:00
Richard Hughes
832c334548 Fix compile with --disable-shared 2015-12-01 11:41:16 +00:00
Richard Hughes
14d2b80503 libdfu: Make reading and writing to targets easier to understand
Rename the 'upload' command to read, and 'download' to write to make things
easier for end users. Also, break the last bits of compatibility with dfu-util.
2015-11-30 09:49:25 +00:00
Richard Hughes
84b8d1f2f1 libdfu: Add dfu_firmware_get_image_by_name() 2015-11-30 09:16:58 +00:00
Richard Hughes
9b1349b885 libdfu: Add an explicit 'attach' method
This can also deal with the m-stack quirk in a central place.
2015-11-27 10:54:26 +00:00
Richard Hughes
385bba0ada libdfu: Add a quirk to support DFU runtime-less devices 2015-11-26 18:59:59 +00:00
Richard Hughes
60b7eeeca9 libdfu: Handle cancellation with ctrl+c in dfu-tool 2015-11-26 12:36:53 +00:00
Richard Hughes
ef617dbbc8 trivial: Add DfuContext to the gtk-doc documentation 2015-11-26 12:24:43 +00:00
Richard Hughes
922dbc721a Rescan the DFU device after firmware has been updated 2015-11-25 15:01:18 +00:00
Richard Hughes
a2b2b1cc68 Export the AppStream ID when returning device results
This allows us to match up the AppStream data we've parsed in gnome-software and the firmware update we've got from fwupd. This means we can get access to some of the data that fwupd doesn't care about, for instance the how-to-upgrade screenshots.
2015-11-25 15:00:51 +00:00
Richard Hughes
4bb94e4bcd libdfu: Fix dfu_device_wait_for_replug() so it can work with a DfuContext
Using g_usleep() works for the command line tool, but this starves the event
loop which means we get a flurry of removed:added:removed:added signals once
complete.

The context 'helpfully' sets up the new GUsbDevice which means we're doing
things with DfuTargets without DfuDevices and DfuTargets without GUsbDevices.
Basically, madness ensues.
2015-11-25 13:57:04 +00:00
Richard Hughes
6511f5011f f 5d057a8fce 2015-11-25 13:53:10 +00:00
Richard Hughes
45f7956b97 libdfu: Remove the weak pointer when destroying the DfuTarget
This fixes commit 4d4e91da.
2015-11-25 13:45:06 +00:00
Richard Hughes
93a6edf2c6 trivial: Define the default replug timeout in a central place
Some users were using 2000ms and some the more sane 5000ms.
2015-11-25 13:41:55 +00:00