[fprint] Raspberry Pi and Microsoft 1033 Fingerprint scanner. libfprint hangs during enrollment

Andreas Lekas andreaslekas at gmail.com
Mon Sep 15 19:07:52 PDT 2014


Hello,

I am trying to make the Microsoft 1033 fingerprint scanner work with fprint
on a Raspberry Pi. I'm running into a problem where fingerprint enrollment
stalls after the first stage. The first scan gets saved and I'm prompted
for the next one, but the fingerprint scanner stops responding to
anything...the red light stays on, but nothing happens in software. I was
using the Jessie repo for the Raspi which contained the 0.5.1 build of
libfprint. I've since abandoned that build so that I could compile myself
with the --enable-debug-log switch. Below is a dump of the console with the
debug log turned on. I'm hoping someone else has run into this issue so
that I don't have to work through all of the libfprint source to fix it
myself :-D

 ./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 aes3500
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 aes1660
fp:debug [register_driver] registered driver aes2660
fp:debug [register_driver] registered driver vfs101
fp:debug [register_driver] registered driver vfs301
fp:debug [register_driver] registered driver upektc
fp:debug [register_driver] registered driver upekts_img
fp:debug [register_driver] registered driver etes603
fp:debug [find_supporting_driver] driver uru4000 supports USB device
045e:00bd
fp:debug [find_supporting_driver] selected driver uru4000 supports USB
device 045e:00bd
Found device claimed by Digital Persona U.are.U 4000/4000B/4500 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 5 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] 0x1cba958 entering state 0
uru4000:debug [sm_read_regs] read 1 regs at 7
sync:debug [fp_enroll_finger_img] uru4000 will handle enroll stage 0/4
uru4000:debug [sm_read_reg_cb] reg value 1
drv:debug [__ssm_call_handler] 0x1cba958 entering state 1
drv:debug [__ssm_call_handler] 0x1cba958 entering state 3
uru4000:debug [sm_set_hwstat] set 81
drv:debug [__ssm_call_handler] 0x1cba958 entering state 4
drv:debug [__ssm_call_handler] 0x1cba980 entering state 0
drv:debug [__ssm_call_handler] 0x1cba980 entering state 1
uru4000:debug [sm_set_hwstat] set 01
drv:debug [__ssm_call_handler] 0x1cba980 entering state 2
uru4000:debug [sm_read_regs] read 1 regs at 7
uru4000:debug [sm_read_reg_cb] reg value 0
drv:debug [__ssm_call_handler] 0x1cba980 entering state 3
drv:debug [fpi_ssm_mark_completed] 0x1cba980 completed with status 0
drv:debug [__ssm_call_handler] 0x1cba958 entering state 5
poll:debug [fpi_timeout_add] in 300ms
poll:debug [get_next_timeout_expiry] next timeout in 0.299905s
poll:debug [get_next_timeout_expiry] next timeout in 0.299111s
uru4000:debug [irq_handler] recv irq type 56aa
uru4000:debug [init_scanpwr_irq_cb] late scanpwr interrupt
drv:debug [__ssm_call_handler] 0x1cba958 entering state 6
poll:debug [fpi_timeout_cancel]
drv:debug [__ssm_call_handler] 0x1cba958 entering state 7
uru4000:debug [sm_read_regs] read 16 regs at f0
uru4000:debug [sm_read_reg_cb] reg value 45
drv:debug [__ssm_call_handler] 0x1cba958 entering state 8
uru4000:info [init_run_state] Versions 0040 and 0014
drv:debug [fpi_ssm_mark_completed] 0x1cba958 completed with status 0
uru4000:debug [execute_state_change] wait finger on
fp:debug [fpi_imgdev_activate_complete] status 0
async:debug [fpi_drvcb_enroll_started] status 0
uru4000:debug [execute_state_change] wait finger on
uru4000:debug [irq_handler] recv irq type 0101
fp:debug [fpi_imgdev_report_finger_status] finger on sensor
uru4000:debug [execute_state_change] starting capture
drv:debug [__ssm_call_handler] 0x1cab468 entering state 0
drv:debug [__ssm_call_handler] 0x1cab468 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cab468 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_img_detect_minutiae] minutiae scan completed in 0.620926 secs
fp:debug [fpi_img_detect_minutiae] detected 43 minutiae
fp:debug [print_data_new] driver=02 devtype=0000
fp:debug [print_data_new] driver=02 devtype=0000
drv:debug [fpi_ssm_mark_completed] 0x1cab468 completed with status 0
uru4000:debug [execute_state_change] await finger off
uru4000:debug [irq_handler] recv irq type 0200
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
uru4000:debug [execute_state_change] starting capture
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
sync:debug [fp_enroll_finger_img] enroll stage passed

Finger scanned.
fp:debug [fp_img_save_to_file] written to 'enrolled.pgm'
Wrote scanned image to enrolled.pgm
Enroll stage passed. Yay!

Scan your finger now.
sync:debug [fp_enroll_finger_img]
sync:debug [fp_enroll_finger_img] uru4000 will handle enroll stage 1/4
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured]
fp:debug [fpi_imgdev_image_captured] ignoring due to current state 2
drv:debug [__ssm_call_handler] 0x1cf5480 entering state 0

---- At this point, things just loop indefinitely, with the "ignoring due
to current state 2" message.

Thanks,
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/fprint/attachments/20140915/e7ed55b8/attachment.html>


More information about the fprint mailing list