Commit Graph

2552 Commits

Author SHA1 Message Date
Jarvis Jiang
8d6dbd9009 modem-manager: Add the logic of inhibiting modemmanager device in mbim-qdu
It may make sense to have the modem not doing anything during the upgrade,
so the inhibition would make total sense.

Signed-off-by: Jarvis Jiang <jarvis.w.jiang@gmail.com>
2021-10-25 09:23:44 +01:00
Sanjay Sheth
3c8339c9eb logitech-bulkcontroller: Wait and verify firmware upgrade status 2021-10-22 10:38:59 -07:00
Richard Hughes
28678235cd Move the fuzzing files into the plugin directories
We only had to pile everything into the src/fuzzing/firmware directory
because honggfuzz could not cope with more than one input path.

This way each plugin is self contained and easy to copy.
Also, install the fuzzing builder objects as this fixes the installed
tests when srcdir does not exist.

Based on a patch by Jan Tojnar <jtojnar@gmail.com>, many thanks.
2021-10-22 15:24:05 +01:00
Richard Hughes
db7dc60ffd wacom-usb: Fix writing the fuzzing data from a builder.xml file 2021-10-22 14:58:24 +01:00
Richard Hughes
09f1406c17 synaptics-cape: Add ->write() and ->build() vfuncs
This allows us to rebuild the fuzzing data from the builder.xml file.
2021-10-22 14:58:24 +01:00
Richard Hughes
3ea1ef81b2 ccgx: Fix a regression when porting to fu_common_strnsplit_full()
We have to ignore the leading ':' for data records.
2021-10-22 14:58:24 +01:00
Richard Hughes
3a63f5bd9b trivial: Make the SREC parser more spec compliant
Only upgrade S5 into S6 when there are over 0xFFFF records.
2021-10-22 14:58:24 +01:00
Richard Hughes
2d00cda464 Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead
This allows us to override the location we load data files from, which
allows us to do more kinds of installed tests in the future.

Also, move the global data/tests content into the place that it is used
as it was getting impossible to manage.
2021-10-21 18:36:22 +01:00
Mario Limonciello
0914f81336 dell-dock: enumerate hub after EC 2021-10-21 10:32:34 -05:00
Richard Hughes
6235a8222a Share the Common Flash Memory Interface quirks between plugins
Now two plugins are using hardcoded SPI constants for various CFI chips,
and it makes sense to have some common quirk data that can be used by
both.

