[fprint] Improving the etes603 driver

Patrick Marlier patrick.marlier at gmail.com
Fri Aug 21 00:41:01 PDT 2015


Hi Jason and Vasily,

On Fri, Aug 21, 2015 at 3:58 AM, Vasily Khoruzhick <anarsoul at gmail.com> wrote:
> Hi Jason,
>
> On Thu, Aug 20, 2015 at 11:51 AM, Jason Gerard DeRose
> <jason at system76.com> wrote:
>> Hello,
>>
>> I work at System76 and am going to take a stab at improving the etes603
>> driver (1c7a:0603) as it's the fingerprint reader used in our current
>> generation hardware.
>
> Great!

Indeed this is good news! :)


>> 2.  etes603.c mentions a number of features not yet implemented in the
>>    driver.  Of these missing features, any advise on where I should
>>    start, what features are likely to yield the best improvement for
>>    the effort when it comes to reliability and user experience?
>
> Patrick probably can answer these questions

Humm I don't remember what we were the missing features apart from the
LED control. What do you see in the driver?


>> 3.  For whatever reason, this sensor and the current driver really
>>    don't like my fingers (which is actually great for testing).  When
>>    trying to enroll, frequently the etes603 driver will remove so many
>>    "empty" lines that the resulting image is less than 8 lines high,
>>    after which block_offsets() in nbis/mindtct/block.c will return an
>>    error, ultimately resulting in the device being put back into an
>>    idle state and fpintd-enroll failing with 'enroll-unknown-error'.
>
> Hm, enroll-unknown-error doesn't look good. I guess you'll need to
> debug it further.

This is a calibration issue. Either from the detection calibration or
the contrast calibration.
I think generally the calibration should be completely revisited.
Indeed, when I developed the driver I had only one device to test that
probably led to bad assumptions.


>>    At a glance, this seems like a scenario that the driver should be
>>    handling differently.  Is this true?  If so, can anyone describe
>>    what the driver should do in this scenario instead?  I have example
>>    log[*] output below from running against a libfprint deb I built
>>    with `--enable-debug-log`.
>>
>> For what it's worth, I'm doing my development on Ubuntu Wily (libfprint
>> 0.6.0, fprintd 0.6.0).
>
> Ubuntu is fine, but please use libfprint from git for development

And also please do incremental patches (one commit per fix).


>> And a big thanks to everyone whose hard work gave the open source world
>> all these great drivers and a great driver framework!
>>
>> Cheers,
>> Jason
>>
>> [*]: Example log with --enable-debug-log enabled:
>>
>> etes603:debug [process_remove_fp_end] Removing 498 empty lines from image
>> etes603:debug [process_remove_fp_end] Removing 496 empty lines from image

This message is almost for sure due to calibration issue here.

Feel free to contact me directly if you have any questions.
Have a good day,
--
Pat


More information about the fprint mailing list