Jimmy Jeppesen | 30 Jul 09:47 2014
Picon

1-n matching?

Hi

I am writing an application that will need to read a fingerprint and then compare this to a series of previously scanned images and report back which file matched.

The matched file then corresponds to a given user and I can proceed from there.

I have googled high and low, and it seems like libfprint is not suited for this purpose - Am I right? :-)

If not, which programs do I need (or which parameters to frpintd-verify)?

Thanks,
Jimmy

ps, thanks for the help with installation - It was indeed the Debian version on APT that was too old and a hand.compiled version worked out of the box.
_______________________________________________
fprint mailing list
fprint <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/fprint
Antonio G.M. | 25 Jul 23:59 2014
Picon

Makefile, permissions, saved data and Python.

Hello everybody,

I'm writing an application using libfprint.
We want to launch certain demos when a certain finger is verified.
My questions are about:
   1) Makefile
   2) Permissions
   3) Saved data

1) How to compile application with libfprint correctly?
With what (little) I know, I made a makefile, but the library
libfprint is not found in any way. Here's the code.

CC = gcc

FINGER_CFLAGS = -I/home/viki/libFinger/include
FINGER_LIBS = -llibfprint.la
DEPS = fprint.h
OBJ = enroll.o

CRYPTO_CFLAGS = -I/usr/include/nss -I/usr/include/nspr
CRYPTO_LIBS = -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4

GLIB_CFLAGS = -I/usr/include/glib-2.0
-I/usr/lib/i386-linux-gnu/glib-2.0/include
GLIB_LIBS = -lglib-2.0

LIBUSB_CFLAGS = -I/usr/include/libusb-1.0
LIBUSB_LIBS = -lusb-1.0

LIBS = $(CRYPTO_LIBS) $(GLIB_LIBS) $(LIBUSB_LIBS) $(FINGER_LIBS)
CFLAGS = $(CRYPTO_FLAGS) $(GLIB_FLAGS) $(LIBUSB_LIBS) $(FINGER_CFLAGS)

%.o: %.c $(DEPS)
	$(CC) -c -o $ <at>  $< $(CFLAGS)
	
enroll: $(OBJ)
	$(CC) -o $ <at>  $^ $(CFLAGS) $(LIBS)

I copied a few lines from the Makefile under /examples folder of the
library. I configured the installation with
--prefix=/home/viki/libFinger/. So, one level up from where my source
code files are, you can find the installed /include and /lib folders.

All the examples run correctly when compiled with the generated Makefile.
Could you tell me what I'm doing wrong? or provide a simplistic
example on how to compile with libfprint with a Makefile.

2) When I run an example say ./enroll. I get this error message:
libusb couldn't open USB device.
I get "permission denied" errors also when I read/load any previously
saved finger prints, since they are saved in the folder /.fprints. in
the home directory.
How can I control where to save the files, and how to 'give'
permissions to libusb in order not to get these errors? Since writing
sudo ./enroll, defeats the purpose of having the fingerprint sensor to
do authentication.

3) I have an eikon swipe-type sensor. The saved finger prints are
saved with the name corresponding a finger number, i.e. file '1' holds
the finger print from the LEFT_THUMB. In my computer at least, they
are inside folder '/000d/00000000'.
I want to save various fingerprints for (around) 5 users.
Is there any way of saving the files using other file/folder names?
Say folder 'User-1' holds the prints for fingers 'Prog-1', 'Prog-2',
where these would correspond to some fingers.

4) Has anyone written a Python wrapper? I read some articles about
this, but all of them had the C/C++ header and implementation files to
write the wrapper. Any pointers to examples where the C program uses
external libraries, like with libfprint, as well?? (libusb, glib, nss,
libfprint).

I thought about sending ROS messages from the .c file to my .py files,
where I need the authentication. Since we're using ROS anyways.
But Python wrapper would be nicer.

Thank you in advanced.
Any comments are very much welcomed.
Jimmy Jeppesen | 25 Jul 07:36 2014
Picon

How do I debug?

I have a Digital Persona 4000 on a Debian box without GUI, text mode only.

