Richard Hughes
653119fef8
unifying: Use a longer timeout for some operations
2017-06-28 12:09:51 +01:00
Richard Hughes
22dc937184
unifying: Use __attribute__((packed)) for structs sent to the hardware
2017-06-28 12:09:51 +01:00
Richard Hughes
f21cda4fed
unifying: Clear the feature map when a device is reprobed
2017-06-28 12:09:51 +01:00
Richard Hughes
695d01ed93
unifying: Keep the devices open, closing in finalize
2017-06-28 12:09:51 +01:00
Richard Hughes
c3b5b24287
unifying: Fix a confusing debug message
2017-06-28 12:05:32 +01:00
Richard Hughes
ae15bc2649
unifying: Filter by SwId when making HID++2.0 requests
...
Using the default value of '0' is what the kernel is using (related, libratbag
is using 0x08) and makes hotplug unreliable.
2017-06-28 12:05:32 +01:00
Richard Hughes
668f91419d
unifying: Allow large HID++ version numbers
...
Apparently, '4.3' is a perfectly valid version number.
2017-06-28 12:05:32 +01:00
Richard Hughes
f1399580b5
unifying: Do not allow closing a non-open device
2017-06-28 12:05:32 +01:00
Richard Hughes
38451999ff
unifying: Actually enforce the device_id checks
2017-06-28 12:05:32 +01:00
Richard Hughes
8884676c5d
unifying: Ping before trying to get the feature indexes
...
This reduces log spew for disconnected-but-paired devices.
2017-06-28 12:05:32 +01:00
Richard Hughes
45e3a03d15
trivial: Make a debug message less alarming
2017-06-28 12:05:32 +01:00
Richard Hughes
72975f0077
unifying: Only mark the device as active once the probe has completed
2017-06-24 07:40:38 +01:00
Richard Hughes
765c679498
unifying: Only detach the device if required
2017-06-24 07:24:15 +01:00
Richard Hughes
ed34991bd8
Do not unlock devices when doing VerifyUpdate
...
We used to do this dance to avoid reading the Option ROM on hardware by default
(some faulty hardware would crash...) but now we're doing the verify update in
the daemon there's no need to split this into two steps.
Fixes: https://github.com/hughsie/fwupd/issues/149
2017-06-22 10:37:10 +01:00
Richard Hughes
3045d1ca3f
unifying: Do not poll when we're waiting for device replug
...
If we happen to poll when the device is in the *process* of closing then the
open() fails in a weird way. If we're flashing it's probably a good idea to not
be too clever anyway...
2017-06-22 09:38:10 +01:00
Richard Hughes
7048044156
trivial: Fix up an error message in the unifying code
2017-06-22 09:38:10 +01:00
Richard Hughes
a42dae927c
unifying: Wait for device to re-appear in runtime after attaching
...
This ensures we can flash multiple versions of firmware without an artificial
delay. Also raise the timeout to cope with chains of slow hubs.
2017-06-22 09:37:48 +01:00
Richard Hughes
97fd762b47
unifying: Never allow the USB plugin to claim devices
2017-06-22 09:36:32 +01:00
Richard Hughes
0be13c038a
unifying: Allow a response from CMD_REBOOT
...
It's a race afterall, so some hardware is faster than others...
2017-06-22 09:36:32 +01:00
Mario Limonciello
f3f4390155
Only use the test runner plugin when CI is set in the env ( #148 )
...
This prevents an installed system from showing FakeDevices but
still allows exercising every commit with Travis CI
2017-06-20 13:56:13 -05:00
Richard Hughes
166d42cada
amt: Fix up a small memory leak and remove some goto's
2017-06-19 20:19:32 +01:00
Richard Hughes
9b59676a24
Add a plugin to get the version of the AMT ME interface
2017-06-19 14:01:47 +01:00
Richard Hughes
b53ad36012
trivial: Fix up a number of FALSE/NULL return issues
2017-06-19 13:50:42 +01:00
Richard Hughes
4a2e915e9a
unifying: Use the UFY DeviceID prefix as the PID is not 'USB PIDs' at all.
...
Resolves: https://github.com/hughsie/fwupd/issues/144
2017-06-16 16:45:42 +01:00
Richard Hughes
bbde1df44f
Fix downgrades when version_lowest is set
...
Also, add some tests to test this with the dummy device.
2017-06-16 12:40:15 +01:00
Richard Hughes
b7bf715435
Add an installed test for device update
...
This also moves the tests into one file as gnome-desktop-testing-runner
intentionally randomizes the order and runs them in parallel where allowed.
Since tests like get-updates have to be run after the metadata injection simply
put these into one test that calls a simple script.
2017-06-15 20:19:03 +01:00
Richard Hughes
ae7e0d21b2
Add an installed test for verification
2017-06-15 16:23:52 +01:00
Richard Hughes
fd381cc96e
Add the ability to restrict the firmware installation to specific vendor IDs
...
This allows us to fix https://github.com/hughsie/lvfs-website/issues/4
2017-06-12 20:22:25 +01:00
Richard Hughes
e76ed8eb0d
trivial: Generate more than just SHA1 OptionROM checksums
2017-06-07 08:02:41 +01:00
Richard Hughes
68cc00c7e9
Allow multiple checksums on devices and releases
...
Although we supported other hashes than SHA1 (which is now moderately unsafe)
we had to switch the metadata provider and daemon on some kind of flag day to
using SHA256. Since that's somewhat impractical, just allow multiple checksums
to be set on objects and just try to match whatever is given in preference
order.
This also means we can easily transition to other hash types in the future.
The removed API was never present in a tarball release, so not an API break.
2017-06-06 20:06:53 +01:00
Richard Hughes
0fe22ff010
ebitdo: Ensure the version is set on the device in non-bootloader mode
2017-06-05 09:03:44 +01:00
Richard Hughes
a9adbf5d22
ebitdo: 8bitdo has started using a new VID
2017-06-05 08:46:50 +01:00
Richard Hughes
35579c3183
unifying: Do not expect a reply when issuing a REBOOT command
...
Although the device does send a response, in some cases the Linux USB stack
processes the disconnect before the reply is processed.
Resolves: https://github.com/hughsie/fwupd/issues/122
2017-05-31 16:44:21 +01:00
Richard Hughes
5bba7caa4d
unifying: Remove the indirection to lu_device_send_request()
...
It's only called by one static user, and it is much simpler this way.
2017-05-31 16:40:54 +01:00
Richard Hughes
2ff985e04b
unifying: Allow calling lu_device_close() multiple times without an error
2017-05-31 16:36:00 +01:00
Richard Hughes
e1e9fa99b4
unifying: Don't read a register we don't use
...
It seems other firmware versions are affected too.
2017-05-30 19:46:42 +01:00
Mario Limonciello
df1f570069
Fix a logic error with testing for a dell system.
...
Some Lenovo systems were inadvertently matching.
2017-05-25 21:33:54 -05:00
Richard Hughes
e2ecefa3c3
unifying: Relax the requirement that a SHORT request should return a SHORT reply
...
For some HID++2.0 devices a SHORT request is allowed to be padded into a LONG
response.
2017-05-23 13:54:10 +01:00
Richard Hughes
2b5f6b9a74
unifying: Correctly open RQR12 devices with original factory firmware
...
It seems reading from the register is fixed in later firmware versions.
2017-05-23 13:14:28 +01:00
Richard Hughes
fd45583728
unifying: Ensure HID devices are closed if the subclassed open() or probe() failed
...
Fixes the critical warnings in https://github.com/hughsie/fwupd/issues/117
2017-05-23 12:27:23 +01:00
Richard Hughes
26a52be318
unifying: Fix the spelling of 'Receiver'
2017-05-23 09:30:20 +01:00
Richard Hughes
ccda0d2be7
uefi: Add a translatable string for future use
...
This is added now so the translator teams get a chance to translate it before
it is used in anger.
2017-05-22 12:01:26 +01:00
Richard Hughes
0293f720bc
unifying: Ensure device is closed if fu_device_ebitdo_open() did not complete
...
It's not expected users have to call lu_device_close() if opening failed.
2017-05-08 12:44:53 +01:00
Richard Hughes
741f3310ab
ebitdo: Ensure device is closed if fu_device_ebitdo_open() did not complete
...
It's not expected users have to call fu_device_ebitdo_close() if opening failed.
2017-05-08 12:44:26 +01:00
Richard Hughes
b0c65749fc
steelseries: Ensure device is closed if it returns an invalid packet
2017-05-08 12:43:17 +01:00
Richard Hughes
2bdc588112
unifying: Ignore spaces in the version prefix
2017-05-03 10:24:59 +01:00
Richard Hughes
7a7591a99a
unifying: Add support for DFU features
...
This adds support for flashing peripherals with the 0x00d0 DFU feature.
2017-05-02 21:30:50 +01:00
JulianLiu
1d577d6572
enable-dell requires libfwup-dev ( #113 )
...
* enable-dell requires libfwup-dev
Add dependency in enable-dell and shared_module('fu_plugin_uefi')
2017-05-02 19:38:15 +01:00
Mario Limonciello
5c1df14d05
fix test suite localstate directory to be a temporary directory
2017-04-20 13:53:19 -05:00
Richard Hughes
fe3f0eda75
trivial: Fix build when using older version of meson
...
Newer meson versions ignore unknown found requests, not so much for older ones.
2017-04-19 08:38:41 +01:00
Richard Hughes
4f0f4c77ce
trivial: Fix underlinking in the altos plugin
2017-04-16 09:10:30 +01:00
Richard Hughes
1fdb335025
Remove the automake build system
2017-04-13 18:42:08 +01:00
Richard Hughes
f6ee41edf2
trivial: Make libtbtfwu optional when compiling with thunderbolt support
2017-04-13 17:44:08 +01:00
Richard Hughes
9f0c47b36a
Fix the raspberrypi self test code under meson
...
Also, refactor the common test code to a new source file.
2017-04-13 10:09:33 +01:00
Richard Hughes
87e82a716d
trivial: Add the optional valgrind functionality back
2017-04-12 18:21:08 +01:00
Richard Hughes
67b8cb62bc
trivial: Fix the last -Wpointer-sign warning
2017-04-12 17:56:54 +01:00
Richard Hughes
ea8ebcfc7b
unifying: Refactor the plugin now we have some more information about the hardware
...
Many thanks to Logitech.
2017-04-12 17:54:50 +01:00
Richard Hughes
38a08807f5
trivial: Fix linking in the synapticsmst plugin
2017-04-12 17:54:46 +01:00
Richard Hughes
463f80566c
trivial: Fix linking in the thunderbolt plugin
2017-04-12 17:54:46 +01:00
Richard Hughes
57746cb839
Add the Meson build system as an alternate to autotools
...
Automake and autoconf are impossible to fully understand and Meson now provides
everything we need for a much smaller, faster, and more understandable build.
See http://mesonbuild.com/ for more information.
2017-04-12 16:35:18 +01:00
Richard Hughes
d3f4b5a428
trivial: Define the build dir outside the source file
2017-04-12 14:26:14 +01:00
Richard Hughes
f985a8f7b7
trivial: Fix the log domains in two plugins
2017-04-12 14:20:07 +01:00
Mario Limonciello
99489a8638
trivial: set synaptics error message in more scenarios
2017-03-20 13:34:26 -05:00
Richard Hughes
7db8ed498b
trivial: Unbreak make check
2017-02-24 10:55:46 +00:00
Richard Hughes
c3c28bacae
trivial: Always initialize a g_autoptr as the compiler is not yet smart enough
2017-02-24 07:54:51 +00:00
Mario Limonciello
6cabd969e9
trivial: correct a small memory leak in SynapticsMST plugin
2017-02-23 13:16:04 -06:00
Mario Limonciello
e70e5513ca
dell: don't initialize libsmbios on unsupported systems
...
As found in https://github.com/dell/libsmbios/pull/13
there are some errors with libsmbios error paths.
These need to be fixed in libsmbios, but at least avoid
running this code on those systems (and crashing fwupd).
2017-02-20 14:54:12 -06:00
Mario Limonciello
aad9729347
trivial: fix build issues with older efivar
...
This is in the same vane as 4da67515
, it allows linking with
an older efivar.
2017-02-15 09:29:59 -06:00
Richard Hughes
d82a6024e7
Fix a crash when enumerating devices on a Dell WLD15
2017-02-13 11:03:03 +00:00
Richard Hughes
31c36cd2b6
trivial: Fix some -Wdiscarded-qualifiers warnings
2017-02-13 11:02:19 +00:00
Richard Hughes
2613dcc3b8
trivial: Fix another -Wpointer-sign compile warning
2017-02-13 10:50:07 +00:00
Richard Hughes
6d5f2dc25e
trivial: Fix compile warnings when building packages
2017-02-13 10:50:07 +00:00
Richard Hughes
4da6751502
trivial: Fix build issue
...
Patch from Gert Hulselmans, many thanks.
Fixes: https://github.com/hughsie/fwupd/issues/88
2017-02-13 10:50:07 +00:00
Kai Krakow
1c7ea9ee2d
Fix compiler warnings
...
My compiler doesn't understand -Wno-discard-qualifiers so drop it and
fix the warnings instead. I think it is better to explicitly fix them
anyways instead of just to ignore the discarded const qualifier in
general.
I think the option should be avoided in hand-written code. The warning
is there for a reason: To protect you from possibly overwriting data you
expect to not be modified when passing pointers around.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41215
2017-02-13 10:02:25 +00:00
Richard Hughes
3e214856fb
trivial: Fix a resource leak spotted by coverity
2017-02-08 11:03:48 +00:00
Mario Limonciello
8971645f78
trivial: synapticsmst: don't bother to scan cascade nodes in test suite
...
This significantly speeds up the test suite.
They can't really be easily represented anyways in the test suite
since the devnode would have to change so much between steps.
2017-02-03 13:21:29 -06:00
Richard Hughes
48d23f7bb0
Fix a refcounting issue in the udev plugin
...
Objects are returned from the cache with transfer:none.
Hopefully fixes https://github.com/hughsie/fwupd/issues/86
2017-02-03 14:17:07 +00:00
Richard Hughes
c4cbcafe5e
synapticsmst: Fix up some trivial whitespace issues
2017-02-03 10:11:41 +00:00
Mario Limonciello
0a65ffb239
synapticsmst: add a test suite
2017-02-02 21:43:42 -06:00
Mario Limonciello
f5144d0720
trivial: synaptics: increase flash mode delay to 3s
...
This allows devices with multiple hubs to settle between device
flashes better. It doesn't have much other functional impact.
2017-02-01 17:16:27 -06:00
Mario Limonciello
e41e4a7a26
trivial: synaptics: encode chip ID into dock string
...
Although the same payload is used for all 3 MST hubs in TB16 or WD15
it's possible this may change one day. Create separate GUID's for
all 3 different combinations by encoding the chip ID into the GUID
string.
2017-02-01 16:43:57 -06:00
Mario Limonciello
43f2286e10
trivial: synaptics: update the device name to be more sensible
2017-02-01 16:43:50 -06:00
Mario Limonciello
8d97bcf0ed
trivial: synaptics: keep system ID in hexadecimal
2017-02-01 14:04:44 -06:00
Mario Limonciello
66d383cfed
trivial: synaptics: check for removed cascaded devices during scan
2017-02-01 13:53:34 -06:00
Mario Limonciello
9e868a2cf8
trivial: synaptics: make debug messages more useful
2017-02-01 13:33:43 -06:00
Mario Limonciello
8d51d273e7
trivial: synapticsmst: consistently use lower case for dock ID's
2017-02-01 13:25:54 -06:00
Mario Limonciello
ccee8cd86f
trivial: synaptics: remove cascaded devices if the direct device falls off
2017-01-31 11:02:54 -06:00
Mario Limonciello
7319259a84
Add a new function fu_dell_supported to fu-dell-common
...
This is used by Dell, Synaptics and Thunderbolt plugins
to identify if the system is a Dell system and if so
activate special code paths.
2017-01-30 20:58:28 -06:00
Mario Limonciello
8e74df7528
synapticsmst: build GUID using dock type
...
Although WD15 and TB16 share a same payload today, this may not
be the case some day in the future. Use the fu-dell-common method
to determine the dock in use to build the GUID.
2017-01-30 20:37:48 -06:00
Mario Limonciello
bae3a02348
trivial: dell: move some dock lookup code into -common
...
This allows other plugins to compile in -common to be able look
up some dock related items.
2017-01-30 20:17:48 -06:00
Mario Limonciello
694bb60f2c
trivial: dell: update readme for MST and TBT being part of fwupd
2017-01-30 20:00:23 -06:00
Mario Limonciello
0800097d25
trivial: dell: rework dell plugin to track a single smi object
...
Tracking a single smi object in the plugindata is more similar
to how other plugins operate and also allows moving FuPluginData
out of fu-dell-common, making fu-dell-tool less hacky and letting
other plugins use fu-dell-common as needed.
2017-01-30 15:48:54 -06:00
Mario Limonciello
8c7b98da56
synapticsmst: Iterate all nodes rather than hardcoding to 3
2017-01-26 17:06:22 -06:00
Richard Hughes
7ed92084ac
trivial: Fix make distcheck
2017-01-25 09:54:00 +00:00
Mario Limonciello
2663c0b865
trivial: thunderbolt: typo in Makefile.am
2017-01-23 11:28:10 -06:00
Mario Limonciello
493b63f6cc
trivial: shuffle fu-dell-flash into fu-dell-common
...
This will make sharing common functions from the dell plugin with
others easier
2017-01-23 11:27:03 -06:00
Mario Limonciello
d25200fc66
thunderbolt: Add special handling for safe mode on Dell systems ( #84 )
...
* thunderbolt: Add special handling for safe mode on Dell systems
Dell systems are known to have the Model ID the same as the SystemID
that can be recovered from libsmbios. If the thunderbolt controller
is in safe mode, identify with this ID to allow the controller to be
flashed with a good FW.
2017-01-23 17:10:31 +00:00
Yehezkel Bernat
94e7f75ef3
Updates for thunderbolt plugin
...
* Minor changes in Thunderbolt README file
* Remove PCI-oriented GUID
* Handle Thunderbolt controller in safe-mode
* Get progress status updates for Thunderbolt
* Fix for Thunderbolt FW version display
* Style changes from pull request review
2017-01-21 15:44:26 +00:00
Mario Limonciello
ceb0ea9582
trivial: synaptics: don't advertise device remote control out to the plugin or tool
2017-01-20 16:26:56 -06:00
Mario Limonciello
eebf9f9c7d
synapticsmst: fix cascade support in the plugin
...
There was a lot of confusion about when remote control was turned
on or off leading to dsyfunctional cascade support.
This has been confirmed to work for querying and flashing both
VMM3320s in a Rugged Latitude 5414 + dock.
2017-01-20 16:22:31 -06:00
Richard Hughes
df9cc282ec
trivial: Only build the synapticsmst if HAVE_SYNAPTICS is set
2017-01-20 12:52:58 +00:00
Mario Limonciello
72f905d846
trivial: dell: fix test suite
...
Commit cd87fca
broke running the test suite on machines without
UEFI capsule support.
2017-01-19 14:16:23 -06:00
Richard Hughes
67a756c93f
synapticsmst: Refactor away the global state
...
The synapticsmst-common.c file had some global state so that cascade devices
could use the device fd. This made the control flow error prone, and it meant
that the fd could be leaked trivially on any error path.
Moving the fd ownership to the device is the logical place for the control, and
means we can create "connections" to access the main device and the cascade
devices.
This fixes the warnings detected by Coverity.
2017-01-19 13:41:04 +00:00
Richard Hughes
fffa21639b
trivial: unindent a code block
2017-01-19 08:51:16 +00:00
Richard Hughes
d99282f2ca
trivial: Fix an anti-pattern when returning error strings
2017-01-19 08:43:06 +00:00
Richard Hughes
2ef5ae0536
trivial: dell: Fix some intenting that was making coverity unhappy
2017-01-18 08:32:45 +00:00
Mario Limonciello
836ff015b3
trivial: synaptics: on new systems show unknown rather than failing
2017-01-17 16:08:04 -06:00
Mario Limonciello
7d5003e643
trivial: synaptics: don't fail on systems with less DP aux nodes
2017-01-17 13:23:46 -06:00
Mario Limonciello
548c6901c4
trivial: synaptics: add missing ID string for Rugged platforms
2017-01-17 12:13:59 -06:00
Mario Limonciello
0ed79d5455
trivial: synaptics: log invalid board IDs
2017-01-17 12:02:15 -06:00
Mario Limonciello
cd87fcae5a
trivial: dell: don't disable plugin if UEFI capsule isn't supported
...
It now supports enabling things for other plugins too, so rather
mark any devices created by Dell as only readable, not flashable
when UEFI capsule is off.
2017-01-17 11:49:33 -06:00
Mario Limonciello
908b17e1fb
trivial: dell: Don't output error domain twice
2017-01-17 11:38:34 -06:00
Mario Limonciello
f48a93546e
trivial: dell: only enable coldplug delay when needed
...
The coldplug delay that Dell uses is only needed for the thunderbolt
and synaptics MST plugins.
2017-01-17 11:35:20 -06:00
Richard Hughes
31fd185ecf
trivial: Fix make distcheck
2017-01-17 15:44:52 +00:00
Richard Hughes
6a9c91a083
trivial: Fix a trivial warning in the altos plugin
2017-01-17 15:37:08 +00:00
Richard Hughes
8dafc604e0
trivial: Fix up the typedef'd enum style
2017-01-17 14:15:00 +00:00
Richard Hughes
2153cd0f89
trivial: Use guint8 rather than guchar
...
Although it's probably the same, this matches the other plugins.
2017-01-17 14:10:12 +00:00
Richard Hughes
26aade02d2
trivial: Don't use caps in variable names
2017-01-17 13:21:14 +00:00
Pei-Chen Huang
9225270421
trivial: fix synaptics device scan cascade function
2017-01-17 06:23:45 -06:00
Richard Hughes
3d8d48c896
trivial: Remove boilerplate gtk-doc from plugin
2017-01-17 11:17:29 +00:00
Richard Hughes
0c91cb0a94
trivial: Don't output the error domain twice
2017-01-17 11:17:29 +00:00
Richard Hughes
ae040f77b8
trivial: Fix some indenting in synapticsmst
2017-01-17 11:17:29 +00:00
Richard Hughes
94ce14f317
trivial: Use rc for return codes
...
The variable ret is normally reserved for boolean values.
2017-01-17 08:58:40 +00:00
Richard Hughes
1967c6c9ac
trivial: Fix up some missing return value assignments
...
Spotted by coverity.
2017-01-17 08:54:34 +00:00
Richard Hughes
db0a3cb37f
trivial: Fix up some indent issues spotted by coverity
2017-01-17 08:54:03 +00:00
Richard Hughes
999f66ab13
trivial: Actually set the Unifying device name
2017-01-16 22:00:40 +00:00
Mario Limonciello
f53e4a2d4b
trivial: synapticsmst: only enable plugin if kernel support is present
2017-01-16 15:37:11 -06:00
Mario Limonciello
8eaf6dbcd6
trivial: synapticsmst: don't proceed if device open fails
2017-01-16 15:14:47 -06:00
Pei-Chen Huang
abac1640a5
synapticsmst: Add cascade support
2017-01-16 11:23:43 -06:00
Mario Limonciello
24afb470f2
Introduce plugin for Synaptics MST hubs
2017-01-16 11:23:43 -06:00
Richard Hughes
e3c8832dd0
trivial: Fix a critical warning when removing thunderbolt devices in safe mode
2017-01-11 21:51:21 +00:00
Mario Limonciello
038d386a82
dell: introduce a standalone (noinst) tool to force mode flashes
2017-01-11 15:35:55 -06:00
Richard Hughes
2520b7d1ed
trivial: Add some debugging in the thunderbolt plugin
2017-01-11 17:24:20 +00:00
Richard Hughes
26adb3c819
trivial: Fix a crash when flashing a thunderbolt controller in safe mode
2017-01-11 17:21:10 +00:00
Mario Limonciello
0d92e865aa
trivial: thunderbolt: don't allocate new plugin data on rescan
2017-01-10 19:55:12 -06:00
Mario Limonciello
9df75f7206
trivial: dell: move coldplug delay setting to startup()
2017-01-10 17:13:08 -06:00
Richard Hughes
cd35e3c242
trivial: Fix a compile warning when doing a unifying control transfer
2017-01-10 22:10:50 +00:00
Richard Hughes
04ec912b19
trivial: Fix some colorhug function name prefixes
2017-01-10 22:10:50 +00:00
Richard Hughes
932eb397d2
trivial: Fix 'make distcheck'
2017-01-10 22:10:50 +00:00
Mario Limonciello
592ab30b3c
trivial: dell: update_prepare/update_cleanup on only certain plugins
2017-01-10 15:39:25 -06:00
Richard Hughes
23b9c9d78d
trivial: Use the per-plugin cache for the runtime device
...
There is no point having two hash tables doing the same thing...
2017-01-10 16:09:38 +00:00
Richard Hughes
0de35b058d
unifying: Subclass FuDevice like the altos plugin
2017-01-10 16:09:32 +00:00
Richard Hughes
a4e44ce39b
altos: Set the flags in the init_real so they work for the cmdline tool
2017-01-10 16:09:32 +00:00
Richard Hughes
b721d4326f
ebitdo: Subclass FuDevice like the altos plugin
...
This makes things much simpler.
2017-01-10 14:02:16 +00:00
Richard Hughes
dc390e3a68
trivial: Set up two flags not set by cfmakeraw()
2017-01-10 12:49:52 +00:00
Richard Hughes
7a44ff9748
altos: Add error checking when using termios
2017-01-10 12:48:08 +00:00
Richard Hughes
b082903c5f
Add fu_plugin_set_coldplug_delay() to allow hardware to initialize if required
2017-01-10 09:27:08 +00:00
Richard Hughes
10ec93b187
Revert "thunderbolt: add some guards around empty arrays"
...
This reverts commit 5f1c991c40
.
2017-01-09 21:34:43 +00:00
Richard Hughes
efa55b83a7
dell: Fix possible linker problem
...
The linker does not know which public symbol to call if a plugin calls it's own
symbol. Without this change one plugin could call into another plugin with the
wrong GsPluginData set.
2017-01-09 21:32:44 +00:00
Richard Hughes
2b464378ea
trivial: Add flags to fu_device_altos_write_firmware()
2017-01-09 21:25:50 +00:00
Mario Limonciello
2bcc151619
dell: Adjust the coldplug preparation and cleanup sequence
...
Unfortunately no indication is made that a GPIO change is
done so some time needs to be left to make sure this happened.
2017-01-09 13:31:35 -06:00
Mario Limonciello
5f1c991c40
thunderbolt: add some guards around empty arrays
...
Depending upon the call order and devices coming or going these
may or may not have anything actually contained which will cause
segfaults otherwise.
2017-01-09 11:11:19 -06:00
Richard Hughes
05133fefb7
Add support for flashing the ChaosKey
2017-01-09 12:21:35 +00:00
Richard Hughes
4ff3169556
thunderbolt: Detecting new devices and add an actual device to the daemon
...
Also, add an untested update implementation.
Based on a patch by Eric Rubin-smith <ericx.rubin-smith@intel.com>, many thanks.
2017-01-08 16:14:35 +00:00
Richard Hughes
1d511fafa6
trivial: Fix a uninitialized value in the dell plugin
...
Spotted using clang.
2017-01-07 22:14:28 +00:00
Richard Hughes
c7ea2a2369
trivial: Fix up two compile warnings
2017-01-07 22:10:14 +00:00
Richard Hughes
46487c944a
Add the ability to run a prepare->exec->cleanup on coldplug
...
The idea here is that plugins can 'wake up' hardware in prepare, and put it
back into powersaving mode when doing cleanup.
2017-01-07 21:26:36 +00:00
Richard Hughes
57d8bf6590
trivial: Fix a compile warning in the dell plugin
2017-01-07 21:15:46 +00:00
Mario Limonciello
5723c2f643
dell: Add coldplug methods to let other plugins turn on TBT/GPIO
...
Remove the dummy devices created for NVM and MST, these will
be created by other plugins. Other plugins will however
be using the Dell methods to enable these devices.
2017-01-06 15:25:57 -06:00
Mario Limonciello
ddeb0297bf
trivial: dell: remove unnecessary usb_ctx after moving to plugins
2017-01-06 12:03:21 -06:00
Mario Limonciello
49c96b8941
trivial: dell: remove unnecessary include
2017-01-06 12:03:21 -06:00
Richard Hughes
7ceb318a27
Add fwupd_result_get_device_version_bootloader()
...
This functionality is required so that AppStream metadata can check the fwupd
version, the firmware version, bootloader version or a combination of all three.
2016-12-23 11:21:22 +00:00
Richard Hughes
0075a98b51
unifying: Use the actual bootloader VID/PIDs when in firmware mode
2016-12-16 21:24:55 +00:00
Richard Hughes
04042a10e8
trivial: Fix a tiny memory leak in the Udev plugin
...
Also, fix some method prefixes to match the plugin name.
2016-12-16 14:03:08 +00:00
Richard Hughes
a59777ad8d
Add initial skeleton for Intel Thunderbolt support
2016-12-16 12:41:57 +00:00
Richard Hughes
598a40d746
trivial: Use a delay when adding Udev devices
...
There might be a better plugin to claim these than the generic fallback.
2016-12-16 12:41:57 +00:00
Richard Hughes
ae3d65f60b
Move the device add delay to shared code
...
This allows us to reuse the logic in other plugins.
2016-12-16 12:41:57 +00:00
Richard Hughes
74702297b2
Move the Option ROM parsing to the Udev plugin
2016-12-15 17:09:38 +00:00
Mario Limonciello
3b09e323c8
trivial: whitespace fixes in dell plugin
2016-12-15 10:30:41 -06:00
Mario Limonciello
9bb952ac7e
dell: add a new method for forcing a controller to flash mode
...
This method will be used in conjunction with other new plugins
in the future that will perform online flashes.
2016-12-15 10:30:37 -06:00
Richard Hughes
0c7c4e4406
trivial: Use the HIDPP constants from libratbag
2016-12-15 16:26:30 +00:00
Richard Hughes
561c457149
trivial: Use unique profiling IDs in plugins
2016-12-15 12:55:21 +00:00
Richard Hughes
c591460ff8
trivial: Fix a warning when compiling the unifying plugin
2016-12-14 10:52:44 +00:00
Mario Limonciello
02ccecb2be
fix dfu plugin loading
...
failed to open plugin
/usr/lib/x86_64-linux-gnu/fwupd-plugins-2/libfu_plugin_dfu.so:
failed to open plugin:
/usr/lib/x86_64-linux-gnu/fwupd-plugins-2/libfu_plugin_dfu.so:
undefined symbol: dfu_device_upload
2016-12-13 13:19:55 -06:00
Mario Limonciello
f074b0d367
Fix udev plugin loading
...
failed to open plugin /usr/lib/x86_64-linux-gnu/fwupd-plugins-2/libfu_plugin_udev.so:
failed to open plugin: /usr/lib/x86_64-linux-gnu/fwupd-plugins-2/libfu_plugin_udev.so:
undefined symbol: g_udev_device_get_property
2016-12-13 13:19:51 -06:00
Mario Limonciello
e781bb9b64
trivial: fix cosmetic fallout from provider -> plugin
...
some code (such as libfwupd) still internally refers to provider,
but this will need to be more carefully massaged
2016-12-13 12:25:09 -06:00
Mario Limonciello
6a1cbc61b2
trivial: correct raspberry pi error message
2016-12-13 12:03:49 -06:00
Richard Hughes
4232185bec
trivial: Remove some false-positive messages when using clang
2016-12-13 16:01:52 +00:00
Richard Hughes
ee54d32f4d
trivial: Fix a Coverity false positive
2016-12-12 17:02:10 +00:00
Richard Hughes
59a9344c1e
Move the UPower functionality to a plugin
2016-12-12 16:28:16 +00:00
Richard Hughes
864363e139
Add support for Logitech Unifying devices
...
If you do not have Unifying hardware you can emulate writing firmware using:
$ fu-unifying-tool write file.hex -v --emulate=bootloader-nordic
2016-12-12 15:36:53 +00:00
Richard Hughes
cff38bcb3a
Convert the providers to plugins to simplify code and for future features
...
This is a large commit that removes all the providers and turns them into
plugins. I think having both providers _and_ plugins was super confusing.
Plugins are loaded at runtime so you could in theory develop a new plugin
without putting it in the fwupd source tree, although there are no installed
headers or PC files as I'm not sure it's a good idea at this stage.
This commit moves all the per-provider docs, tests, notes, debug dumps and test
data to plugin-specific directories -- these also allows the plugin author to
"own" more of the source tree so we don't enforce fu- prefixes and the style
guide everywhere.
This allows us to run the same action on all the plugins in the future, so we
could have a prepare(FuPlugin, FuDevice) and cleanup(FuPlugin, FuDevice) run
on *all* plugins, so doing an update using one plugin would allow us to work
around hardware quirks in other plugins.
If I've broken your out-of-tree provider it's trivial to port to the new API
with sed and a fixed up build file. If you need help please let me know.
2016-12-12 12:31:23 +00:00
Richard Hughes
319a6bab12
Move the plugins into plugin-specific directories
...
This will allow us to add further documentation here in the future.
2016-12-12 11:52:03 +00:00