Commit Graph

2682 Commits

Author SHA1 Message Date
Mario Limonciello
f57a6637c9 trivial: fix man page sections
They're marked in the man page as section 8 but installed into 1.
They should be installed into 1 as they're not admin tools.
2022-01-04 14:17:43 -06:00
Richard Hughes
815a5a8a93 logitech-bulkcontroller: Assign the update interface correctly 2022-01-04 18:13:59 +00:00
Richard Hughes
c725e42e34 trivial: Fix various const issues 2022-01-03 22:46:23 +00:00
Richard Hughes
e17a107ce1 trivial: Cast the g_signal_connect() object to allow static analysis
This is useful when using https://gitlab.freedesktop.org/tartan/tartan
2022-01-03 22:46:23 +00:00
Richard Hughes
7c4eb1bf92 trivial: Fix an impossible-to-hit scan-build warning 2022-01-03 22:46:23 +00:00
Richard Hughes
2e99055d1e trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
Richard Hughes
736a56ccee Use the UDev devtype for quirk matching 2021-12-30 16:35:04 +00:00
Richard Hughes
5af2677373 thunderbolt: Fix a trivial retimer failure path 2021-12-30 16:32:52 +00:00
Richard Hughes
067651c1ef trivial: Remove unused variable 2021-12-30 15:14:26 +00:00
Denis Pynkin
dabc9657bc plugins/nordic-hid: support images for MCUBoot
- added images for MCUBoot bootloader
2021-12-30 10:24:22 +00:00
Denis Pynkin
25025936a2 plugins/nordic-hid: add peers and bootloader type detection
- added support of peer devices connected via dongle
- added bootloader type detection from the new 'bootloader_var' option
- fix annoying retry messages:
  mask replies stating the device is temporary busy.
  Allow to sync more precisely and without annoying messages.
- multiple fixes and enhancements
2021-12-30 10:24:22 +00:00
Richard Hughes
f76880182f Do not allow UEFI updates when the lid is closed
Most vendors do not mirror the firmware update to an external display,
and some don't behave correctly when the lid is shut and the machine is
docked. Add this quirk just for Lenovo for now.

Fixes https://github.com/fwupd/firmware-lenovo/issues/181
2021-12-29 19:18:26 +00:00
Enzo Matsumiya
9b386965f2 nvme: ignore non-PCI NVMe devices
Ignore non-PCI NVMe devices (e.g. NVMe-over-Fabrics) when probing.
Otherwise, logs might be flooded with error messages:

03:10:53:0251 FuEngine             failed to add device /sys/devices/virtual/nvme-fabrics/ctl/nvme1: failed to find device with subsystems pci, only got nvme,nvme-fabrics

These devices are not supported as they are not on the PCI subsystem.

Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
2021-12-29 11:13:55 -06:00
Dylan Van Assche
9d7e4309a3 modem-manager: add firmware branch AT command for Quectel EG25-G
Alternative firmwares implement AT+GETFWBRANCH to get the current firmware branch
2021-12-29 14:33:02 +00:00
Dylan Van Assche
f0016cf11e modem-manager: add firmware branch support
Some modems such as the Quectel EG25-G have alternative firmwares available.
Read the firmware branch if supported by the firmware and set it,
if not, fall back to the default branch.
2021-12-29 14:33:02 +00:00
Richard Hughes
a6d086e061 trivial: Fix precommit issue with PixArt quirk file 2021-12-29 10:44:45 +00:00
Allen_Chang
c0639e9bd3
pixart-rf: Add support for new devices 2021-12-29 09:50:21 +00:00
jyu99
278ccd1714
pixart_rf: Expand buffer size for new hardware support 2021-12-29 09:47:14 +00:00
Dylan Van Assche
e0f7087bfb modem-manager: log when modem is added
Modem removals are logged, but nothing is logged when a modem is added.
2021-12-26 11:10:13 -06:00
Richard Hughes
8e6a3f6bbb Allow devices to opt-in to metadata-provided vendor strings 2021-12-22 15:34:36 +00:00
Richard Hughes
72af1b42b4 uf2: Fix fuzzer timeout when parsing an invalid UF2 file
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=42789
2021-12-22 11:46:03 +00:00
Richard Hughes
60d266cbc6 Add support for UF2 devices
A UF2 device exposes a VFAT block device (sometimes called a Mass
Storage Device) which has a virtual file called `INFO_UF2.TXT` where
metadata can be read. It may also have a the current firmware exported
as a file called `CURRENT.UF2` which is in a 512 byte-block UF2 format.

Writing any file to the MSD will cause the firmware to be written.
Sometimes the device will restart and the volume will be unmounted
and then mounted again. In some cases the volume may not “come back”
until the user manually puts the device back in programming mode.

Match the block devices using the VID*PID, UUID or label, and then
create a UF2 device which can be used to flash firmware.

Note: We only read metadata from allow-listed IDs to avoid causing
regressions on non-UF2 volumes. To get the UUID and label you can
use commands like:

    udisksctl info -b /dev/sda1
2021-12-21 10:06:18 +00:00
Richard Hughes
56f6f99633 usi-dock: Add support for various TBT4 docks for Lenovo and HP
With much help from Victor Cheng <victor_cheng@usiglobal.com>
2021-12-21 10:04:12 +00:00
Dylan Van Assche
f6833f96c3 modem-manager: add context for fu_mm_device_udev_new
After upgrading a modem, the FuContext was missing when the modem comes back
2021-12-20 10:02:36 +00:00
Philipp Wendler
935e92d079 uefi-capsule: clarify UDisks requirement for ESP autodetection
The ESP is autodetected only if UDisks is available,
but this was not explicitly documented so far.

Fixes #4103
2021-12-17 14:35:08 -06:00
Mario Limonciello
22057f76cc redfish: Use secure helper to set file permissions when setting password
Instead of installing the conf file as locked down, set permissions when
using it.

This fixes a problem on snap first run:
```
cp: cannot open '/snap/fwupd/x1/etc/fwupd/redfish.conf' for reading: Permission denied
```
2021-12-17 11:05:05 -06:00
Sean Rhodes
19c7ee2423 plugins/flashrom: Change StarLabs devices from number to plain
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-12-17 16:44:16 +00:00
Eric Lin
55553a7a5b add new device Belkin docking station : VID050D/PID003F 2021-12-16 11:57:19 +00:00
JackZhang-Primax
73effcbc11 Update pixart-rf.quirk
Add device support for HP 320 BTKB
2021-12-16 00:33:28 -06:00
Dylan Van Assche
df3b139a0e modem-manager: require AC power
Updating modems is less risky when AC power is present.
2021-12-15 22:07:23 +00:00
Dylan Van Assche
833547823e plugins/fastboot: increase operation delay for Quectel EG25-G
When flashing bigger firmware packages we would still get an timeout
after 10 minutes. Increasing the delay between read/write operations
from 100ms to 250ms solves that.
2021-12-15 22:07:23 +00:00
Richard Hughes
4bf2469b88 nordic-hid: Fix a few small memory leaks 2021-12-15 17:49:56 +00:00
Mario Limonciello
e332a3683e trivial: win32: don't reference synaptics-mst plugin
This plugin won't work on win32, it's a pointless error message
2021-12-15 06:46:27 -06:00
Dylan Van Assche
90baeaabbc modem-manager: add Quectel EG25-G no response quirk 2021-12-14 22:46:04 +00:00
Dylan Van Assche
a489191c38 modem-manager: add support for AT fastboot detach commands without response
Normally each AT command is ended with either OK or ERROR,
but that's not the case for the Quectel EG25-G's AT command to enter fastboot.
As soon as AT+QFASTBOOT is sent, the modem switches to fastboot mode without replying OK.
2021-12-14 22:46:04 +00:00
Dylan Van Assche
3eead7aa60 modem-manager: add quirk for Quectel EG25-G
Allow fwupd to detect the switch between modem-manager and fastboot plugins
 as it appears under a different vendor and device ID.
2021-12-14 22:46:04 +00:00
Dylan Van Assche
12282ca6bc fastboot: add operation delay quirk for Quectel EG25-G 2021-12-14 22:46:04 +00:00
Dylan Van Assche
e6121ae3c7 fastboot: add quirk to delay operations
Some devices such as the Quectel EG25-G modem need some breathing room
between fastboot commands. This quirk allows to specify for such devices
a delay which is used after each read or write command.
Without this, the Quectel EG25-G modem's fastboot bootloader
cannot handle this and crashes.
2021-12-14 22:46:04 +00:00
Dylan Van Assche
c0ec63091d fastboot: add quirk for Quectel EG25-G
The Quectel EG25-G modem must use a blocksize of 16384 bytes in fastboot mode.
Using a different blocksize makes the fastboot bootloader crash,
resulting in a failed update.
2021-12-14 22:46:04 +00:00
Richard Hughes
e21fb7630a modem-manager: Set the context when the device is constructed 2021-12-13 15:21:43 -06:00
Richard Hughes
179f250b9a trivial: Properly namespace _INTERNAL_FLAG_NO_AUTO_REMOVE 2021-12-10 17:25:54 +00:00
Richard Hughes
3822422b1e trivial: Workaround two false 'unused' warnings from clang 2021-12-10 16:00:07 +00:00
Richard Hughes
8fc8539146 trivial: Remove some unused variables 2021-12-10 16:00:07 +00:00
Richard Hughes
d7aeac4663 logitech-hidpp: Use endian-safe version functions 2021-12-10 15:59:57 +00:00
Richard Hughes
26bec76a8c synaptics-cape: Do not assume we can align uint8_t to uint32_t 2021-12-10 15:59:24 +00:00
Richard Hughes
1ba55f1045 parade-lspcon: Add a missing error check 2021-12-10 15:58:39 +00:00
Richard Hughes
44ec25d9d5 cfu: Add a missing version setter 2021-12-10 15:58:22 +00:00
Richard Hughes
853b20ded4 tpm: Fix a tiny memory leak in the TPM self tests 2021-12-10 15:57:58 +00:00
Richard Hughes
eb4fa6dbf6 tpm: Fix a clang warning of a variable clash
Also, fix a memory leak as this is actually a `gchar **`.
2021-12-10 15:57:58 +00:00
Richard Hughes
251f6348aa trivial: Add the missing plugin_cpu
I think using the plugin_uefi_pk option was probably a typo.
2021-12-10 12:00:33 +00:00