dmesg shows the unit is located fine:

[298336.901212] usb 6-1: pl2303 converter now attached to ttyUSB0
[634300.136023] usb 5-2: new full-speed USB device number 3 using uhci_hcd
[634300.315037] usb 5-2: New USB device found, idVendor=05ba, idProduct=000a
[634300.315046] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[634300.315053] usb 5-2: Product: Biokey 200 Fingerprint Scanner
[634300.315060] usb 5-2: Manufacturer: ZKSoftware Inc.
[634300.315065] usb 5-2: SerialNumber: {7EA2172E-30A5-9141-9909-409F3058F209}


When I try to run frint I just get an anonymous error:

root <at> ac:~# fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
Enrolling right index finger.
Enroll result: enroll-unknown-error


How can I debug this?

Thanks :-)
_______________________________________________
fprint mailing list
fprint <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/fprint
vasas | 17 Jul 11:17 2014
Picon

Request for adding support to figerprint reader

Sir,

    We are having Secugen finger print reader whose verdor id is 1162 and
product id is 0322. we would like to use fprintd for authentication
using pam module.

--regards
suresh vasa.
Igor Gnatenko | 12 Jul 13:35 2014
Picon

fprint authentication over ssh

Hi,

I have local laptop with finger scanner and have remote server.

Can I login over ssh and authorize by fingerprint?
--

-- 
-Igor Gnatenko
_______________________________________________
fprint mailing list
fprint <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/fprint
Patrick Marlier | 24 Jun 21:36 2014
Picon

Re: etes603 error

Hi Paolo,

Just to tell you that I can reproduce the problem on my machine. However I have no clue yet on why it happens with the enroll example. I am not sure when I will have time to dig more so you can try to use fprintd-enroll (it was working months, or years ago).

Regards,
--
Patrick

On 05/23/2014 11:08 PM, Paolo Valleri wrote:
Hi all, 
I've just cloned (and compiled) the git repository to try the usb finger reader on a raspberry pi, the output on enroll is:
--------
pi <at> apd ~/libfprint/examples $ sudo ./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

Found device claimed by EgisTec ES603 driver
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.
Wrote scanned image to enrolled.pgm
Enroll stage passed. Yay!

Scan your finger now.
libusb: warning [handle_timeout] async cancel failed -4 errno=19
etes603:warning [async_tx_cb] transfer is not completed (status=5)
etes603:error [m_finger_complete] Error while capturing fingerprint (ssm->error=-5)
sync:error [fp_enroll_finger_img] unrecognised return code -4
--------

The usb stick I have is this one:
lsusb recognizes it as:
ID 1c7a:0603 LighTuning Technology Inc. 

what can I do to fix the issue?

Regards
 Paolo


_______________________________________________ fprint mailing list fprint <at> lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/fprint

_______________________________________________
fprint mailing list
fprint <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/fprint
Martin Hejnfelt | 24 Jun 19:39 2014
Picon

uru4000, number of enroll stages

Hi,

I'm using a Digital Persona U.are.U 4500 and using the current libfprint
from git. I can see in the git log that there were some changes in the
nr_enroll_stages, that was changed to 5 for all devices. This seems to
not make the U.are.U 4500 happy, as it goes into some sort of disco
mode, upon the second enroll stage. First enrollment stage goes fine,
second one it starts blinking with the red diodes and libfprint
continously hammers the log with this:

drv:debug [__ssm_call_handler] 0x2306670 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] 0x2306670 entering state 0
drv:debug [__ssm_call_handler] 0x2306670 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x2306670 entering state 2
uru4000:debug [sm_read_regs] read 4 regs at 34
uru4000:debug [sm_read_reg_cb] reg value ec
drv:debug [__ssm_call_handler] 0x2306670 entering state 3
uru4000:debug [imaging_run_state] encryption id 39 -> key 7b0f322a
uru4000:debug [imaging_run_state] 0 02 77
uru4000:debug [imaging_run_state] decoding 77 lines
uru4000:debug [imaging_run_state] 1 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 2 02 49
uru4000:debug [imaging_run_state] decoding 49 lines
uru4000:debug [imaging_run_state] 3 01 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 4 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 5 02 49
uru4000:debug [imaging_run_state] decoding 49 lines
uru4000:debug [imaging_run_state] 6 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 7 02 111
uru4000:debug [imaging_run_state] decoding 111 lines
drv:debug [__ssm_call_handler] 0x2306670 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] 0x2306670 entering state 0
drv:debug [__ssm_call_handler] 0x2306670 entering state 1
uru4000:debug [imaging_run_state] hw header lines 289
drv:debug [__ssm_call_handler] 0x2306670 entering state 2
uru4000:debug [sm_read_regs] read 4 regs at 34
uru4000:debug [sm_read_reg_cb] reg value ff
drv:debug [__ssm_call_handler] 0x2306670 entering state 3
uru4000:debug [imaging_run_state] encryption id 3a -> key b7ac5a39
uru4000:debug [imaging_run_state] 0 02 77
uru4000:debug [imaging_run_state] decoding 77 lines
uru4000:debug [imaging_run_state] 1 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 2 02 49
uru4000:debug [imaging_run_state] decoding 49 lines
uru4000:debug [imaging_run_state] 3 01 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 4 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 5 02 49
uru4000:debug [imaging_run_state] decoding 49 lines
uru4000:debug [imaging_run_state] 6 00 1
uru4000:debug [imaging_run_state] skipping 1 lines
uru4000:debug [imaging_run_state] 7 02 111
uru4000:debug [imaging_run_state] decoding 111 lines
drv:debug [__ssm_call_handler] 0x2306670 entering state 4
fp:debug [fpi_img_new] length=111360
fp:debug [fpi_imgdev_image_captured] 

Now if I change the nr_enroll_stages in imgdev.c to 1, it all goes good
and the device works "properly" although I guess matching rate could
then be improved if this could be worked out?

Any clues here?

Thank you in advance!

Kind regards,
Martin Hejnfelt
Martin Hejnfelt | 24 Jun 19:24 2014
Picon

Re: etes603 error

Hi Paolo,

Not sure if this could be the culprit of your problem, but the Raspberry
Pi has some serious USB issues depending on which kernel and kernel
parameters you are using. I've had similar issues with other USB
devices, especially a FTDI USB-RS232 converter.

Try running a "BRANCH=next rpi-update" and take a look at this thread:
http://www.raspberrypi.org/forums/viewtopic.php?t=70437&p=510566

Regards,
Martin Hejnfelt
David Albert | 7 Jun 06:23 2014
Picon

Linux Mint 16 w/ Targus PA460 (AES4000)

I am trying to get a Targus PA460 capacitive fingerprint scanner 
(Authentec aes4000 driver) working with fprint and have had mixed (but 
generally unacceptable) results.  I am running Linux Mint 16.

I tried first with the stock Linux Mint binary packages and although the 
scanner is always recognized, I was unable to enroll a finger; after the 
first scan, fprintd would stop responding; other users have reported the 
same problem.  I have 4 scanners and they all behave identically.  When 
running fprintd -t in a console so I can see the results, the daemon 
shows no activity when the fprintd-enroll task requests a rescan.

I rebuilt from source using libfprint-0.5.1 and fprintd-0.5.1 and the 
results were better.  I was able to get fingerprints enrolled using 
fingerprint-gui, but it is very flaky and crashes frequently crashes.  
With fprintd-enroll I was also able to enroll my right index finger 
only.  fprint-verify sometimes verifies successfully, but it generally 
fails.  There is also a serious defect in that if a scan fails, it will 
not retry and the client app (enroll or verify) must be killed to resume 
scanning (see defect reports below).

I realize the PA460 is a poor scanner (250dpi, 10mm square, 96x96 
pixels), but one problem may be contrast; fprint_demo shows the captured 
images and they have extremely light contrast; I have seen images 
captured by fprint_demo with other scanners and they show high contrast 
between ridges and grooves.  I tried increasing the sensor gain 
(libfprint/drivers/aes4000.c:94) from 0x23 to 0x33 and the results 
seemed to improve.  I found the hardware manual and non-official linux 
USB driver source here: 
http://sourceforge.net/projects/aes4kusbdriver/   I'll read it and 
experiment some more, to see if I can get better results.

