On Thu, Mar 20, 2014 at 11:52 PM, Martin Hejnfelt <mar...@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/fprint _______________________________________________ fprint mailing list fprint@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/fprint