anarsoul/libfprint

Testing new driver for 08ff:2810 AuthenTec, Inc. AES2810

Closed this issue · 10 comments

I run Fedora 17.

I compiled and enrolled, it works but there are long delays of 10s of seconds.
When I check /var/log/messages I get
Oct 11 12:14:54 X dbus-daemon[715]: ** Message: enroll_stage_cb: result 100
Oct 11 12:14:54 X dbus-daemon[715]: ** Message: enroll_stage_cb: result -5
Oct 11 12:15:19 X dbus-daemon[715]: ** Message: start enrollment device 0 finger 7
Oct 11 12:15:19 X dbus-daemon[715]: ** Message: start enrollment device 0 finger 7
Oct 11 12:15:43 X dbus-daemon[715]: ** Message: start enrollment device 0 finger 7

When I try the /examples from the libfprint, I get
As root or when I fix usb permissions, I can enroll but something else is wrong:

./enroll
Found device claimed by AuthenTec AES2550/AES2810 driver
Opened device. It's now time to enroll your finger.

You will need to successfully scan your finger 1 times to complete the process.

Scan your finger now.
async:error [fpi_drvcb_enroll_stage_completed] BUG at async.c:161


I tried again, this time one pgm image was dropped but it is scrambled.

Scan your finger now.
Wrote scanned image to enrolled.pgm
Didn't quite catch that. Please try again.

Scan your finger now.

sync:error [fp_enroll_finger_img] unrecognised return code -5

Another try:
aes2550:error [assemble_and_submit_image] BUG at drivers/aes2550.c:149
fp:error [sanitize_image] image is not sane!
sync:error [fp_enroll_finger_img] unrecognised return code -22

async:error [fpi_drvcb_enroll_stage_completed] BUG at async.c:161

Please run configure with --enable-debug-log argument, try enroll/verify again and send me a log. Thanks!

Btw, -5 means -EIO, so something is definitely going wrong...

I recompiled w/ debug,

the log for ./verify:

./verify
fp:debug [fp_init]
fp:debug [register_driver] registered driver upekts
fp:debug [register_driver] registered driver upeke2
fp:debug [register_driver] registered driver aes4000
fp:debug [register_driver] registered driver aes2501
fp:debug [register_driver] registered driver aes2550
fp:debug [register_driver] registered driver uru4000
fp:debug [register_driver] registered driver vcom5s
fp:debug [register_driver] registered driver upeksonly
fp:debug [register_driver] registered driver aes1610
fp:debug [register_driver] registered driver vfs101
fp:debug [register_driver] registered driver vfs301
fp:debug [find_supporting_driver] driver aes2550 supports USB device 08ff:2810
fp:debug [find_supporting_driver] selected driver aes2550 supports USB device 08ff:2810
Found device claimed by AuthenTec AES2550/AES2810 driver
sync:debug [fp_dev_open]
async:debug [fp_async_dev_open]
async:debug [fpi_drvcb_open_complete] status 0
sync:debug [sync_open_cb] status 0
Opened device. Loading previously enrolled right index finger data...
fp:debug [load_from_file] from /home/margus/.fprint/prints/0004/00000000/7
fp:error [load_from_file] /home/margus/.fprint/prints/0004/00000000/7 load failed: Failed to open file '/home/margus/.fprint/prints/0004/00000000/7': No such file or directory
Failed to load fingerprint, error -2
Did you remember to enroll your right index finger first?
sync:debug [fp_dev_close]
async:debug [fpi_drvcb_close_complete]
sync:debug [sync_close_cb]
fp:debug [fp_exit]

./enroll

This program will enroll your right index finger, unconditionally overwriting any right-index print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C

fp:debug [fp_init]
fp:debug [register_driver] registered driver upekts
fp:debug [register_driver] registered driver upeke2
fp:debug [register_driver] registered driver aes4000
fp:debug [register_driver] registered driver aes2501
fp:debug [register_driver] registered driver aes2550
fp:debug [register_driver] registered driver uru4000
fp:debug [register_driver] registered driver vcom5s
fp:debug [register_driver] registered driver upeksonly
fp:debug [register_driver] registered driver aes1610
fp:debug [register_driver] registered driver vfs101
fp:debug [register_driver] registered driver vfs301
fp:debug [find_supporting_driver] driver aes2550 supports USB device 08ff:2810
fp:debug [find_supporting_driver] selected driver aes2550 supports USB device 08ff:2810
Found device claimed by AuthenTec AES2550/AES2810 driver
sync:debug [fp_dev_open]
async:debug [fp_async_dev_open]
async:debug [fpi_drvcb_open_complete] status 0
sync:debug [sync_open_cb] status 0
Opened device. It's now time to enroll your finger.

You will need to successfully scan your finger 1 times to complete the process.

