Richard Hughes
427e5cec7a
trivial: Add new convenience API to make plugins simpler
2022-12-20 20:54:12 +00:00
Richard Hughes
123fac737a
trivial: Fix some g_prefix_error() calls to include the trailing space
2022-11-30 10:13:19 +00:00
Richard Hughes
1c3c5d9892
Allow optionally translating request messages
...
Also add two more request IDs to make these specific enough to be useful.
2022-10-03 20:54:24 +01:00
Richard Hughes
99002a7a18
Build many more plugins as builtin
...
This reduces the plugin directory size by 2.2Mb
2022-09-28 17:01:23 +01:00
Richard Hughes
c4b7f42e43
Only compress one version of the builtin-quirks
...
Saving the quirks in the GResource section worked well, but it made the build
system very complicated and also meant the .data section was duplicated in
both `fwupd` and `fwupdtool` -- negating a lot of the hard-fought savings.
Simplify this feature so that we just `cat` all the quirk files together, then
gzip them into a single file. This means that at startup fwupd only needs to
check the mtime of one file, and weirdly it's actually faster to load a smaller
compressed file from disk that it is to load multiple uncompressed files.
2022-09-27 12:44:04 +01:00
Richard Hughes
0415db6f67
Revert "trivial: Use files() rather than current_source_dir()"
...
This reverts commit b581fa5670
as it breaks
`ninja dist` with `-Dgresource_quirks=enabled`.
2022-09-25 10:31:14 +01:00
Richard Hughes
b581fa5670
trivial: Use files() rather than current_source_dir()
2022-09-24 09:12:14 -05:00
Richard Hughes
e358cc7bde
Set the firmware contents even when subclassing ->parse()
2022-09-10 09:16:05 +01:00
Richard Hughes
0c51630991
Check firmware magic in a more standard way
...
Some parsers are ignoring the magic when using _FLAG_IGNORE_CHECKSUM
(which is wrong; fuzzers have no problem with enforcing a static prefix)
and other either disregard the offset or check the magic in an unsafe
way. Also, use FWUPD_ERROR_INVALID_FILE consistently for magic failure.
Add a vfunc, and move all the clever code into one place.
2022-07-14 14:48:15 +01:00
Richard Hughes
acc66316ec
steelseries: Fix trivial -Wunused-variable issue
2022-07-11 09:58:00 +01:00
Richard Hughes
a61bb37881
Build the quirk files into the daemon as a GResource
...
Interestingly, this increases the `fwupd` binary size by ~30kb but
reduces the installed size of /usr/share/fwupd/quirks.d by ~330kb.
2022-06-30 18:52:24 +01:00
Richard Hughes
0491b07a93
Make the FuFirmware->parse() vfunc more helpful
...
This removes the 100% unused addr_end parameter and explicitly makes
the addr_start into the start offset in more cases.
2022-06-27 15:40:11 -05:00
Gaël PORTAY
299b42fe96
trivial: Make meson.build indentation consistent
2022-06-21 03:27:38 -04:00
Richard Hughes
faa7871b08
Remove duplicate ->probe() calls to speed up startup by 150ms
...
Now incorporate is fixed to copy across the properties we need in the
superclass, we don't need to do the subclass ->probe().
Note, we still need to do the subclassed ->probe() when using
FU_UDEV_DEVICE_FLAG_VENDOR_FROM_PARENT or when looking at properties
on the parent device.
This also removes the spurious 'already set GType to FuVliUsbhubDevice,
ignoring FuVliUsbhubDevice' messages when running the daemon.
2022-06-14 21:01:57 +01:00
Richard Hughes
4105768a01
Remove the 'common' prefix when parsing version numbers
2022-06-14 14:36:52 -05:00
Richard Hughes
7f86ffab6f
Split out the dump helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
ed1b13da28
Split out the memory helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
4b1313b406
Split out the GByte helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
9d33c29e92
Split out the string helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
3fe9c0de34
Split out the CRC and sum functions to new source files
2022-06-14 14:36:52 -05:00
Gaël PORTAY
d15f0b1cca
steelseries: fizz: Use fu_common_strsafe()
2022-06-10 10:07:28 -04:00
Gaël PORTAY
8d4d2f2087
steelseries: Add hid support to detect Bluetooth devices
2022-06-10 10:07:28 -04:00
Gaël PORTAY
99f310e11a
steelseries: Add datasz to fu_steelseries_device_cmd()
...
Additionaly, this:
- removes the unused function fu_steelseries_device_get_transfer_size()
- renames function fu_steelseries_device_command_error_to_error() to
fu_steelseries_fizz_command_error_to_error()
2022-06-09 10:57:26 -04:00
Gaël PORTAY
40ba65ce28
steelseries: fizz: Fiz command size
...
The size of a command is 8bits long.
2022-06-09 10:57:26 -04:00
Richard Hughes
dc91d59f8e
Remove the recently added fu_progress_add_step_full()
...
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
5ef0ae182d
Add a 'name' attribute to each FuProgress step
...
This allows us to print better warning strings, and in the future
would allow us to profile each operation in a meaningful way.
Also, add context to some of the progress steps as required.
2022-06-01 15:05:43 +01:00
Gaël PORTAY
2e1b7c6438
steelseries: fizz: Rename command functions
2022-05-30 10:24:52 -04:00
Gaël PORTAY
fe3649ee6a
steelseries: fizz: Add missing command definitions
2022-05-30 10:24:52 -04:00
Gaël PORTAY
87f2807dfb
steelseries: fizz: Fix indentation violation
2022-05-30 10:24:52 -04:00
Gaël PORTAY
56a3632331
steelseries: fizz: Set firmware GType
2022-05-30 10:24:52 -04:00
Gaël PORTAY
4d820f0ddb
steelseries: fizz-tunnel: Enable polling
2022-05-30 10:24:52 -04:00
Gaël PORTAY
0b8ff7196a
steelseries: fizz-tunnel: Get battery level
2022-05-30 10:24:52 -04:00
Gaël PORTAY
8992698381
steelseries: fizz-tunnel: Wait for device connected
2022-05-30 10:24:52 -04:00
Gaël PORTAY
6190fc6830
steelseries: fizz-tunnel: Add sub-device if paired only
2022-05-30 10:24:52 -04:00
Gaël PORTAY
714983d82d
steelseries: fizz: Add support for 2.4G connection
2022-05-30 10:24:52 -04:00
Gaël PORTAY
c5defa89e9
steelseries: sonic: Rewrite connect using fu_device_retry_full()
2022-05-27 11:19:51 -04:00
Gaël PORTAY
2f23489c6e
trivial: steelseries: fizz: Add devices in bootloader mode
2022-05-27 11:19:51 -04:00
Gaël PORTAY
29ac547c43
trivial: steelseries: sonic: Adjust timings
2022-05-27 11:19:51 -04:00
Gaël PORTAY
c41c738327
trivial: steelseries: Fix progress status
2022-05-27 11:19:51 -04:00
Gaël PORTAY
9bd8a327d8
trivial: steelseries: Fix indentation violation
2022-05-24 06:43:02 -04:00
Richard Hughes
636786dd6a
steelseries: Fix trivial typo spotted by Coverity
2022-05-24 08:53:30 +01:00
Richard Hughes
4397e9d7e0
steelseries: Don't use 'dongle' to describe hardware
2022-05-23 14:56:45 +01:00
Richard Hughes
f16560b705
Add device icon usb-receiver
2022-05-23 14:56:45 +01:00
Richard Hughes
4ffa70032f
steelseries: Fix a trivial flag issue
2022-05-23 14:13:17 +01:00
Gaël PORTAY
7f7d2759a7
trivial: Update with recent steelseries changes
...
This fixes the commits 7eb053e97a
and
9a5c69417a
.
2022-05-23 14:09:03 +01:00
Richard Hughes
9a5c69417a
steelseries: Add is-dongle as a private flag
...
This allows us to remove quite a bit of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7068233bf9
steelseries: Add FuSteelseriesDevice as a shared baseclass
...
This deduplicates a lot of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7eb053e97a
steelseries: Rename FuSteelseriesDevice to FuSteelseriesMouse
...
Also, convert it to a FINAL class.
2022-05-22 10:43:34 +01:00
Gaël PORTAY
f427a3e327
steelseries: sonic: Allow to read firmware
2022-05-21 16:09:09 -04:00
Richard Hughes
36176c5b07
trivial: Fix one -Wunused warning in some new code
2022-05-21 12:19:50 +01:00