Commit Graph

151 Commits

Author SHA1 Message Date
Richard Hughes
1deda31cae Make libelf support optional 2016-11-22 15:39:57 +00:00
Richard Hughes
0e77c525dd trivial: Fix the last commit to actually compile 2016-11-22 08:30:30 +00:00
Tsunghan Liu (Robert Liu)
a02bbb1c4e * close USB devices before error returns (#73) 2016-11-21 09:12:28 -06:00
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
dfb30d930a trivial: Fix a typo when matching device VID:PIDs
Found using Coverity.
2016-11-09 19:35:23 +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
6c17d2ed43 trivial: Fix an error path when the interface cannot be claimed 2016-10-16 08:26:01 +01:00
Mario Limonciello
a91214f545 Enable hardening flags on more binaries 2016-10-14 12:43:02 -05: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
9e172a0b1f trivial: Raise the default timeout for DFU operations
Not all devices are fast, and the ST bootloader takes a long time to return
from erase.
2016-10-14 18:07:34 +01:00
Richard Hughes
503f057d3e libdfu: Add dfu_sector_get_zone() to get the continuous memory zone number 2016-10-14 18:07:34 +01:00
Richard Hughes
8e480bff54 trivial: Show the caps as letters when listing sectors as a string 2016-10-14 18:07:34 +01:00
Richard Hughes
79d2b93771 Add a 'replace-data' command to dfu-tool
This allows us to search-and-replace data in a firmware file that may be
protected with a checksum or CRC.
2016-10-14 18:07:34 +01:00
Richard Hughes
0e7877b831 trivial: Fix self tests after fixing sector addresses 2016-10-14 18:07:34 +01:00
Richard Hughes
35bea355b2 libdfu: Match the device booloader or runtime VID and PID when checking firmware 2016-10-14 18:07:34 +01:00
Richard Hughes
91685ce43b libdfu: Add quirks for HydraBus as it does not have a DFU runtime 2016-10-14 18:07:34 +01:00
Richard Hughes
8e2e46e60b libdfu: Re-get the quirks when the DfuDevice gets a new GUsbDevice 2016-10-14 18:07:34 +01:00
Richard Hughes
1ff658dbb2 libdfu: Ensure the mode is set correctly when faking a runtime 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
8a3c18b4a3 libdfu: Use an animated progress bar when performing DFU operations 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
053ade98e8 trivial: Only show the cipher kind if set 2016-10-12 15:05:23 +01:00
Richard Hughes
2fd030e663 trivial: Print the transfer size in the 'dfu-tool list' output 2016-10-12 15:05:03 +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
a7398a7e90 Add DFU_CIPHER_KIND_RSA 2016-09-15 20:57:57 +01:00
Richard Hughes
190e60cd6f Load the Altos USB descriptor from ELF files 2016-09-03 16:59:02 +01:00
Richard Hughes
633944045f Load the symbol table from ELF firmware 2016-09-03 16:59:02 +01:00
Richard Hughes
c68757ce4d Support writing the IHEX symbol table 2016-09-02 14:16:40 +01:00
Richard Hughes
499f2bf995 trivial: Don't fail to parse IHEX files with nonstandard sections 2016-09-01 15:05:31 +01:00
Richard Hughes
f82a4c2231 Allow specifying the argument to 'dfu-tool set-release' in major.minor format. 2016-09-01 14:50:02 +01:00
Richard Hughes
c951e3a2ff Show the human-readable version in the 'dfu-tool dump' output 2016-09-01 14:49:55 +01:00
Richard Hughes
df7ba314b2 Use the symtab to set the VID/PID from Altos IHEX firmware images 2016-09-01 10:37:27 +01:00
Richard Hughes
d5db4e6b77 Add the Altos symbol table to the DfuFirmware 2016-09-01 10:35:02 +01:00
Richard Hughes
e5dbd75637 Add dfu_firmware_add_symbol()
This allows supported firmware to use a symbol table.
2016-09-01 10:34:25 +01:00
Richard Hughes
bf59e265bc Write the ELF files with the correct section type
This should fix a compile failure on s390x.

Resolves: https://github.com/hughsie/fwupd/issues/63
2016-08-31 10:30:48 +01:00