Richard Hughes
37906f6aae
trivial: Fix NULL/FALSE confusion in the dfu plugin
2017-11-09 14:32:25 +00:00
Richard Hughes
69fcb73a74
dfu: Fix a trivial unused variable spotted by clang
2017-11-09 12:16:12 +00:00
Richard Hughes
a14d771476
dell: Fix a trivial warning spotted by clang
2017-11-09 12:15:55 +00:00
Richard Hughes
ff372acb1d
ebitdo: Wait for the device to come back after performing update
...
This means we can verify the firmware version that was flashed, and makes the
code perform in the same way as the DFU and ColorHug plugins.
2017-11-08 11:02:38 +00:00
Richard Hughes
da8f476aa2
ebitdo: Fix a error prefix string
2017-11-08 11:02:38 +00:00
Richard Hughes
876e5e0c35
ebitdo: Fix a double-unref when updating the device
...
This can cause the daemon to emit a critical warning...
2017-11-08 11:02:38 +00:00
Mario Limonciello
7f3bfc9d99
dell: catch invalid dock component requests
...
Test if g_strrstr returns NULL, as this means the string was
modified and other requests predicated on this will fail miserably.
2017-11-07 09:46:36 -06:00
Mario Limonciello
3164784d9e
dell: fix crashes when enumerating with dock connected but UEFI capsule off
...
Crashes will happen when UEFI capsule is turned off due to fwupdate
trying to do a SMI request that invalidates the buffer used by fwupd.
This is due to both fwupdate and fwupd using libsmbios in the same process.
Fixes: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/1726367
2017-11-07 09:46:36 -06:00
Richard Hughes
d25e2d543a
trivial: Add some self tests that use the Atmel Xplained boards in DFU mode
...
This does mean the tests have to be run as root to work, but they are just
skipped if run as a user.
2017-11-07 12:40:25 +00:00
Richard Hughes
21852821c5
dfu: Add ChipID quirks for various XMEGA parts
...
This also adds an *almost* throw-away python script to import the chip-ids from
the default conf file from the avrdude project. I've imported it here in case we
have to start caring about different page sizes or application offsets.
2017-11-07 12:40:25 +00:00
Richard Hughes
8517464eac
dfu: Use a 24-byte chip ID for XMEGA parts so we match signature values with dfu-programmer
2017-11-07 12:40:25 +00:00
Richard Hughes
d44a5ee56d
dfu: Add support for XMEGA chips
...
Notably, bootloaders for this class of device export an incorrect DFU interface.
Additionally, allow setting the buffer size for the UPLOAD to a larger size
than the defined device transfer size, which allows us to return the full
packet from the larger XMEGA devices.
2017-11-07 12:40:25 +00:00
Richard Hughes
ac9fa21eda
dfu: Use a GError chain to properly report parsing failures
2017-11-07 12:40:25 +00:00
Richard Hughes
bdb6d7027a
dfu: Allow setting a specific DFU version for hardware
...
Ignoring the warning is not good enough when we're setting policy based on the
specific version. Use the new quirk functionality to do this easily, which
also allows us to remove one more thing in the quirk mega-bitfield.
2017-11-07 12:40:25 +00:00
Richard Hughes
387017c331
trivial: Don't show (null) in the UI when the DFU status is unknown
2017-11-07 12:40:25 +00:00
Richard Hughes
a1c09e1b16
dfu: Fix a potential divide by zero issue
...
If page_sz == 0, which is supported, then we try to take the modulus of it
which is undefined behaviour and can cause a division by zero crash.
Found using Coverity.
2017-11-07 09:41:07 +00:00
Richard Hughes
8a0ec158bd
dfu: Return failure when getting device status fails
2017-11-06 20:10:26 +00:00
Richard Hughes
79d08a327b
trivial: Use a #define value for signature reads
2017-11-06 12:56:38 +00:00
Richard Hughes
674ed347d2
dfu: Use FuQuirk to map the chip ID to the AVR32 UM0424 alt-name
2017-11-02 19:08:51 +00:00
Richard Hughes
adeefcd4e0
dfu: Use FuQuirk to encode the Jabra magic packet contents
...
This allows us to remove the Jabra-specific quirk entry in the device bitfield,
and more importantly allows us to support some more Jabra devices in the future
without code changes.
2017-11-02 19:08:51 +00:00
Richard Hughes
6a32b92ef8
dfu: Move some code to allow re-use
2017-11-02 19:08:51 +00:00
Richard Hughes
74a80ccc50
dell: Use the new quirk infrastructure for version numbers
2017-11-02 19:08:51 +00:00
Richard Hughes
24c452297d
dfu: Use the FuQuirk infrastructure to move the quirks out of the code
...
This is slightly more verbose than desired as we also have to include the quirk
information when running the dfu-tool, which does not have an already set-up
FuQuirks object as it has no plugin.
2017-11-02 19:08:51 +00:00
Richard Hughes
78c1e6c009
dfu: Correctly output Intel HEX files with > 16bit offset addresses
...
Also, fix the checksum to actually produce valid files...
2017-10-31 18:30:05 +00:00
Richard Hughes
6e72343851
dfu: Allow specifying the output file type for 'dfu-tool read'
...
Guess the file type if it is not explicitly specified.
2017-10-31 18:30:05 +00:00
Richard Hughes
c4e9b08f41
dfu: Remove the CanDownload and CanUpload attribute when required
...
When the AVR device is not recognised as a supported part we can't read or
write the firmware from the chip.
2017-10-31 18:30:05 +00:00
Richard Hughes
3e1e8227be
dfu: Add support for one type of AVR32 device
...
Currently the only supported model is the AT32UC3A3256S, more to come...
2017-10-31 18:30:05 +00:00
Richard Hughes
d49f64f700
dfu: Split out the STM functionality to a new file
2017-10-31 18:30:05 +00:00
Richard Hughes
fc27df7ceb
dfu: Add the ability to dump the raw DFU packets
2017-10-31 18:30:05 +00:00
Richard Hughes
c314b89316
dfu: Add DfuChunked
...
This allows us to segment a buffer taking into account page borders and maximum
transfer sizes.
2017-10-31 18:30:05 +00:00
Richard Hughes
9acf8cd16f
dfu: Set up the DfuTarget when opening the DfuDevice
...
In the future we'll use this to set vendor-specific quirks.
2017-10-31 18:30:05 +00:00
Richard Hughes
1b577710c5
dfu: Ignore the not-supported error code when opening the DfuDevice
...
This allows us to fail optional things and still show useful output in:
$ dfu-tool list
2017-10-31 18:30:05 +00:00
Richard Hughes
97520bd583
dfu: Add support for a chip ID
...
This allows us to show the user something they can include in a bug report.
2017-10-31 18:30:05 +00:00
Richard Hughes
f3e27065e6
dfu: Support devices with truncated DFU interface data
...
We can assume they support DFU 1.1. Fixes flashing the Jabra Speak 410.
2017-10-30 13:37:11 +00:00
Richard Hughes
54c7c0cc9f
dfu: Only detach the HID interface when updating Jabra devices
2017-10-30 13:37:11 +00:00
Richard Hughes
ac32f71a00
trivial: Remove the GObjectClass padding for private objects
2017-10-28 15:18:35 +01:00
Richard Hughes
66513c3b9d
dfu: Don't show a debug message when the download timeout is zero
2017-10-26 20:49:10 +01:00
Richard Hughes
181f516114
dfu: Guess the transfer size if it is not specified
2017-10-26 20:49:10 +01:00
Richard Hughes
55d5fb1ab0
dfu: Remove redundant dfu_device_has_dfuse_support()
2017-10-26 20:49:10 +01:00
Richard Hughes
3dd875f975
dfu: Add some utility functions to dfu-common.h
2017-10-26 20:49:10 +01:00
Richard Hughes
3218de03b9
dfu: Add dfu_target_get_sector_default()
...
This allows us to get the first sector defined for the target.
2017-10-26 20:49:10 +01:00
Richard Hughes
1b1f9d7b6a
dfu: Support the IHEX record type 0x05
2017-10-26 08:48:20 +01:00
Kelly Anderson
c015642803
fix mispelled redesign
2017-10-19 22:35:17 -05:00
Mario Limonciello
fecfe3b8db
thunderbolt: move test for mock environment ( Closes #280 )
...
umockdev 0.9.4 changed how to test for running in mock and this
causes the assumptions on mock testing at init to fail.
Move the test for this to after the environment has been set up.
2017-10-19 08:40:08 -05:00
Mario Limonciello
bd0f3f8920
rename fu-dell-common to fu-dell-smi
...
Since it's not being used by other plugins, make it represent
what it really does now.
2017-10-18 08:27:54 -05:00
Mario Limonciello
7af941fee4
synaptics: drop hard dependency on dell plugin and libsmbios
...
Rather than have a hard dependency use metadata and internal DMI
to communicate the relevant details
2017-10-18 08:27:38 -05:00
Mario Limonciello
ed538c2b84
drop fu_dell_get_cable_type, unused
2017-10-18 08:22:43 -05:00
Richard Hughes
37ca220f9b
dfu: Set the vendor ID to the runtime USB VID
2017-10-14 10:22:23 +01:00
Richard Hughes
61222fcb60
dfu: Add the various device quirks for the Jabra Speak devices
...
With much help from Niels Skou Olsen <nolsen@jabra.com>, many thanks.
2017-10-13 17:24:35 +01:00
Richard Hughes
3d2baa7476
dfu: Add DFU_DEVICE_QUIRK_ATTACH_EXTRA_RESET
...
Some devices need yet another reset to get them back into runtime mode.
2017-10-13 17:20:20 +01:00