anarsoul / libfprint

libfprint with my WiP drivers
GNU Lesser General Public License v2.1
27 stars 10 forks source link

Problem with 147e:1001 #11

Closed jayala closed 5 months ago

jayala commented 7 years ago

Hello, I'm having trouble to make libfprint work in my raspberry pi 2 with raspbian 8.0.

When I enroll it throws a lot of 100 results and when I swipe it returns 3 until fifth time when it returns 1. But it still doesn't works because I can't verify my fingerprint. Every attempt to verify automatically returns no-match, it doesn't wait until I swipe my finger.

What can be going wrong?.

This is fprintd log: Message: user 'jesus' claiming the device: 0 Message: now monitoring fd 15 Message: device 0 claim status 0 Message: start enrollment device 0 finger 7 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 3 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 3 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 3 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 3 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 100 Message: enroll_stage_cb: result 1 Message: no longer monitoring fd 15 Message: released device 0

Attempt to verify: Using device /net/reactivated/Fprint/Device/0 Listing enrolled fingers:

anarsoul commented 7 years ago

fprintd log is useless to debug this issue. Recompile libfprint with --enable-debug-log, get a log, post it somewhere (gist.gihhub.com is a good place) and then post a link here.

jayala commented 7 years ago

Hey, thank you for the response! I created a gist of the logs The fingerprint works with my notebook with the same libfprint, seems to be a problem with the raspberry.

Please take a look and thank you again.

anarsoul commented 7 years ago

There's a lot of warnings like this in a log: upeksonly:warning [handle_packet] lost 2 packets of data between 11 and 13 That means that usb host wasn't fast enough to poll scanner and some data was lost. It's likely that there's a lot of blanks in resulted image.

But it failed due to other reason:

upeksonly:debug [write_regs_iterate] set 0b=00 sync:debug [fp_enroll_finger_img] enroll stage passed fp:debug [fp_img_save_to_file] written to 'enrolled.pgm' sync:debug [fp_enroll_finger_img] sync:debug [fp_enroll_finger_img] upeksonly will handle enroll stage 1/4 libusb: warning [handle_timeout] async cancel failed -5 errno=22

First control transfer of the sequence that puts scanner into idle timed out. It means something is wrong with USB controller in raspberry pi. I can't do anything about it in libfprint.

jayala commented 7 years ago

Ok, that's strange.. will try to solve that problem.

Thank you!

anarsoul commented 7 years ago

It's not strange. Your laptop uses generic ehci or xhci controller, while rpi uses custom designware USB2 controller from Synopsys, and it is full of hardware bugs and pretty hard to program. I know because I wrote a driver for device (not host) side of this controller. Thus it can be bug in hardware or in the driver (dwc-otg2 if I remember correctly).

jayala commented 7 years ago

Hello, I connected the fingerprint reader a another PC, and tried to enroll. Tested with both master and fall2016-wip branch. Throws a different error I think, I updated my gist Please take a look, thank you!