Commit Graph

8295 Commits

Author SHA1 Message Date
Valentin David
df2569f2c3 snap: Fix a meson parameter 2023-02-01 20:44:56 -06:00
Valentin David
d703580411 snap: Remove some unused/redundant dependencies 2023-02-01 20:44:56 -06:00
Valentin David
f647b38e11 snap: Remove dconf 2023-02-01 20:44:56 -06:00
Valentin David
13d6b671ab snap: Add missing libraries 2023-02-01 20:44:56 -06:00
Valentin David
429c4ff2a6 Optionally disable Polkit check with an environment variable
When running in a confined snap, it is not possible to check whether a
policies have been installed.
2023-02-01 20:44:56 -06:00
Valentin David
5ce5080844 Allow overriding lock directory with an environment variable 2023-02-01 20:44:56 -06:00
Richard Hughes
b8631d5e4d dfu: Use more const buffer data when writing to AVR chips 2023-02-01 18:20:26 +00:00
Richard Hughes
add087966d dfu: Clear the buffer before getting the status
This makes emulation of DFU devices work as the control transfer data is then
predictable.
2023-02-01 18:20:26 +00:00
Richard Hughes
8ed6a52ca4 trivial: Enable USB debugging when backend debugging is enabled 2023-02-01 16:42:51 +00:00
Richard Hughes
e3197cc71e trivial: Use new API in libgusb to better detect USB replug 2023-02-01 16:42:51 +00:00
Richard Hughes
99df74f0c2 Add API to wait for a device
This allows us to ignore all the delays when the device is emulated, with the
idea being to do dozens of device emulations in the CI tests.

Also, do not call fu_progress_sleep() when the device is emulated.
2023-02-01 09:42:08 +00:00
Richard Hughes
654dd756b7 Do not invalidate the probe for emulated devices
If the device does not replug, and we change the GUsbDevice because the phase
changed we don't want reprobe the hardware.

If we reprobe then the emulated device will request extra data compared to the
real device, which will cause emulation to fail.
2023-01-31 16:58:31 +00:00
Richard Hughes
b44ee4cf54 trivial: Require --force to overwrite files with 'fwupdmgr download' 2023-01-31 16:28:00 +00:00
Richard Hughes
914f636aa6 Return an error when the pending db could not be updated 2023-01-31 13:27:56 +00:00
dependabot[bot]
3df5bf7bde build(deps): bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 08:25:11 +00:00
Richard Hughes
fafc4bc740 trivial: Do not hardcode fwupdmgr as a binary name 2023-01-30 17:33:35 -06:00
Richard Hughes
e130735207 trivial: Record the install phase for future functionality 2023-01-30 15:12:06 +00:00
Richard Hughes
3881b6ffae trivial: Do not inherit history from emulated devices 2023-01-30 15:12:06 +00:00
Richard Hughes
c5b81559e9 trivial: Remove some dead comments left in after debugging 2023-01-30 15:12:06 +00:00
Richard Hughes
32d6c7f8dd Use indexes when building the quirk prepared queries
This can save 250us on each query (of which we do a *lot*), and reduces the
number of queries by about half if the user is using a libxmlb version that can
convert from `_BOUND_TEXT` to `_BOUND_INDEX_TEXT`.

