[fprint] Verification help request (Egis Technology 1c7a:0570)

Igor Filatov ia.filatov at gmail.com
Sun Feb 11 21:57:09 UTC 2018


Hi,

1. You need to find out the correct format of returned data. By correct I
mean the one that allows to decode an image of a fingerprint. This is
necessary for the matching algorithm to work. The .pgm files in your repo
don't look like fingerprints, right? They look like noise because the
dimensions are incorrect.
2. Raw data is not fine. I've tried a few variant and it looks like your
device returns 8bit 114x57 images. And it returns 5 of them together. Not
sure, maybe the driver is supposed to combine them in some way.
3. libfrpint doesn't care that much about pixel dimensions. What is does
very much care about is the physical size of the fingerptint that a device
can scan. In your case it's very small. It won't work. Welcome to the
club... See the recent discussions in the mailing list about the Elan
driver I'm writing. It has the same problem tldr: libfprint uses a fp
matching algo that detects minutiae (notable elements of a fingerprint) and
needs to see 60+% of a print surface (from my observations, ymmv) to work
reliably. Your reader covers maybe 15%. That's not enough. Original drivers
for such devices for Windows, phones etc. probably have a different
matching algo.

On Sun, Feb 11, 2018 at 1:25 PM Indev <indev12 at gmail.com> wrote:

> Hello,
>
> I am writing a driver for Egis Technology Inc. sensor (ID 1c7a:0570), but
> having few problems.
> First of all, i have no idea what is the model of my sensor. I've checked
> USB.org product lists as well as manufacturer's website and Acer website (I
> am using Acer Swift 1 SF-113-31 with this sensor integrated).
> I failed to find any kind of information about my device and started to
> write driver without that.
> I was managed to recreate driver exchange process and get data from the
> sensor.
> This is the press-type sensor and it returns 32512 bytes of data in one
> packet, which seem to be raw image data.
> I don't know what is the size of the returned image, so i've picked up the
> most suitable one for libfprint driver.
> Couple days ago i finished libfprint driver and it works fine, except of
> the fact that the verify_live example from libfprint is not able to do
> correct verification. It can't recognize same finger again and allows to
> pass verification by another finger, which is kinda funny.
>
> I have absolutely no experience with fingerprint scanner and I was hoping
> that someone here could help me.
> This is the repository of my driver: https://github.com/indev29/egis0570
> The 'scans' directory contains examples of fingerprint scans converted
> into different sized .pgm images as well as raw binary data, received from
> sensor.
> Directories names ("scans/finger_avg_NUM") indicate average color value,
> which is more, when i press harder on sensor.
>
> My questions are:
> 1. Should i use this raw image data in my libfprint driver or should i
> process it somehow first?
> 2. If raw data is fine, why am i not able to do verification correctly?
> 3. Does libfprint care about image size? Can the wrong image size be the
> thing in my case (i am using 254x128)
>
> Thanks in advance,
> Indev
> _______________________________________________
> fprint mailing list
> fprint at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/fprint
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/fprint/attachments/20180211/f6be3cfe/attachment.html>


More information about the fprint mailing list