Commit Graph

283 Commits

Author SHA1 Message Date
Richard Hughes
291e9a6b19 trivial: Remove some dead code 2015-11-25 10:34:34 +00:00
Richard Hughes
fd50193cd8 trivial: Bump the dep on libcolorhug 2015-11-25 10:33:28 +00:00
Richard Hughes
b4c888e309 libdfu: Accept multiple spaces after the DfuSe sector name 2015-11-25 10:27:36 +00:00
Richard Hughes
0bb530be97 libdfu: Copy the platform ID and invalidate the GUsbDevice when removed 2015-11-25 10:27:36 +00:00
Richard Hughes
5d057a8fce Split out the DFU provider as a new file 2015-11-25 10:27:36 +00:00
Richard Hughes
012bcc0239 libdfu: Fix self tests after recent API change 2015-11-24 18:33:40 +00:00
Richard Hughes
71581832da libdfu: Add dfu_device_get_display_name()
This allows us to get the product name for the device.
2015-11-24 18:33:40 +00:00
Richard Hughes
aa90e5c88d libdfu: Add dfu_device_get_runtime_release()
This allows us to get the device release when in runtime mode.
2015-11-24 18:33:40 +00:00
Richard Hughes
42ffdf7645 libdfu: Add dfu_context_get_device_by_platform_id()
This lets us get the connection platform ID without exposing the GUsbDevice.
2015-11-24 18:33:40 +00:00
Richard Hughes
a45d00eb2c Rescan the DFU device after replug to get the new version 2015-11-24 12:35:22 +00:00
Richard Hughes
a3a8f5039c Emit the changed signal after doing an update
This allows the UI to re-request the update list.
2015-11-24 12:35:22 +00:00
Richard Hughes
999e96bbd4 Close DFU devices as soon as possible after the transfer has completed
This allows clients like 'dfu-tool watch' to report the status values correctly.
2015-11-24 12:35:22 +00:00
Richard Hughes
4d4e91da23 libdfu: Do not ref DfuDevice in DfuTarget so the auto-close logic works
We want to auto-close the device when the recount of DfuDevice drops to zero,
but when a composite device has more than one ref this is not going to happen.
2015-11-24 12:35:22 +00:00
Richard Hughes
8d21237c33 libdfu: Add an example showing GObject Introspection 2015-11-23 14:16:03 +00:00
Richard Hughes
1b0b51e2a6 trivial: Install libdfu properly as a shared library 2015-11-23 14:02:56 +00:00
Richard Hughes
d3afaaab9f libdfu: Add a context object to handle device hotplug
Also, add a 'watch' command to dfu-tool to test this.
2015-11-23 13:53:06 +00:00
Richard Hughes
5d6066c002 libdfu: Use signals to propagate device state
Also, add padding to the various class structs so we can add more signals in
the future without breaking ABI.
2015-11-23 10:19:24 +00:00
Richard Hughes
8e02ee2a60 libdfu: Add a pkgconfig file 2015-11-23 09:17:43 +00:00
Richard Hughes
e7aaf39de2 libdfu: Fix multi-interface devices like the Neo Freerunner
The DFU specification specifies that only one of the DFU interfaces has to
export a functional descriptor; I assumed they all had to. Adding support
for this kind of device rapidly turned into a massive restructure and it was
all too complicated anyway.

Reorganise the code so that we can support these kinds of devices and clean up
the API so it's sane and easy to use. This also allows us to generate the
GObject introspection GIR and to also install libdfu as a shared library.

