[fprint] [PATCH] upeke2: Add one more stage to the enrollment

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Wed Aug 14 10:49:35 PDT 2013


Hi Vasily

Maybe it is a different firmware on the device. I have tried on two
different hardware, the sensor on the thinkpad w520, and a usb device
that was around my office.

I am not the only one with that problem though
http://lists.freedesktop.org/archives/fprint/2012-January/000085.html

Does the patch that I sent break the library for you? I think the only
counterpart is one extra enrolling stage on error. Maybe it is a good
idea to apply it if it supports more hardware than before :)

I will try your branch as soon as I get hold of some hardware.


Thanks!



On Wed, Aug 14, 2013 at 7:05 PM, Vasily Khoruzhick <anarsoul at gmail.com> wrote:
> On Wed, Aug 14, 2013 at 7:30 PM, Ricardo Ribalda Delgado
> <ricardo.ribalda at gmail.com> wrote:
>
> Hi Ricardo,
>
>> On: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
>>
>> The library fails to enroll due to a missing enrolling stage.
>
>
> It doesn't fail for me on my 147e:2016, anyway, upeke2 driver will be
> deprecated in newer libfprint and
> replaced with upektc_img driver, it would be nice if you can test it, you
> can get it from my repo,
> https://github.com/anarsoul/libfprint.git branch anarsoul-wip-v6
>
>>
>>
>> upeke2:debug [__handle_incoming_msg] A=00 B=40 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=50 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=50 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=60 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=60 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=70 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=70 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=80 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=80 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=90 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=90 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 20
>> upeke2:debug [alloc_send_cmd28_transfer] seq=a0 subcmd=00 with 2 bytes of
>> data
>> upeke2:debug [__handle_incoming_msg] A=00 B=a0 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 2e
>> async:debug [fpi_drvcb_enroll_stage_completed] result 3
>> sync:debug [sync_enroll_cb] result 3
>> upeke2:debug [alloc_send_cmd28_transfer] seq=b0 subcmd=00 with 2 bytes of
>> data
>> sync:debug [fp_enroll_finger_img] enroll stage passed
>> Enroll stage passed. Yay!
>>
>> Scan your finger now.
>> sync:debug [fp_enroll_finger_img]
>> sync:error [fp_enroll_finger_img] exceeding number of enroll stages for
>> device claimed by driver upeke2 (5 stages)
>> sync:debug [fp_enroll_finger_img] ending enrollment
>> async:debug [fp_async_enroll_stop]
>> drv:debug [__ssm_call_handler] 0x17762a0 entering state 0
>> upeke2:debug [alloc_send_cmdresponse_transfer] seq=07 len=1
>> upeke2:debug [__handle_incoming_msg] A=00 B=b0 len=20
>> upeke2:debug [__handle_incoming_msg] device responds to subcmd 0 with 14
>> bytes
>> upeke2:debug [e_handle_resp00] poll result = 0c
>> upeke2:debug [alloc_send_cmd28_transfer] seq=c0 subcmd=00 with 2 bytes of
>> data
>> drv:debug [__ssm_call_handler] 0x17762a0 entering state 1
>> upeke2:error [read_msg_cb] async msg read failed, code 2
>> drv:debug [fpi_ssm_mark_aborted] error -1 from state 1
>> drv:debug [fpi_ssm_mark_completed] 0x17762a0 completed with status -1
>> async:debug [fpi_drvcb_enroll_stopped]
>> sync:debug [enroll_stop_cb]
>> Enroll failed with error -22
>> sync:debug [fp_dev_close]
>> async:debug [fpi_drvcb_close_complete]
>> sync:debug [sync_close_cb]
>> fp:debug [fp_exit]
>>
>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
>> ---
>>  libfprint/drivers/upeke2.c |    2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libfprint/drivers/upeke2.c b/libfprint/drivers/upeke2.c
>> index a7db54d..6c9a56d 100644
>> --- a/libfprint/drivers/upeke2.c
>> +++ b/libfprint/drivers/upeke2.c
>> @@ -874,7 +874,7 @@ static int dev_init(struct fp_dev *dev, unsigned long
>> driver_data)
>>         upekdev = g_malloc(sizeof(*upekdev));
>>         upekdev->seq = 0xf0; /* incremented to 0x00 before first cmd */
>>         dev->priv = upekdev;
>> -       dev->nr_enroll_stages = 5;
>> +       dev->nr_enroll_stages = 6;
>>
>>         fpi_drvcb_open_complete(dev, 0);
>>         return 0;
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> fprint mailing list
>> fprint at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/fprint
>
>



-- 
Ricardo Ribalda


More information about the fprint mailing list