- 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
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
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>
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.
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
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
```
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.
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.
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.
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.