Add a FuSpiChip helper object that can be used by FuDevice subclasses
to get the specific SPI commands to use for each flash ID.
2021-10-20 12:19:39 +01:00
Sean Rhodes
130da188eb
plugins/uefi-capsule: Remove ux capsule for StarLite (#3885)
UX capsule only seems to work on certain distros and firmware versions.
Restoring for reliability.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-20 08:05:16 +01:00
Richard Hughes
3fc635e144 Remove honggfuzz support
This has not worked well in some time, and nobody noticed. The
alternative Google clusterfuzz support is better in every way and gets
run as part of CI.
2021-10-19 19:20:05 +01:00
Denis Pynkin
5984333028 steelseries: add Stratus gamepads support
Added support for Stratus-series gamepads and dongles.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
2021-10-19 18:34:51 +03:00
JackZhang-Primax
4ff3c1a011 Update pixart-rf.quirk
Add more supported devices Vivaldi2
2021-10-18 22:55:49 -05:00
Richard Hughes
27e40c3025 trivial: Add more fuzzing alignment checks
In reality these are not super interesting as they only happen on
`->write()` and not `->parse()`.

In other news, the fuzzer now appreciates how critical the alignment
is, which is probably a good thing generally.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40088
2021-10-18 20:02:03 +01:00
Sanjay Sheth
4c5d00886a logitech-bulkcontroller: Continuously capture device messages 2021-10-15 11:20:16 -07:00
Richard Hughes
8e24fa77cf cfu: Add an initial outline CFU plugin
There's no actual hardware to test this against yet, but this is how I
would lay out a plugin if there was.

We still need to work out a generic encapsulation for the offer and
payload (for each component and bank) so this can work with LVFS and
fwupd.
2021-10-15 18:38:36 +01:00
Richard Hughes
bd43647554 Add fu_usb_device_new_with_context() helpers
This means the context is set at construction time, which is much less
fragile than setting the context manually.
2021-10-15 15:59:34 +01:00
Thomas Deutschmann
a4549f5035 elanfp plugin requires gusb 2021-10-15 09:17:47 -05:00
Richard Hughes
88592df086 rts54hub: Use demo firmware on the evaluation board for the tests
This avoids clashing with real-world devices that have the same VID/PID.
Many thanks to Ricky WU <ricky_wu@realtek.com> for all the help.

Fixes: https://github.com/fwupd/fwupd/issues/3835
2021-10-13 20:07:15 +08:00
Richard Hughes
852a6dbdc2 redfish: Handle EPERM when testing devices with a IPMI device
Fixes https://github.com/fwupd/fwupd/issues/3849
2021-10-12 19:12:57 -05:00
Richard Hughes
d653c8de26 wacom-usb: Un-pack the descriptor to fix -Waddress-of-packed-member warnings
This isn't read in-situ since switching to fu_common_read_uintXX_safe()
and it's only used to calculate the size of the block.
2021-10-12 09:42:59 -05:00
Richard Hughes
3acbe9bed3 trivial: Fix a -Waddress-of-packed-member warning 2021-10-12 09:42:59 -05:00
Richard Hughes
f41fd3af46 vli: Fix a potential crash when dumping Parade devices 2021-10-12 09:42:59 -05:00
Richard Hughes
d3706e0e0b Show the user a warning if updating may affect full-disk-encryption
Additionally, if the client does not set the feature flag `fde-warning`,
add an extra paragraph into the update description.

Fixes https://github.com/fwupd/fwupd/issues/3829
2021-10-09 08:09:38 +01:00
Sean Rhodes
371339bbeb plugins/superio: Don't check 0x14 in ITE signature
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-08 18:28:37 +01:00
Ricky Wu
0c0ff534bf
rts54hid: Use correct PID for test device
Make sure it doesn't affect general ID (0bda:1100)
2021-10-08 10:29:21 +01:00
Richard Hughes
bc43adf020 Fix build error when sys/io.h is not available 2021-10-06 20:38:43 +01:00
Richard Hughes
37855a3f5d trivial: Match up the translator comments with the source strings
Doing clang-format on the codebase broke a few of these.
2021-10-06 16:07:43 +01:00
Sean Rhodes
2bd8e80d03
plugins/flashrom: Always shutdown after flashing (#3831)
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-05 08:57:20 +01:00
Allen_Chang
8abdf646ba
pixart-rf: Add more supported devices 2021-10-04 09:50:02 +01:00
Sean Rhodes
71b52abb66
plugins/flashrom: Reset CMOS aftering writing region (#3814)
Resetting the CMOS before a write when switching branch will cause a lock on\
reboot which requires hard power off.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-01 14:32:19 +01:00
Sean Rhodes
555ae48ebd
plugins/uefi-capsule: Enable ux-capsule for all starlabs laptops (#3824)
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-01 11:36:23 +01:00
Sean Rhodes
9b3349a586
plugins/uefi-capsule: Force ux-capsule over full size bgrt (#3823)
If bgrt is the same size as the screen, show ux-capsule on top of bgrt.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-01 11:36:11 +01:00
Sanjay Sheth
7acccd581c Retry if device is not idle 2021-09-30 18:14:28 +01:00
Sanjay Sheth
baf4279f70
logitech-bulkcontroller: Explicitly set to device mode
Explicitly set to device mode when required.
2021-09-30 10:15:56 +01:00
Sean Rhodes
49c08f436f
plugins/uefi-capsule: Disable ux-capsule for all StarLabs laptops (#3815)
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-09-30 08:52:02 +01:00
Richard Hughes
46435e798f Write the BMP image upside down to avoid using a negative bitmap height
It would seem that some EFI BMP loaders are unable to flip the image
and hang when trying to load the UX capsule.

This was a real PITA to debug.

Many thanks to Sean Rhodes <sean@starlabs.systems> for all the help.
2021-09-30 08:34:14 +01:00
Richard Hughes
f86c6add5f trivial: Load SMBIOS when using fwupdate to avoid a warning 2021-09-28 13:00:22 +01:00
Richard Hughes
c598ad6434 trivial: Fix a typo causing fwupdate to crash 2021-09-28 13:00:22 +01:00
Richard Hughes
8bd5c55425 uefi-capsule: Use accurate FuProgress values 2021-09-27 19:51:26 +01:00
Richard Hughes
a3cd497bd1 flashrom: Ensure internal devices get an assigned context
This makes the quirks work correctly. Fixes a warning seen in the logs.
2021-09-27 11:06:13 +01:00
Simon Ho
471c3e0c36
synaptics-cape: Add interrupt endpoint support (#3798)
Add new flag can receive HID report over Interrupt In endpoint instead
of control endpoint.

This commit also fixes a false error within software reset function.
2021-09-27 16:53:08 +08:00
Sean Rhodes
2694abeb71 plugins/flashrom: Update StarBook GUID
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-09-27 08:24:26 +01:00
Richard Hughes
08f4040fc8
superio: Continue to add the SuperIO-IT8587 instance IDs (#3796)
The GUIDs are in use by old firmware, and so of course we have to
continue adding them.

See https://github.com/fwupd/fwupd/pull/3734#issuecomment-919829988
2021-09-25 22:11:43 +01:00
Richard Hughes
35fff9684e trivial: Export the CFU enum conversion functions
We need these in the CFU plugin too.
2021-09-25 21:16:18 +01:00
Richard Hughes
478e44bc19 trivial: Do not use g_assert() in self test code
Note that g_assert() should not be used in unit tests, since it is a
no-op when compiling with G_DISABLE_ASSERT. Use g_assert() in production
code, and g_assert_true() in unit tests.

See https://github.com/fwupd/fwupd/issues/3790
2021-09-24 22:20:21 +01:00
Richard Hughes
36757c3eff trivial: Remove some instances of 'slave' that crept in 2021-09-24 20:46:28 +01:00
Daniel Campello
a2129c05d1 thunderbolt: fix host controller probing 2021-09-24 14:25:16 -05:00
Richard Hughes
7f5b0c0b60 Rename the development branch from master to main
Fixes https://github.com/fwupd/fwupd/issues/3799
2021-09-24 14:20:24 -05:00