[fprint] Improving the etes603 driver
Jason Gerard DeRose
jason at system76.com
Fri Aug 21 08:54:43 PDT 2015
Vasily,
On 08/20/2015 07:58 PM, Vasily Khoruzhick 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!
>
>> I'm just starting to get my head around the code and was hoping folks
>> here might be able to advise me on a few questions I currently have:
>>
>> 1. What's the preferred workflow for making changes, building the
>> library, and testing it? In particular, can anyone point me to a
>> good way to run the resulting build from the source tree without
>> installing it?
>
> # do configure with custom prefix, enough to do it once
> ./configure --prefix=/home/user/tmp
>
> # Installs your changes into your home
> make all install
>
> LD_LIBRARY_PATH=/home/user/tmp/lib ./fprint_demo
Thanks, that's exactly what I was looking for!
>> 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
>
>> 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.
Okay, I'll keep digging, thanks.
>> 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
Yup, I'll definitely be developing against what's in git. Just to make
sure I'm on the same page, I should be developing against the master
branch here:
http://cgit.freedesktop.org/libfprint/libfprint/
Correct?
Is the preferred workflow to use git-format-patch and send it to this
mailing list?
>> 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
>> fp:debug [fpi_img_new] length=0
>> etes603:debug [m_capture_state] Sending the raw fingerprint image (0x0)
>> fp:debug [fpi_imgdev_image_captured]
>> fp:error [sanitize_image] no image height assigned
>> fp:debug [fpi_imgdev_report_finger_status] finger removed
>> fp:debug [fpi_imgdev_report_finger_status] reporting enroll result
>> async:debug [fpi_drvcb_enroll_stage_completed] result -22
>> async:debug [fp_async_enroll_stop]
>> etes603:debug [dev_deactivate] deactivating
>> etes603:debug [m_exit_start] Switching device to idle mode
>> drv:debug [__ssm_call_handler] 0x16e3000 entering state 0
>> drv:debug [fpi_ssm_mark_completed] 0x17572a0 completed with status 0
>> etes603:debug [m_capture_complete] And it's over.
>> drv:debug [__ssm_call_handler] 0x16e3000 entering state 1
>> drv:debug [fpi_ssm_mark_completed] 0x16e3000 completed with status 0
>> etes603:debug [m_exit_complete] The device is now in idle state
>> fp:debug [fpi_imgdev_deactivate_complete]
>> async:debug [fpi_drvcb_enroll_stopped]
>>
>> _______________________________________________
>> fprint mailing list
>> fprint at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/fprint
More information about the fprint
mailing list