If you've got any comments about the API, please shout now as when 6.0 is
released it will become API and ABI stable.
2015-11-22 21:17:48 +00:00
Richard Hughes
e7ba943cf5 libdfu: Support download and upload to ST DfuSe devices
Also, simplify the general download and upload API now we can deal with
element data in chunks.
2015-11-20 14:14:05 +00:00
Richard Hughes
0256f04338 libdfu: Improve the output of 'dfu-util list'
Being semi-compatible with dfu-util isn't important anymore.
2015-11-20 12:30:53 +00:00
Richard Hughes
3391e6b154 libdfu: Use the progress bar for all uploads and downloads 2015-11-19 17:44:29 +00:00
Richard Hughes
2d64b19c81 libdfu: Only do a Detach notification if we're actually doing to do it 2015-11-19 17:42:21 +00:00
Richard Hughes
38e7e31e2c libdfu: Support the ST-specific bitCanAccelerate 2015-11-19 12:33:11 +00:00
Richard Hughes
6aa47bab89 libdfu: Make the element address 32 bits in size
ST devices are large, and support a large address space...
2015-11-19 12:15:53 +00:00
Richard Hughes
a941c3a9e9 Use new API available in fwup 0.5
This allows us to schedule a UEFI update without writing a temp file.
2015-11-17 11:06:29 +00:00
Richard Hughes
664bb739b0 libdfu: Require a --force flag to flash wildcard firmware 2015-11-17 08:59:24 +00:00
Richard Hughes
3ad474214b Ignore the DFU device detach:attach when verifying 2015-11-16 16:36:55 +00:00
Richard Hughes
f048fbc703 libdfu: Call the progress callback when doing detach
This allows the UI to show something sane, and also allows fwupd to start any
timeout for ignoring detach:replug.
2015-11-16 16:28:10 +00:00
Richard Hughes
a11d6efc58 trivial: Get rid of warning in dmesg when downloading firmware 2015-11-16 13:02:18 +00:00
Richard Hughes
859fe0b43e libdfu: Check for extra args to dfu-tool convert 2015-11-16 11:48:20 +00:00
Richard Hughes
e8a6d3d0cb trivial: libdfu: flip reversed command descriptions 2015-11-16 11:47:16 +00:00
Richard Hughes
b5936f9eef libdfu: Correctly implement auto-boot in dfu_device_download() 2015-11-16 11:46:36 +00:00
Richard Hughes
dc3ddc18d3 libdfu: Fix a crash when setting a NULL image name 2015-11-16 11:45:50 +00:00
Richard Hughes
07abc45268 trivial: Fix the example spec file 2015-11-16 09:01:15 +00:00
Richard Hughes
b4eaec3654 libdfu: Allow choosing a different alt-setting when downloading 2015-11-15 19:12:13 +00:00
Richard Hughes
3a40e94567 libdfu: Add a merge command to dfu-tool 2015-11-15 19:00:03 +00:00
Richard Hughes
31aa1dd3df libdfu: Allow setting the alternate settings in DfuSe firmware 2015-11-15 16:52:46 +00:00
Richard Hughes
8bbe21a6f8 libdfu: Fix crash when setting a target size 2015-11-15 13:01:14 +00:00
Richard Hughes
7d79e580bb Use the same device identification string format as Microsoft
Using our own special version for the input for the GUID calculations means
that the result is not 'googlable'.

This does have the result of changing the GUIDs stored in the 'verify' database
but given the string->GUID function in appstream-glib has also changed to
become standards compliant and that only a few people are using it I felt it
was worth the pain.
2015-11-15 11:02:33 +00:00
Richard Hughes
cfd399498d libdfu: Use a custom error domain 2015-11-14 17:34:08 +00:00
Richard Hughes
460bc2012e libdfu: Move the VID:PID checks from the tool to DfuDevice 2015-11-14 17:12:29 +00:00
Richard Hughes
eeea7f8b32 libdfu: Don't rely on specific hardware to be present 2015-11-14 16:51:53 +00:00
Richard Hughes
6d79834c55 libdfu: Generate gtk-doc documentation 2015-11-14 16:51:53 +00:00
Richard Hughes
62633af0db libdfu: Add support for DfuSe firmware
Also, move some shared stuff down from DfuTarget to DfuDevice.
2015-11-14 16:34:09 +00:00
Richard Hughes
a3acd7f711 Add support for updating USB devices with DFU
This adds a private libdfu library and also a small utility program called
dfu-tool.
2015-11-12 17:32:48 +00:00
Richard Hughes
e49b266fd5 trivial: Fix a small critical warning for broken USB devices 2015-11-12 17:32:48 +00:00
Richard Hughes
a48361f82f Use strerror() when printing errors from libfwupdate
Fixes https://github.com/hughsie/fwupd/issues/37
2015-11-12 17:29:30 +00:00
Mario Limonciello
e43cfdcb3d trivial: return for UEFI errors is a decimal not string.
This is for part of issue #38.
2015-11-12 10:06:39 -06:00
Mario Limonciello
6fade1ffea Fix compile error against fwupdate git due to dropped functions.
Closes #37
2015-11-10 18:13:48 -06:00