Richard Hughes
c8c2d60d65
trivial: Fix error check when parsing Neo Freerunner descriptor
...
Found using Coverity.
2016-11-09 20:14:15 +00:00
Richard Hughes
b28daac301
libdfu: Use a heuristic for the start address if the firmware has no DfuSe footer
...
This fixes flashing into the 96Boards BLE Carbon.
2016-11-03 15:11:25 +00:00
Richard Hughes
ae7935448b
libdfu: Correctly set the element address when uploading from DfuSe devices
2016-10-16 08:26:01 +01:00
Richard Hughes
bd81a89044
libdfu: Correctly erase DfuSe devices
2016-10-14 18:07:34 +01:00
Richard Hughes
21806b4696
libdfu: Wait for DNBUSY to be cleared when checking the DfuSe status
2016-10-14 18:07:34 +01:00
Richard Hughes
bacf255428
libdfu: Ensure the device is open before claiming the interface
2016-10-14 18:07:34 +01:00
Richard Hughes
a5c48ce07f
libdfu: Fix verification of written DfuSe firmware
...
DfuSe doesn't stop returning data when the image is empty. Take as least as
much data as we require and then truncate the result to what we want.
2016-10-14 18:07:34 +01:00
Richard Hughes
73b63c87e8
libdfu: Do not do a zero-byte download when in DfuSe mode
...
For ST devices this means 'boot into APP mode' which we can also now populate.
2016-10-14 18:07:34 +01:00
Richard Hughes
99f61c827a
libdfu: Add DfuAction enumerated value to represent a device action
...
This is a high level operation which is supposed to correlate with the
percentage change notification. Using the device DfuState or DfuStatus doesn't
work when doing dfuse operations.
2016-10-13 19:43:20 +01:00
Richard Hughes
9117686b4c
libdfu: Use the device offset when writing DfuSe firmware
2016-10-12 21:33:30 +01:00
Richard Hughes
cbdeca25e2
libdfu: Fix uploading from DfuSe devices
2016-10-12 20:36:27 +01:00
Richard Hughes
fa522907e9
libdfu: Do not do GetStatus on dfuse upload
2016-10-12 20:30:36 +01:00
Richard Hughes
5e40ae8778
libdfu: Correctly offset addresses when one zone has multiple sectors
2016-10-12 20:29:08 +01:00
Richard Hughes
41541213b1
trivial: Prefix some DfuSe errors with useful data
2016-10-12 16:39:23 +01:00
Richard Hughes
e9dbf70cd3
libdfu: Fix two possible critical warnings for corrupt USB descriptors
2016-10-12 16:15:58 +01:00
Richard Hughes
ac614987e6
Show the nicely formatted target name for DfuSe devices
2016-10-12 15:05:41 +01:00
Richard Hughes
c6a8deeb4c
dfu: Fix listing devices using the ST reference bootloader
2016-10-12 15:04:31 +01:00
Richard Hughes
877df1dda3
libfdfu: Show a warning when getting the alt-name failed
2016-10-12 13:15:03 +01:00
Richard Hughes
208c8a819e
Fix a -fstack-protector-strong crash when uploading firmware
...
Casting the pointer type causes the stack protector to get upset.
2016-09-29 19:41:02 +01:00
Richard Hughes
2cf8c4e43f
Fix a possible crash when uploading firmware files using libdfu
2016-09-19 09:05:39 +01:00
Richard Hughes
df12152231
trivial: Allow uploading firmware with smaller chunk sizes
2016-09-19 09:05:18 +01:00
Richard Hughes
33a518a615
Add another compile warning and fix up any build failures
2016-07-27 16:57:36 +01:00
Mario Limonciello
033c4511f7
trivial: correct typographical error in dfu-target debug statements
2016-07-01 15:40:31 -05:00
Richard Hughes
ce38d94d5e
trivial: Get rid of useless internal-only gtk-doc markup
2016-06-29 11:25:25 +01:00
Richard Hughes
d0583ae340
Only claim the DFU interface when required
...
It appears that some expensive USB sound cards do not like the DFU interface
being claimed at the same time the kernel starts using a different endpoint.
I suspect this is a device bug or limitation in some reference implementation
somewhere, but seeing as we only need the interface when verifying or writing
new firmware the sensible thing to do is not claim it until required.
Fixes: https://github.com/hughsie/fwupd/issues/50
2016-06-08 16:42:49 +01:00
Richard Hughes
bd046c8a19
libdfu: Fix up some NULL/FALSE confusion
2016-03-18 12:33:47 +00:00
Richard Hughes
b3849683b6
trivial: Remove all 'suspicious commas'
2016-03-18 12:33:47 +00:00
Richard Hughes
41b1f6c7c4
trivial: Fix tiny build warning with GCC6
2016-03-03 08:13:03 +00:00
Richard Hughes
280745f5f0
Release fwupd 0.6.0
2015-12-07 16:20:59 +00:00
Richard Hughes
f4e8fe0763
trivial: Fix several trivial warnings on ARM
2015-12-06 17:51:10 +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
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
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
Richard Hughes
b4c888e309
libdfu: Accept multiple spaces after the DfuSe sector name
2015-11-25 10:27:36 +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
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
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
38e7e31e2c
libdfu: Support the ST-specific bitCanAccelerate
2015-11-19 12:33:11 +00:00
Richard Hughes
cfd399498d
libdfu: Use a custom error domain
2015-11-14 17:34:08 +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