[fprint] EgisTec ES603 Error -22

Martin Hejnfelt martin at duffman.dk
Sun Mar 30 05:34:27 PDT 2014


On Wed, 2014-03-26 at 08:15 +0100, Patrick Marlier wrote:
> On Tue, Mar 25, 2014 at 10:22 PM, Martin Hejnfelt <martin at duffman.dk> wrote:
> > On Tue, 2014-03-25 at 13:19 +0100, Patrick Marlier wrote:
> >> Indeed first capture looks fine even though 354 lines are removed from
> >> the capture. How fast did you swipe? Did you try fprint_demo to check
> >> the quality of fingerprint?
> > Usually I swipe somewhat fast (same speed as I would on my UPEK in my
> > laptop). I don't have a mm per sec. speed, but I would imagine its
> > regular swipe speed :) The quality in fprint_demo varies, and usually I
> > can't get through a enroll phase. The first image looks good (although a
> > bit more "rough" and interlaced compared to my UPEK, but then usually it
> > stops with either just some black lines, or nothing, in a second image.
> > It's almost like it detects my finger again, after I removed it.
> 
> You are saying that even with fprint_demo, the first scan waits
> properly the finger to be on the device and the scan is good but if
> you try to do a second scan, fprint_demo says immediately that the
> finger is on the device and the scan is empty. Right?

What happened was that the first scan waits properly, and I swipe my
finger. An image comes up, it tells me that I should swipe the second
time, however it often gets stuck here. Either doing nothing, or with a
small image with some vertical black lines on it. Sometimes I get
through more phases, mostly it just stops after the first scan.

Heres an image of a bad sequence:
http://fprint.duffman.dk/fprint1.png

And one that was accepted:
http://fprint.duffman.dk/fprint2.png

Note these were done using the Ubuntu repository version. It seems the
faster I swipe the higher the chances are for a successful scan. The
accepted sequence above was done with quite fast swipes.

I tried downloading fprint_demo sources (v0.4) and rebuilt it myself.
For some reason this acts a bit different than the Ubuntu rep. version,
since it does some sort of cleanup or something on the image. See here:
http://fprint.duffman.dk/fprint3.png

It has stopped after this scan. Now the source version gives me a bit
different output also. Where the Ubuntu rep. version stops with Error
-22, the source version gives this:

drv:debug [__ssm_call_handler] 0x17de150 entering state 12
drv:debug [__ssm_call_handler] 0x17de150 entering state 13
fp:debug [fpi_imgdev_report_finger_status] finger on sensor
drv:debug [fpi_ssm_mark_completed] 0x17de150 completed with status 0
drv:debug [__ssm_call_handler] 0x17e3170 entering state 0
etes603:debug [m_capture_state] Capturing a fingerprint...
drv:debug [__ssm_call_handler] 0x17e3170 entering state 1
drv:debug [__ssm_call_handler] 0x17e3170 entering state 2
drv:debug [__ssm_call_handler] 0x17e3170 entering state 3
etes603:debug [m_capture_state] Capturing a 1st frame...
drv:debug [__ssm_call_handler] 0x17e3170 entering state 4
drv:debug [__ssm_call_handler] 0x17e3170 entering state 5
etes603:debug [m_capture_state] Capturing a 2nd frame...
drv:debug [__ssm_call_handler] 0x17e3170 entering state 4
drv:debug [__ssm_call_handler] 0x17e3170 entering state 5
etes603:debug [process_remove_fp_end] Removing 0 empty lines from image
etes603:debug [process_remove_fp_end] Removing 0 empty lines from image
fp:debug [fpi_img_new] length=254464
etes603:debug [m_capture_state] Sending the raw fingerprint image
(0x994)
fp:debug [fpi_imgdev_image_captured] 
fp:debug [fpi_img_detect_minutiae] minutiae scan completed in 0,072310
secs
fp:debug [fpi_img_detect_minutiae] detected 64 minutiae
fp:debug [print_data_new] driver=12 devtype=0000
fp:debug [print_data_new] driver=12 devtype=0000
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 3
sync:debug [sync_enroll_cb] result 3
drv:debug [fpi_ssm_mark_completed] 0x17e3170 completed with status 0
etes603:debug [m_capture_complete] Device is still active, restarting
finger detection
drv:debug [__ssm_call_handler] 0x17e3170 entering state 0
sync:debug [fp_enroll_finger_img] enroll stage passed
fp:debug [fpi_img_new] length=254464
sync:debug [fp_enroll_finger_img] 
sync:debug [fp_enroll_finger_img] etes603 will handle enroll stage 1/4
etes603:warning [async_tx_cb] transfer is not completed (status=5)
drv:debug [fpi_ssm_mark_aborted] error -5 from state 0
drv:debug [fpi_ssm_mark_completed] 0x17e3170 completed with status -5
etes603:error [m_finger_complete] Error while capturing fingerprint
(ssm->error=-5)
fp:debug [fpi_imgdev_session_error] error -4
async:debug [fpi_drvcb_enroll_stage_completed] result -4
sync:debug [sync_enroll_cb] result -4
sync:error [fp_enroll_finger_img] unrecognised return code -4
sync:debug [fp_enroll_finger_img] ending enrollment
async:debug [fp_async_enroll_stop] 
etes603:debug [dev_deactivate] deactivating

This is from a single swipe... It ends up hanging fprint_demo...

> In this case, it could be a bad calibration of the device (you may
> need to play a bit with the calibration values, check the calibration
> values, try to set them to fixed values) or it could be that your
> device needs some more commands to reset the device for the next scan
> (I doubt about that but it could be). If you want to hack a bit the
> source, feel free to ask me questions.
> Also can you send me the debug output with the calibration values
> (should be at the beginning before the first scan). A screenshot of
> the fingerprint may also help.

Where in the code are these values? Are these all the defines in the
etes603.c files, because there are a lot :)

> 
> >> I think the best way to find the problem is that you try fprint_demo
> >> and you send me debug output and resulted fingerprint images.
> > I'll try to dig something out!
> 
> Keep me posted then :)
> --
> Patrick

Thanks for your help :)



More information about the fprint mailing list