Scan your finger now.
sync:debug [fp_enroll_finger_img]
async:debug [fp_async_enroll_start] starting enrollment
fp:debug [generic_acquire_start] action 1
drv:debug [__ssm_call_handler] 0x17dc9a0 entering state 0
sync:debug [fp_enroll_finger_img] aes2550 will handle enroll stage 0/0
drv:debug [__ssm_call_handler] 0x17dc9a0 entering state 1
drv:debug [__ssm_call_handler] 0x17dc9a0 entering state 2
drv:debug [__ssm_call_handler] 0x17dc9a0 entering state 3
drv:debug [fpi_ssm_mark_completed] 0x17dc9a0 completed with status 0
aes2550:debug [activate_sm_complete] status 0
fp:debug [fpi_imgdev_activate_complete] status 0
async:debug [fpi_drvcb_enroll_started] status 0
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
...
aes2550:debug [start_finger_detection]
aes2550:debug [start_finger_detection]
fp:debug [fpi_imgdev_report_finger_status] finger on sensor
aes2550:debug [start_capture]
drv:debug [__ssm_call_handler] 0x17dcaa0 entering state 0
drv:debug [__ssm_call_handler] 0x17dcaa0 entering state 1
aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801
aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 0

drv:debug [__ssm_call_handler] 0x17dcaa0 entering state 1
aes2550:debug [capture_read_data_cb] Processing rest from last transfer
aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [capture_read_data_cb] Processed frame, result 0

drv:debug [__ssm_call_handler] 0x17dcaa0 entering state 1
aes2550:debug [capture_read_data_cb] Short frame, appear to be a last one?
aes2550:debug [capture_read_data_cb] Processing rest from last transfer
aes2550:debug [capture_read_data_cb] Processed frame, result 801

aes2550:debug [process_strip_data] Got heartbeat => last frame
drv:debug [__ssm_call_handler] 0x17dcaa0 entering state 2
aes2550:debug [capture_read_data_cb] Processed frame, result 0

fp:debug [fpi_img_new] length=33792
aes2550:debug [assemble_and_submit_image] normal scan direction
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_img_detect_minutiae] minutiae scan completed in 0.014488 secs
fp:debug [fpi_img_detect_minutiae] detected 9 minutiae
fp:debug [print_data_new] length=2404 driver=04 devtype=0000
fp:debug [fpi_imgdev_image_captured] not enough minutiae, 9/10
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 100
sync:debug [sync_enroll_cb] result 100
drv:debug [fpi_ssm_mark_completed] 0x17dcaa0 completed with status 0
aes2550:debug [capture_sm_complete] Capture completed
aes2550:debug [start_finger_detection]
sync:debug [fp_enroll_finger_img] enroll should retry
fp:debug [fp_img_save_to_file] written to 'enrolled.pgm'
Wrote scanned image to enrolled.pgm
Didn't quite catch that. Please try again.

Scan your finger now.
sync:debug [fp_enroll_finger_img]
sync:debug [fp_enroll_finger_img] aes2550 will handle enroll stage 0/0
fp:debug [fpi_imgdev_session_error] error -5
async:debug [fpi_drvcb_enroll_stage_completed] result -5
sync:debug [sync_enroll_cb] result -5
sync:error [fp_enroll_finger_img] unrecognised return code -5
sync:debug [fp_enroll_finger_img] ending enrollment
async:debug [fp_async_enroll_stop]

The image that was written the last time looks like a fingerprint.

I run ./enroll again with different result:

Scan your finger now.
sync:debug [fp_enroll_finger_img]
async:debug [fp_async_enroll_start] starting enrollment
fp:debug [generic_acquire_start] action 1
drv:debug [__ssm_call_handler] 0x15379a0 entering state 0
sync:debug [fp_enroll_finger_img] aes2550 will handle enroll stage 0/0
drv:debug [__ssm_call_handler] 0x15379a0 entering state 1
drv:debug [__ssm_call_handler] 0x15379a0 entering state 2
drv:debug [__ssm_call_handler] 0x15379a0 entering state 3
drv:debug [fpi_ssm_mark_completed] 0x15379a0 completed with status 0
aes2550:debug [activate_sm_complete] status 0
fp:debug [fpi_imgdev_activate_complete] status 0
async:debug [fpi_drvcb_enroll_started] status 0
aes2550:debug [start_finger_detection]
fp:debug [fpi_imgdev_session_error] error -5
async:debug [fpi_drvcb_enroll_stage_completed] result -5
sync:debug [sync_enroll_cb] result -5
sync:error [fp_enroll_finger_img] unrecognised return code -5
sync:debug [fp_enroll_finger_img] ending enrollment
async:debug [fp_async_enroll_stop]

Thank you for looking into this!
I hope that this is of help, let me know if there is anything else I can do.

According to log you're running outdated version, please update (git pull origin aes2550-v2). Thanks!

It works very well :)

Cool, thanks for testing!