[fprint] HP Dragonfly - Fingerprint reader support

Benjamin Berg benjamin at sipsolutions.net
Thu Jan 28 09:21:25 UTC 2021


Hi,

it depends on the device, and you cannot tell from the USB PID
directly.

For the synaptics driver to work, two conditions need to be met:
 1. It needs to be one of the more advanced match-on-chip devices
    (I believe the chipset is codenamed Prometheus)
 2. The firmware of that device needs to have support for Linux
    (and be uploaded to LVFS by Synaptics)

So, unfortunately, there is not much you can do here (other than
reverse engineering possibly). If HP and Synaptics intend to support
this device, then we will get a merge request to add the PID to the
driver. At that point you can likely also expect a firmware update to
appear in LVFS which can be installed easily using fwupd (though,
expect delays due because of QA processes).

I added the device to
  https://gitlab.freedesktop.org/libfprint/wiki/-/wikis/Unsupported-Devices

But, while I don't know, I do fear that in this case we are at point 1
even. i.e. the device is likely not supportable by libfprint and will
not be unless it is reverse engineered (and to work well we would also
need an improved image matching algorithm inside libfprint).

Benjamin

On Thu, 2021-01-28 at 00:51 -0600, frino at gmx.net wrote:
> Hi everyone,
> 
> I would like some advice on how to support a new finger print reader
> device from synaptics that is currently not supported in fprint added
> to the list. 
> 
> Do let me know what information is required. 
> This is what I have been able to dig up until now. 
> 
> 🕙 02:17:19 ➜  lsusb
> Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 04f2:b690 Chicony Electronics Co., Ltd HP HD
> Camera
> Bus 001 Device 002: ID 06cb:00c4 Synaptics, Inc. (I believe this is
> the device) 
> Bus 001 Device 004: ID 8087:0029 Intel Corp. AX200 Bluetooth
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> 
> I believe the device is a synaptics device - haven't been able to dig
> in more but looks like there are very similar prod vendor id's that
> are already supported in the codebase. Do I need anything else other
> than libfprint - I run gnome 3.38.3 but still can't find the finger
> print options in my user management - I tried fingerprint-gui as well
> but no luck there. 
> 
> I attempted to build it in myself by adding the new prod id in the
> code base - not sure where to go from here - I figured since it is
> the same vendor they may have the same interface and commands - but I
> think I need some direction from here - not too familar with the
> meson build system and how to go from here. 
> 
> 
> Below is a diff showing the changes I have attempted 
> 🕙 00:43:05 ➜  git diff
> diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb
> index 7a78068..9d498bb 100644
> --- a/data/autosuspend.hwdb
> +++ b/data/autosuspend.hwdb
> @@ -105,6 +105,7 @@ usb:v06CBp00DF*
>  usb:v06CBp00F9*
>  usb:v06CBp00FC*
>  usb:v06CBp00C2*
> +usb:v06CBp00C4*
>  usb:v06CBp00C9*
>  usb:v06CBp00E7*
>   ID_AUTOSUSPEND=1
> diff --git a/libfprint/drivers/synaptics/synaptics.c
> b/libfprint/drivers/synaptics/synaptics.c
> index b4711fa..d541bc7 100644
> --- a/libfprint/drivers/synaptics/synaptics.c
> +++ b/libfprint/drivers/synaptics/synaptics.c
> @@ -37,6 +37,7 @@ static const FpIdEntry id_table[] = {
>    { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xF9,  },
>    { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xFC,  },
>    { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xC2,  },
> +  { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xC4,  },
>    { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xC9,  },
>    { .vid = SYNAPTICS_VENDOR_ID,  .pid = 0xE7,  },
>    { .vid = 0,  .pid = 0,  .driver_data = 0 },   /* terminating entry
> */
> 
> Any guidance or next steps would be quite helpful.  I am willing to
> help with coding testing etc. 
> 
> Thanks,
> Frino 
> 
> 
> _______________________________________________
> fprint mailing list
> fprint at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/fprint

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/fprint/attachments/20210128/c6792182/attachment.sig>


More information about the fprint mailing list