Daniel Drake
c9ff2c5541
Add Veridicom 5th Sense driver
...
Based on bus traffic analysis of the windows driver. This device is
working well, but finger presence detection is not yet implemented.
2008-03-19 23:52:28 +00:00
Daniel Drake
617ca8cd15
fix imaging action state for repeated enroll attempts
...
Enroll attempts may retry in some situations, so we need to reset the
state to accept more scans.
2008-03-19 23:28:44 +00:00
Daniel Drake
a11ac7d8f8
uru4000: search for encryption byte
...
New DigitalPersona devices have a new firmware. We now use a search
scheme to find the encryption byte, by examining known locations
in the firmware until we find something that we recognise.
2008-03-19 17:56:21 +00:00
Daniel Drake
fb49c24ae2
uru4000: Unify register I/O
2008-03-19 17:56:13 +00:00
Daniel Drake
d3d68be490
uru4000: fix register widths
...
Encryption byte address was being truncated in the sm_fix_fw_read_cb
path
2008-03-19 17:56:08 +00:00
Daniel Drake
156e5e7d7c
Update for new libusb_get_pollfds API
2008-03-13 12:54:27 +00:00
Daniel Drake
f546fa2555
Fix synchronous enrollment for multi-stage devices
2008-03-10 13:33:32 +00:00
Daniel Drake
4e884807a7
Update for libusb API rework
2008-03-10 13:33:23 +00:00
Daniel Drake
81a5d6d966
Only use -fgnu89-inline when supported
...
This only works for GCC 4.3 and newer. GCC 4.2 and older already have
the semantics introduced by using this argument.
2008-03-07 00:11:56 +00:00
Vasily Khoruzhick
647d140834
Fixed fp_identify_finger_img didn't return result of operation
...
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
2008-03-05 21:45:02 +00:00
Daniel Drake
07a42d5f91
uru4000: Retry initialization 3 times
...
Sometimes we don't get the powerup interrupt, so retry the whole process
up to 3 times if we time out waiting for the interrupt.
2008-03-03 23:29:03 +00:00
Daniel Drake
2d27df0268
Allow timeouts to be cancelled
2008-03-03 23:28:17 +00:00
Daniel Drake
c29c3fa014
Fix low minutiae handling
...
Fixes a crash and adds in a missing break statement
2008-03-03 13:48:33 +00:00
Daniel Drake
b167dd02fc
Add API to determine next timeout
2008-03-01 13:02:20 +00:00
Daniel Drake
3ea28e334d
Provide access to fd set
...
Includes notifications when the set changes.
2008-03-01 13:02:20 +00:00
Daniel Drake
88e9f4a5f8
Public async API implementation
...
Involved some internal overhaul/reorganisation. Nice side effect is that
the synchronous API is now expressed purely in terms of the public async
API.
2008-03-01 13:02:17 +00:00
Daniel Drake
83f9da1b87
uru4000: port to asynchronous model
2008-02-18 18:12:52 +00:00
Daniel Drake
754e56aec1
Allow execution of sub-SSMs
...
A subssm will be executed, and upon completion the parent state machine
will either be advanced to the next state or aborted with error, depending
on the outcome of the subssm.
Also add some debug messages.
2008-02-18 17:55:35 +00:00
Daniel Drake
b8dc77b56e
Fix verify/identify error handling
...
If verify_start failed, we need to run verify_stop. Same for
identification.
2008-02-18 17:55:35 +00:00
Daniel Drake
866dd941cc
Add timing and polling infrastructure
...
Add timeout mechanism as an asynchronous equivalent of sleeping (uru4000
needs this).
Start implementing polling infrastructure which also accounts for pending
timeouts. We don't expose file descriptors yet, but this is a start.
2008-02-16 12:50:01 +00:00
Daniel Drake
eff26bf0be
aes2501: port to asynchronous model
2008-02-16 12:49:58 +00:00
Daniel Drake
0aaffcee33
Allow jumping to arbitrary state in a SSM
...
This is looking less and less like a simple state machine now, but it's
proving a useful model!
2008-02-16 12:49:37 +00:00
Daniel Drake
77b5dab04b
aeslib: introduce user_data for write registers callback
...
aes2501 needs this for state tracking
2008-02-16 12:49:27 +00:00
Daniel Drake
6f08a3666d
aeslib: fix register write boundaries
2008-02-16 12:49:20 +00:00
Daniel Drake
d914712437
aes4000: port to asynchronous model
2008-02-16 12:49:17 +00:00
Daniel Drake
d731d5f3a3
aeslib: port to asynchronous model
2008-02-16 12:49:02 +00:00
Daniel Drake
3048b37176
Port imaging layer to asynchronous model
2008-02-16 12:48:44 +00:00
Daniel Drake
aeeec97fb2
upekts: port to asynchronous model
2008-02-16 12:48:25 +00:00
Daniel Drake
5b1f6a0df7
Port primitive driver layer to asynchronous model
2008-02-16 12:47:56 +00:00
Daniel Drake
69760547df
Disable all drivers while internal API is being reworked
2008-01-30 14:17:08 +00:00
Daniel Drake
bf7093d607
Port to libusb-0.9.0 (synchronous I/O)
...
Straightforward port to libusb-0.9.0 sync I/O functions, to give libusb-1.0
a bit of a test drive and to create a reference point for later.
2008-01-30 14:16:35 +00:00
Gustavo Chain
6f456f399d
Add Secugen FDU2000 driver
...
[dsd@gentoo.org: some trivial changes:
fixed some warnings
fixed fp_img memory leak on error
renamed endpoint constants (calling a bulk endpoint 'ctrl' is confusing,
as a control endpoint is something different)
]
2007-12-27 01:09:32 +00:00
Daniel Drake
659d8346be
Compiler flags update
...
Dropped -Wextra as it is not that useful.
Set compiler flags to be more like the kernel's.
Set std=gnu99
Fixed some warnings.
2007-12-27 01:06:55 +00:00
Daniel Drake
c8aa33da0b
v0.0.5 release
2007-12-07 15:07:07 +00:00
Daniel Drake
642010643d
uru4000: Add support for Microsoft Fingerprint Reader v2
...
After lot 713, Microsoft fingerprint readers changed. The new version
comes with a new USB product ID and a challenge-response authentication
scheme where the device challenges the authenticity of the driver.
An independent third party produced documentation on the computations
needed to convert a challenge into the correct response, and I then used
this documentation to produce a clean-room reimplementation of the
authentication scheme.
2007-12-07 15:05:16 +00:00
Daniel Drake
474da5f2c7
Add a disclaimer for the university
2007-12-07 15:05:13 +00:00
Daniel Drake
c1f8581ec9
Cleanup discover_device in examples
...
Andrei Tchijov pointed out that the discover_device() function is written
in a strange way.
2007-12-01 13:00:33 +00:00
Daniel Drake
3479dee0e4
aeslib: image assembly
...
All 3 authentec drivers now use a shared image assembly function.
2007-11-26 23:28:14 +00:00
Daniel Drake
e228f2c7da
Introduce shared functions for authentec drivers
...
Currently provides register writing functionality only, more common ground
will be moved here soon.
2007-11-26 22:53:41 +00:00
Anthony Bretaudeau
8e0e8e4386
aes1610: imaging improvements
...
bz threshold is now 10 (instead of 15). I think it is ok for the moment.
If we manage to get higher image quality in the future, we'll change that.
max_frame is set to 350. 150 was too low => incomplete fingerprints
the driver was designed to stop the acquisition as soon as it gets a blank
frame (=> incomplete fingerprints). Now it waits to have at least 50 blank
frames before stopping.
2007-11-26 17:51:31 +00:00
Daniel Drake
4e2be56db7
v0.0.4 release
2007-11-22 18:00:15 +00:00
Daniel Drake
1ee6210be3
Hookup AES1610 driver
...
An oversight pointed out by Michele B.
2007-11-22 17:25:27 +00:00
Daniel Drake
69700855e2
Implement identification for imaging devices
2007-11-21 00:30:00 +00:00
Daniel Drake
3f70d6f794
Identification infrastructure
2007-11-20 22:12:24 +00:00
Daniel Drake
dbcd293ab3
v0.0.3 release
2007-11-19 18:41:03 +00:00
Anthony Bretaudeau
c5a550e42c
Add Authentec AES1610 driver
...
This is an active capacitance swipe-type device similar to but smaller
than the AES2501.
Image processing performance is good but matching performance is not so
good. The bozorth3 matcher needs tweaking in order to better cope with
small sets of minutiae.
With a lowered threshold, matching performance is good enough for now.
2007-11-19 18:39:03 +00:00
Daniel Drake
6245acea84
Add API to delete enroll data
2007-11-19 18:29:26 +00:00
Daniel Drake
887e0e6acf
Add API to access minutiae
2007-11-19 00:27:27 +00:00
Daniel Drake
fa742a2142
Use G_N_ELEMENTS macro
2007-11-17 23:47:06 +00:00
Daniel Drake
af945b2738
Version 0.0.2
2007-11-17 13:17:15 +00:00