Commit Graph

62 Commits

Author SHA1 Message Date
Richard Hughes
70d13a5a58 unifying: Make sure the percentage completion goes from 0% to 100%
Pre-filter the pending LuDeviceBootloaderRequest's after they are parsed so
that we know exactly how many packets need to be sent to the hardware.

As shown in https://github.com/hughsie/fwupd/issues/155, people get worried
if the progress bar finishes before 100% as they'll wonder if all the writing
completed successfully.
2017-07-24 12:02:14 +01:00
Richard Hughes
b31791a11f trivial: Allow setting the unifying bootloader address for self tests 2017-07-24 11:54:31 +01:00
Richard Hughes
da928d1da7 unifying: Fix trivial error handler warning 2017-07-24 11:46:54 +01:00
Richard Hughes
3cca1c65c2 trivial: Remove or downgrade some superfluous warnings
Fixes bugs like https://github.com/hughsie/fwupd/issues/159
2017-07-21 13:38:27 +01:00
Mario Limonciello
c29b398ad0 trivial: fix various spelling errors 2017-07-17 13:07:05 -05:00
Richard Hughes
c633edc773 unifying: Don't log a warning when an unknown report is parsed
Fixes: https://github.com/hughsie/fwupd/issues/151
2017-07-07 13:42:45 +01:00
Richard Hughes
822e134e94 unifying: Split up the HID++2.0 and HID++1.0 functionality 2017-07-04 13:19:09 +01:00
Richard Hughes
2a247e85e3 unifying: Allow flashing in bootloader modes 2017-07-03 20:17:50 +01:00
Richard Hughes
07bdf87b86 trivial: Add defines for the 'very-long' register read/write 2017-07-03 20:17:43 +01:00
Richard Hughes
b1af7496b1 unifying: Show the hardware version when the hardware provides this 2017-06-28 14:19:11 +01:00
Richard Hughes
55e6d9a74f unifying: Only add the feature Root on HID++2.0 devices 2017-06-28 14:18:56 +01:00
Richard Hughes
42b6439892 unifying: Switch to a floating point HID++ version 2017-06-28 14:17:30 +01:00
Richard Hughes
2c1bd0236c unifying: Only call HID++2.0 features on version 2+ devices
Also, ignore HID++1.0 replies from HID++2.0 devices and use the correct
function ID for getDfuStatus to avoid an error.
2017-06-28 12:10:02 +01:00
Richard Hughes
e97c5eb013 unifying: Manually set the HID++ version for runtime devices 2017-06-28 12:09:51 +01:00
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
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
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
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
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
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
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
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
Richard Hughes
1fdb335025 Remove the automake build system 2017-04-13 18:42:08 +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
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
f985a8f7b7 trivial: Fix the log domains in two plugins 2017-04-12 14:20:07 +01:00