Any help/suggestions would be appreciated, the PA460 is basically 
unusable in its current state because it rarely verifies an enrolled 
print.  I have extra PA460s and can donate one to a project maintainer 
if there's interest.  Also, please see defect reports below.

Thanks!

Defect: if fprintd-verify shows "Verify result: verify-retry-scan (not 
done)", fprintd-verify will not respond further until it is killed via 
SIGINT.  fprintd continues running properly.

     Client shows:
         ~ $ fprintd-verify
         Using device /net/reactivated/Fprint/Device/0
         Listing enrolled fingers:
          - #0: right-index-finger
         Verify result: verify-retry-scan (not done)

     Daemon shows:
             ~ $ sudo fprintd -t
             Launching FprintObject
             ** Message: D-Bus service launched with name: 
net.reactivated.Fprint
             ** Message: entering main loop
             ** Message: user 'dalbert' claiming the device: 0
             ** Message: now monitoring fd 16
             ** Message: device 0 claim status 0
             ** Message: adding finger 7 to the gallery
             ** Message: start identification device 0
             ** Message: identify_cb: result verify-retry-scan (100)

Defect: the cancel button does not work for the Authenticate dialog for 
fprintd-enroll

Enhancement request: add option to display version.

P.S. I'm a very experienced C/C++ (mostly embedded systems) programmer; 
is the project open to adding developers?

References:
     http://www.datasheetarchive.com/AES4000-datasheet.html
     http://sourceforge.net/projects/aes4kusbdriver/
Bastien Nocera | 6 Jun 12:23 2014
Picon

Re: Lubuntu 14.04, Thinkpad x61s

On Fri, 2014-06-06 at 01:23 +0300, golden cut wrote:
> Hi,
> 
> 
> Couple of questions and suggestions from a new user. 
> 
> Is it the normal behavior of fprint to show no feedback when
> fingerprint is un/successfully scanned (at login, xscreensaver etc)? 
> Should the user have to press enter for the fingerprint to "take"
> after it's scanned? It's somewhat counter-intuitive since one expects
> the authentication to be either fingerprint OR keyboard entry, not mix
> of the two - it feels like pressing enter to the empty password box.

That's likely related to Lubuntu's PAM configuration. I would take that
up with the distribution. In Fedora, the PAM configuration will try to
use the fingerprint first (for login at the console), and GNOME (gdm,
lock screen) password prompts will allow for either to be used.

> Fprintd-enroll should maybe show some info or feedback when
> fingerprints are entered. It could tell user that it expects multiple
> scans. I scanned, waited, waited, then ctrl+C'd myself out and nothing
> worked of course. Since the message after first scan is something like
> "Success" users might think that's that, and quit or just wait for the
> program to quit.

fprintd-enroll was built as a test/debug application, so it's obviously
not as polished as UIs that were built around fprintd, such as GNOME's
User Accounts panel. That's worth a bug report though, and we'll look
into making fprintd-enroll better.

The bugzilla is at https://bugs.freedesktop.org

Cheers
golden cut | 6 Jun 00:23 2014
Picon

Lubuntu 14.04, Thinkpad x61s

Hi,

Couple of questions and suggestions from a new user.
Is it the normal behavior of fprint to show no feedback when fingerprint is un/successfully scanned (at login, xscreensaver etc)?
Should the user have to press enter for the fingerprint to "take" after it's scanned? It's somewhat counter-intuitive since one expects the authentication to be either fingerprint OR keyboard entry, not mix of the two - it feels like pressing enter to the empty password box.
Fprintd-enroll should maybe show some info or feedback when fingerprints are entered. It could tell user that it expects multiple scans. I scanned, waited, waited, then ctrl+C'd myself out and nothing worked of course. Since the message after first scan is something like "Success" users might think that's that, and quit or just wait for the program to quit.

Thanks,
G.
_______________________________________________
fprint mailing list
fprint <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/fprint

Gmane