[fprint] EgisTec ES603 Error -22

Vasily Khoruzhick anarsoul at gmail.com
Thu Mar 20 14:01:44 PDT 2014


On Thu, Mar 20, 2014 at 11:52 PM, Martin Hejnfelt <martin at duffman.dk> wrote:
> Hi,

Hi Martin,

> I'm working with a EgisTec ES603 (1c7a:0603). I am using the current
> HEAD from anarsoul git repository.
>
> When I try to enroll or identify (with async methods), sometimes it
> works, but most of the time I get a result of -22 (EINVAL) in the
> callback. I tried debugging it, and it seems the error comes in the
> sanitize_img function (imgdev.c line 93) from a check of the image
> height (line 106-111, error comes in 110). By enabling logging, I can
> see that during an enroll sequence, my callback function is called twice
> from one call. The first call is good, where I get an FP_ENROLL_PASS
> swipe and the function exits as it should. It then immediately gets
> called again, however this is the one that fails with error -22.
>
> I then enabled logging in the library, and it seems that it detects the
> finger twice or something, and then removes some empty lines that end up
> with a blank image. Here's some debug output to gaze upon:
>
> drv:debug [__ssm_call_handler] 0x7fbae0000910 entering state 13
> drv:debug [__ssm_call_handler] 0x7fbae0000910 entering state 12
> drv:debug [__ssm_call_handler] 0x7fbae0000910 entering state 13
> fp:debug [fpi_imgdev_report_finger_status] finger on sensor
> drv:debug [fpi_ssm_mark_completed] 0x7fbae0000910 completed with status
> 0
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 0
> etes603:debug [m_capture_state] Capturing a fingerprint...
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 1
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 2
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 3
> etes603:debug [m_capture_state] Capturing a 1st frame...
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 4
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 5
> etes603:debug [m_capture_state] Capturing a 2nd frame...
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 4
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 5
> etes603:debug [process_remove_fp_end] Removing 354 empty lines from
> image
> etes603:debug [process_remove_fp_end] Removing 0 empty lines from image
> fp:debug [fpi_img_new] length=163840
> etes603:debug [m_capture_state] Sending the raw fingerprint image
> (0x640)
> fp:debug [fpi_imgdev_image_captured]
> fp:debug [fpi_img_detect_minutiae] minutiae scan completed in 0.057886
> secs
> fp:debug [fpi_img_detect_minutiae] detected 97 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
> Enroll stage callback
> Enrolling 41EB2014-617A-4953-8283-0B9DD01653FB
> System output: Accepted, scan finger again... (1/5)
> drv:debug [fpi_ssm_mark_completed] 0x7fbae0000a10 completed with status
> 0
> etes603:debug [m_capture_complete] Device is still active, restarting
> finger detection
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 0
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 1
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 2
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 3
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 4
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 5
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 6
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 7
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 8
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 9
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 10
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 11
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 12
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 13
> fp:debug [fpi_imgdev_report_finger_status] finger on sensor
> drv:debug [fpi_ssm_mark_completed] 0x7fbae0000a10 completed with status
> 0
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 0
> etes603:debug [m_capture_state] Capturing a fingerprint...
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 1
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 2
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 3
> etes603:debug [m_capture_state] Capturing a 1st frame...
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 4
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 5
> etes603:debug [m_capture_state] Capturing a 2nd frame...
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 4
> drv:debug [__ssm_call_handler] 0x7fbae000afc0 entering state 5
> 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
> Enroll stage callback
> Enrolling 41EB2014-617A-4953-8283-0B9DD01653FB
> Enroll failed with error -22
> System output: Enroll error!
> 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] 0x7fbae0000a10 entering state 0
> drv:debug [fpi_ssm_mark_completed] 0x7fbae000afc0 completed with status
> 0
> etes603:debug [m_capture_complete] And it's over.
> drv:debug [__ssm_call_handler] 0x7fbae0000a10 entering state 1
> drv:debug [fpi_ssm_mark_completed] 0x7fbae0000a10 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]
>
> This comes from a single swipe...
>
> Enroll stage callback
> Enrolling 41EB2014-617A-4953-8283-0B9DD01653FB
> System output: Accepted, scan finger again... (1/5)
>
> is the output from my callback function, and as you can see it gets
> called twice from a single scan:
>
> Enroll stage callback
> Enrolling 41EB2014-617A-4953-8283-0B9DD01653FB
> Enroll failed with error -22
> System output: Enroll error!
>
> Now the code works fine with the integrated UPEK (147e:2016) in my
> laptop, so any clues here?
>
> Thanks in advance!

Looping Patrick, since usually it's a good idea to add driver's author into CC.

Regards
Vasily

> Kind regards,
> Martin Hejnfelt
>
> _______________________________________________
> fprint mailing list
> fprint at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/fprint


More information about the fprint mailing list