fwupd/plugins/synaptics-prometheus
Richard Hughes 40cd18fa97 Allow using a per-device global percentage completion
It's actually quite hard to build a front-end for fwupd at the moment
as you're never sure when the progress bar is going to zip back to 0%
and start all over again. Some plugins go 0..100% for write, others
go 0..100% for erase, then again for write, then *again* for verify.

By creating a helper object we can easily split up the progress of the
specific task, e.g. write_firmware().

We can encode at the plugin level "the erase takes 50% of the time, the
write takes 40% and the read takes 10%". This means we can have a
progressbar which goes up just once at a consistent speed.
2021-09-13 14:28:15 +01:00
..
data Install the installed tests 2020-08-28 10:10:43 -05:00
fu-plugin-synaptics-prometheus.c trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-self-test.c trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-synaprom-common.c trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-synaprom-common.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-synaprom-config.c Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
fu-synaprom-config.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-synaprom-device.c Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
fu-synaprom-device.h Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
fu-synaprom-firmware.c trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-synaprom-firmware.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
meson.build Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
README.md trivial: update markdown for pre-commit style 2021-07-18 14:42:47 -05:00
synaptics-prometheus.quirk synaptics-prometheus: add pid 0xd8 0xf0 0x103 to quirk file 2021-06-09 08:03:11 +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

Update Behavior

The device usually presents in runtime mode, but on detach re-enumerates with the same USB PID in an unlocked mode. On attach the device again re-enumerates back to the runtime locked mode.

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.