The more devices detected, the bigger the difference, and without this patch
fixing libxmlb would break fwupd as we'e been searching with an index, but not
actually providing one.
2023-01-30 14:47:56 +00:00
Richard Hughes
6e34a90a12 trivial: Add FuProgress to fu_context_load_hwinfo()
TIL: fu_bios_settings_setup() takes over 50ms (10%!) at startup.
2023-01-30 14:47:44 +00:00
Richard Hughes
4d4c56fa75 trivial: Remove duplicate call to fu_engine_ensure_device_supported()
This is moderately expensive to call as it processes each requirement on each
release on each device, so the last thing we want to do is call it *twice*.
2023-01-30 14:47:44 +00:00
Richard Hughes
d6bb00a475 trivial: Update all fixes using markdownlint 2023-01-30 14:19:59 +00:00
Richard Hughes
b9da5362a0 trivial: Update all fixes using codespell 2023-01-30 14:19:59 +00:00
Richard Hughes
00e8aaefc6 Use a more compact JSON format using precommit 2023-01-30 14:19:59 +00:00
Richard Hughes
c1ffebae48 Remove unused API for setting backend tags
It turns out we do not want to know the current phase of the device, and we can
achieve the same thing tagging the GUsbDevice manually and clearing the events
at exactly the correct time.
2023-01-30 13:32:48 +00:00
Richard Hughes
234ff36cff ti-tps6598x: Assign the DMC as the proxy rather than just the parent
We 'write through' the parent, and by telling fwupd this we can make better
decisions when emulating.
2023-01-30 12:00:04 +00:00
Richard Hughes
047b093904 Copy some flags from the proxy to the logical device 2023-01-30 12:00:04 +00:00
Mario Limonciello
3f105cf9ec trivial: update fwupd-efi to 1.4
fwupd-efi 1.4 enforces that NX bit is set by default.
This won't affect most users, it should only affect those that compile
by hand and don't have fwupd-efi installed already.
2023-01-27 10:15:14 -06:00
Richard Hughes
70fb80cc64 trivial: Do not ask for polkit auth if the device is emulated 2023-01-27 15:47:44 +00:00
Richard Hughes
0e1d7608b3 trivial: Do not wait for the acquiesce delay if emulated 2023-01-27 15:47:44 +00:00
Frédéric Danis
3dcf24cae0 Propagate device tag to parent device 2023-01-26 15:37:35 +01:00
Richard Hughes
83229af12a trivial: Correctly compress zip files in FuArchive 2023-01-26 14:36:57 +00:00
Richard Hughes
bc50d59f56 Ensure the new GUsbDevice is assigned in subclasses of FuUsbDevice
Re-incorporate the emulated USB devices when the backend device changes.
2023-01-26 14:04:01 +00:00
Richard Hughes
00ec2d8c25 trivial: Fix critical warning in future code
Both types need to be FuUdevDevice to compare the sysfs paths.
2023-01-26 14:04:01 +00:00
Richard Hughes
965a7c64d0 Do not return emulated devices from GetHistory 2023-01-26 14:03:52 +00:00
Richard Hughes
f3f951d3a7 trivial: Add fu_device_has_problem() to be consistent and hide details 2023-01-26 12:35:08 +00:00
Richard Hughes
354122e83c Remove duplicate calls to fu_device_list_wait_for_replug()
The fu_engine_get_device() function is called at the start of each phase,
which calls fu_device_list_wait_for_replug() a second time.

Duplicate calls are at best confusing, and at worst could cause a 'device
failed to come back' failure.
2023-01-26 11:31:02 +00:00
Richard Hughes
110ef12cc7 Add a device problem for 'update-in-progress'
We already had this as an inhibit, but this was not translated client-side.

We also need to propagate the problem to the bootloader device if the device
replugs during firmware update.
2023-01-26 09:01:26 +00:00
Richard Hughes
854bec2e17 colorhug: Show the flash success value in debugging 2023-01-26 08:55:49 +00:00
Mario Limonciello
d26c847776 Add python3-pefile/python-pefile to CI build deps
This is so that it can be used by subproject fwupd-efi
2023-01-25 17:20:01 -06:00
Richard Hughes
3ab4e386c5 Fix hotplug events when emulating devices 2023-01-25 12:09:29 +00:00
Ivan Mikhanchuk
af5fb429c8 modem-manager: remove improper use of assert
FuSaharaLoader being NULL is normal for devices that only
support Firehose and don't use Sahara QDL port.
2023-01-24 20:54:43 -06:00
Jason Gerecke
8076090a00 wacom-usb: Retry set_report on failure
Sometimes the flash process will randomly hang and time-out when sending
data to the device. We currently do not use any retry logic, so if this
happens the flash attempt is treated as a failure. This can be a source
of worry or frustration, especially if subsequent manual retries fail
in a similar way.

Adding FU_HID_DEVICE_FLAG_RETRY_FAILURE to the list of flags used when
calling fu_hid_device_set_report allows fwupd to try sending a block
multiple times if such a time-out (or other error) occurs. This makes
the flash process less prone to failure.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
2023-01-24 18:09:09 +00:00
Richard Hughes
ddd5140832 trivial: Fix tests to include 'emulated' 2023-01-24 15:41:01 +00:00
Richard Hughes
575871f505 Add fu_device_remove_backend_tag() for future use 2023-01-24 14:54:23 +00:00
Richard Hughes
ab04bb345c trivial: Proxy the _SAVE_EVENTS flag even if set at runtime 2023-01-24 13:46:51 +00:00
Richard Hughes
ab27a8d335 Use the new GUsb API for loading by tag
Based on a patch by frederic.danis@collabora.com, many thanks.
2023-01-24 13:46:51 +00:00
Richard Hughes
90e5a58736 Do not make any of the HWIDs setup failures fatal
It's perfectly okay to have no HWIDs defined.

Should help with https://github.com/fwupd/fwupd/issues/5402
2023-01-24 12:45:36 +00:00
Richard Hughes
296fe5fb46 trivial: Add a device flag specifying it is emulated 2023-01-24 09:51:04 +00:00