At the moment we saving the new state as 'unknown' which explains why
we're getting so few LVFS reports uploaded for USB devices that perform
a replug...
Tested with a ColorHug2.
If adding an entry into the class function table then the padding has
to be decremented unless the SO version is incremented.
Fixes out-of-tree plugins failing to load with:
GLib-GObject: Specified class size for type 'FuXxxDevice' is smaller
than the parent type's 'FuDevice' class size
This means we don't display something like 'Logitech Logitech Product'
when showing the devices on one line.
This is now required in two plugins so move it to common code. Also
support setting the properties in either order to prevent regressions
when using the device name as part of the instance ID.
Add the mbim-qdu support for firmware downloading, it will be used for T99W175 module of Foxconn.
Signed-off-by: Jarvis Jiang <jarvis.w.jiang@gmail.com>
This plugin uses the `thinklmi` kernel module from kernel 5.14 to
inhibit device updates for UEFI capsules when Boot Order Lock
is set.
Users will need to use `thinklmi` or BIOS setup to change the setting.
The CustomFlags feature is a bit of a hack where we just join the flags
and store in the device metadata section as a string. This makes it
inefficient to check if just one flag exists as we have to split the
string to a temporary array each time.
Rather than adding to the hack by splitting, appending (if not exists)
then joining again, store the flags in the plugin privdata directly.
This allows us to support negating custom properties (e.g. ~hint) and
also allows quirks to append custom values without duplicating them on
each GUID match, e.g.
[USB\VID_17EF&PID_307F]
Plugin = customflag1
[USB\VID_17EF&PID_307F&HUB_0002]
Flags = customflag2
...would result in customflag1,customflag2 which is the same as you'd
get from an enumerated device flag doing the same thing.
Sets the minimum required version to 0.50.0 since we are using features
which are not available prior to that release:
WARNING: Project specifies a minimum meson_version '>=0.47.0' but uses
features which were added in newer versions:
* 0.49.0: {'/ with string arguments'}
* 0.50.0: {'install arg in configure_file'}
Both the wired-only and wireless-capable versions of the CTL-4100 /
CTL-6100 will switch into "Android mode" if their string descriptors are
read too many times. A previous commit added the "no-serial-number"
flag to the wireless variants to work around this problem; this commit
adds the flag to the wired-only variants.