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

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Wed Aug 14 12:06:57 PDT 2013


Hello Vasily

I have tried anarsoul-wip-v6 and it works fine on my notebook.
Tomorrow I will try on the usb chip.

Regards!

On Wed, Aug 14, 2013 at 7:49 PM, Ricardo Ribalda Delgado
<ricardo.ribalda at gmail.com> wrote:
> 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



-- 
Ricardo Ribalda


More information about the fprint mailing list