fwupd/plugins/synaptics-prometheus
Richard Hughes bf72d393fd Split up FuUsbDevice into ->open() and ->setup()
Before this change calling FuUsbDevice->open() opened the device, and
also unconditionally added various GUIDs and InstanceIDs which we
normally do in setup.
Then fu_device_setup() would call the FuSubclass->setup() vfunc which
would have no way of either opting out of the FuUsbDevice->setup()-like
behaviour, or controlling if the parent class ->setup is run before or
after the subclass setup.

Split up FuUsbDevice->open() into clear ->open() and ->setup() phases
and add the parent class calls where appropriate.

This means that ->setup() now behaves the same as all the other vfuncs.
2021-06-17 16:21:41 +01:00
..
data Install the installed tests 2020-08-28 10:10:43 -05:00
fu-plugin-synaptics-prometheus.c trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-self-test.c trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-synaprom-common.c trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +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 Support more than one protocol for a given device 2021-03-01 16:14:36 +00:00
fu-synaprom-config.h trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-synaprom-device.c Split up FuUsbDevice into ->open() and ->setup() 2021-06-17 16:21:41 +01:00
fu-synaprom-device.h trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-synaprom-firmware.c trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-synaprom-firmware.h trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
meson.build Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
README.md Add a new internal flag to opt-in to GUID matching 2021-02-25 15:47:25 +00: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.