fwupd/plugins/synaptics-prometheus
Richard Hughes 3252573ac7 synaptics-prometheus: Fix flashing a fingerprint reader that is in use
The fprint daemon only keeps the device open for 5 seconds and then releases it,
which seems like a small window to hit.

But! We're asking the user to authenticate with the same device we're about to
upgrade so a different part of the stack woke up the hardware just before we're
about to deploy an update onto it.

Just retry a few times to make sure the device is idle. Use a flag to prevent
accidentally causing regressions in other plugins.

Fixes https://github.com/fwupd/fwupd/issues/2650
2021-01-04 21:52:10 +00:00
..
data Install the installed tests 2020-08-28 10:10:43 -05:00
fu-plugin-synaptics-prometheus.c Make the 'id' for fu_plugin_add_firmware_gtype() optional 2021-01-04 15:27:10 +00:00
fu-self-test.c Install the installed tests 2020-08-28 10:10:43 -05:00
fu-synaprom-common.c Add fu_byte_array_set_size() 2020-10-20 19:54:07 +01:00
fu-synaprom-common.h Add a plugin to update Synaptics Prometheus fingerprint readers 2019-05-14 17:18:55 +01:00
fu-synaprom-config.c synaptics-prometheus: Allow creating test firmware from builder.xml 2020-12-09 18:06:26 +00:00
fu-synaprom-config.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-synaprom-device.c synaptics-prometheus: Fix flashing a fingerprint reader that is in use 2021-01-04 21:52:10 +00:00
fu-synaprom-device.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-synaprom-firmware.c trivial: Fix up some NULL/FALSE confusion 2021-01-04 16:32:50 +00:00
fu-synaprom-firmware.h synaptics-prometheus: Allow creating test firmware from builder.xml 2020-12-09 18:06:26 +00:00
meson.build synaptics-prometheus: Allow creating test firmware from builder.xml 2020-12-09 18:06:26 +00:00
README.md Add external interface messages 2020-10-26 12:05:20 -05:00
synaptics-prometheus.quirk synaptics-prometheus: add pids to quirk file 2020-10-22 08:21:30 +01:00

Synaptics Prometheus

Introduction

This plugin can flash the firmware on the Synaptics Prometheus fingerprint readers.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in an unspecified binary file format. The binary file has a vendor-specific header that is used when flashing the image.

This plugin supports the following protocol ID:

  • com.synaptics.prometheus

GUID Generation

These devices use the standard USB DeviceInstanceId values, e.g.

  • USB\VID_06CB&PID_00A9&REV_0001
  • USB\VID_06CB&PID_00A9
  • USB\VID_06CB&PID_00A9-cfg
  • USB\VID_06CB&PID_00A9&CFG1_3483&CFG2_500

Vendor ID Security

The vendor ID is set from the USB vendor, in this instance set to USB:0x06CB

External interface access

This plugin requires read/write access to /dev/bus/usb.