-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
i have a problem #3
Comments
maybe this helps (gdb) run Program received signal SIGSEGV, Segmentation fault. |
Unfortunately that doesn't help much. Can you try command "backtrace" in the gdb, if it prints some additional stuff? If nothing is printed, you can still add some debug printf's to cli.c... |
I will assume the problem is either gone or sir wvzimmer is gone :-) If there are further problems, please reopen the issue... |
Same here (VFS300) : (gdb) bt |
To avoid the segfault, the following patch works. However, it doesn't seem to work for me (reading fingerprint and then nothing... blocking at vfs301_proto.c:64).
|
Hm, for me it looks like the patch (still) works, so what about you (other) guys, does it help? From the libusb documentation it seems like it shouldn't really matter, probably. Other thing is that the integration with libfprint should be possible - so if it works there, maybe it's useless to debug this probably-not-so-much-used-in-the-near-future utility... |
Well, the device is now recognized but it does not seem to work, unfortunately. (talking about fprint_demo) |
you could maybe add #define DEBUG to cli/vfs301_proto.c, and maybe also some debug prints to libfprint/vfs301.c - and check where it stops / first fails? If the vfs301_proto_init() is reached, you could post the debug output here, maybe there'll be some hint... Just a note - do you have the access permissions set up? cli/Makefile should set it up, so this shouldn't be the cause of the problem - but who knows... |
% ./cli recv, rv 0, len 38 send, rv 0, len 39 recv, rv 0, len 6 send, rv 0, len 39 recv, rv 0, len 7 send, rv 0, len 1 recv, rv 0, len 64 recv, rv 0, len 4 send, rv 0, len 2401 recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 38 send, rv 0, len 1 recv, rv 0, len 2 send, rv 0, len 1905 recv, rv 0, len 2 send, rv 0, len 2247 recv, rv 0, len 2 recv, rv 0, len 256 recv, rv 0, len 32 send, rv 0, len 1 recv, rv 0, len 2 send, rv 0, len 785 recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 38 send, rv 0, len 2737 recv, rv 0, len 2 recv, rv 0, len 11648 send, rv 0, len 2529 recv, rv 0, len 2 recv, rv 0, len 53248 send, rv 0, len 2542 recv, rv 0, len 2 recv, rv 0, len 19968 send, rv 0, len 2768 recv, rv 0, len 2 recv, rv 0, len 5824 send, rv 0, len 2638 recv, rv 0, len 2 recv, rv 0, len 6656 send, rv 0, len 2651 recv, rv 0, len 2 recv, rv 0, len 6656 send, rv 0, len 570 recv, rv 0, len 2 recv, rv 0, len 832 send, rv 0, len 57 recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 2 send, rv 0, len 1905 recv, rv 0, len 2 send, rv 0, len 2587 recv, rv 0, len 2 recv, rv 0, len 5760 send, rv 0, len 1 recv, rv 0, len 2 send, rv 0, len 2401 recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 2 send, rv 0, len 3057 recv, rv 0, len 2 send, rv 0, len 119 recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 38 send, rv 0, len 2591 recv, rv 0, len 2368 recv, rv 0, len 36 recv, rv 0, len 5760 waiting for next fingerprint... recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 7 send, rv 0, len 1 recv, rv 0, len 7 reading fingerprint... recv, rv 0, len 84032 recv, rv 0, len 84096 recv, rv 0, len 84096 (continue flooding the same thing...) The permissions are fine, I just need to rerun make access after running ./cli because the owner is reinitialized to root. |
hey, that actually looks promising - the device seems to accept the the initialization (there are no errors in the log you sent), you are getting the fingerprint data, only for some reason the device doesn't stop reading the fingerprint (maybe there should be some calibration or something). Seems you aren't a newbie, so here's the hint - try replacing the 'while (1)' loop in vfs301_proto_process_event() for something like 'for (int i = 0; i < 5; i++)'. That should at least return the first fingerprint (hopefully also some following ones). |
reading fingerprint... recv, rv 0, len 84032 recv, rv 0, len 84096 recv, rv 0, len 84096 recv, rv 0, len 84096 recv, rv 0, len 84096 send, rv 0, len 1 recv, rv -7, len 0 recv, rv 0, len 864 recv, rv 0, len 2 send, rv 0, len 2587 recv, rv -7, len 0 recv, rv 0, len 2 recv, rv 0, len 5760 fingerprint too short (200x1 px), ignoring... |
If I put my finger on the sensor while it reads the fingerprint, I don't have this last error. |
And before the first "reading fingerprint..." message, does it wait (i.e. repeat "send, rv 0, len 1"; "recv, rv 0, len 7") until you put the finger on the sensor? |
No, it does not wait (I did not put my finger on the sensor): waiting for next fingerprint... recv, rv 0, len 2 send, rv 0, len 1 recv, rv 0, len 7 send, rv 0, len 1 recv, rv 0, len 7 reading fingerprint... |
Hmm, that's not good news... Do youhave windows on your machine? If so, you could do some usb-sniffing and send the log (I'd nagivate you) for some debugging... |
s/nagivate/navigate/ |
Yes, and the only thing installed on it is a usb-sniffer :D. Let me know what you want me to do. I'll do it later tonight. |
same here :-)) I have to leave, so I'll get back to you tomorrow... |
I suppose you are using 64-bit windows. So you can use e.g. http://www.usblyzer.com/ , it can produce quite nice csv logs... Just don't forget to set 64kb buffers in the settings, otherwise the logs are quite useless I think... The logging is quite straight-forward. I suggest you disable the device in the device manager, then start logging in usblyzer, and reenable the device. If nothing is still logged, you'll probably have to restart some biometrics service(s) and/or start some program using the scanner. You can then send me the logs (either ulz or exported to csv, gzipped please :) ) - you can find my email at andree.sk / email.html :) Or get back here if you have trouble obtaining the logs... |
I'm sorry, I lacked a bit of time, I'll try to do it this weekend. |
Logs (finally) sent. |
Another way to work around this issue is do not use context at all at libusb_init() and libust_exit(), just passing NULL also on both. |
segmentation fault on the ./cli
The text was updated successfully, but these errors were encountered: