Commit Graph
134 Commits
Author SHA1 Message Date
Jared VacantiandMarco Trevisan (Treviño) 5b34908a21 Add driver for SecuGen Hamster Pro 20
Add support for the SecuGen Hamster Pro 20 (1162:2200), a 500 DPI
press-type optical scanner built around the SIDO020A sensor.

The protocol was reverse-engineered from USB packet captures. The
sensor is configured over I2C-tunneled vendor control transfers and
streams 956x688 raw frames over the bulk endpoint, read in 64KB
chunks so the standard pcap-based test tooling can record full
frames (the kernel usbmon interface truncates single URBs at
ring_size/5). Frames are processed with band compensation, an
edge-aware unsharp mask, a fixed-point bilinear downsample to
300x400, flat-field blending and directional sharpening, driven by
per-device factory calibration data read from the device firmware.
The fixed-point pipeline keeps the output bit-identical across
compilers and architectures for the image comparison test.

The sensor has no proximity hardware and its GET_STATUS request
always returns zeros, so finger presence is detected by polling
preview frames and comparing the mean brightness of the central
region against a calibration background frame.

Includes a umockdev capture/replay test with a reference image.

Closes: https://gitlab.freedesktop.org/libfprint/libfprint/-/work_items/353
2026-06-17 19:47:23 +02:00
Jason HuangandMarco Trevisan (Treviño) 9bddd90f06 egis_etu905: Add 1c7a:05ae and 1c7a:9201 fingerprint readers 2026-06-10 10:14:47 +02:00
Marco Trevisan (Treviño) 0c97a47d8e Release 1.94.10 2026-02-10 03:18:14 +01:00
Marco Trevisan (Treviño) dc8b05f0a3 Release 1.94.9 2025-02-20 18:41:27 +01:00
Marco Trevisan (Treviño) c37da8568f build: Use fs to get files basename
We can safely bump meson
2025-02-20 18:41:27 +01:00
Marco Trevisan (Treviño) e401fc10e8 build: Do not use deprecated features in meson 2025-02-20 18:28:15 +01:00
Marco Trevisan (Treviño) db48d1a4e4 build: Adapt meson version to requirements 2025-02-20 18:28:15 +01:00
Marco Trevisan (Treviño) 830a9977c0 build: Support running tests with memory sanitizers
When memory sanitizers are set, tests may fail because we are indirectly
LD_PRELOAD'ing (through umockdev). While we could ensure that sanitizer
libraries are loaded first, it's just something we don't care because we
don't want to test the launcher wrappers themselves.

So, let's just ignore the link order and live with it
2025-02-13 23:51:52 +00:00
Marco Trevisan (Treviño) 133eaab061 uru4000: Use OpenSSL to perform AES-ECB encryption
Drop usage of NSS library now that openssl >= 3.0 has not anymore any
license incompatibility.

OpenSSL will provide us a better ground for further developments and
it's also the preferred crypto library by most distros these days
2025-02-13 18:52:24 +00:00
Marco Trevisan (Treviño) e57bab2f1e Release 1.94.8 2024-09-03 05:14:11 +02:00
Marco Trevisan (Treviño) 78c78432b9 build: Generalize spi drivers detection
Don't be limited to elan only
2024-08-30 04:16:48 +02:00
Daniel SchaeferandMarco Trevisan (Treviño) 10e1cd76aa Don't build SPI driver on non-Linux
Doesn't build on other operating systems.
With auto-detection we don't have to manually select all other drivers.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2024-08-30 04:06:43 +02:00
Marco Trevisan (Treviño) 4b72f27de6 build: Look for sh just once 2024-02-20 08:22:42 +01:00
Marco Trevisan (Treviño) bebe8565cd Release 1.94.7 2024-02-20 01:09:54 +01:00
Marco Trevisan (Treviño) 5501dc7b47 build: Stop using deprecated dep.get_pkgconfig_variable() method
Use generic get_variable() instead
2024-02-20 01:02:00 +01:00
Marco Trevisan (Treviño) 5462db9901 egismoc: Convert the check value to little endian
In this way we can support the big-endian architectures too.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño) ed1815c3d9 build: Allow testing more drivers in both big and little endian
I've tested them in a s390x host and many more tests work fine, so let's
enable them.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño) 057c209beb build: Build-depend on glib 2.68
GLib 2.68 is now more than 3 years old, so we can definitely start
using it without thinking too much.

This allows us to drop lots of compat code that we had around.

And like the previous commit tells us, it will also help us to have
more correct code around.
2024-02-19 22:23:02 +01:00
Joshua GrishamandMarco Trevisan (Treviño) 0b9a64331f Initial commit of egismoc driver 2024-02-19 16:16:02 +01:00
xiaofeiandMarco Trevisan (Treviño) 631da4654f focaltechmoc:Support FocalTech moc devices
Supported UID: 0x2808
    Supported PIDs: 0x9E48, 0xD979, 0xa959
2024-02-13 14:34:12 +01:00
huan_huangandMarco Trevisan 79be91831c drivers: add realtek rts5813 driver 2023-10-27 13:21:06 +00:00
Marco Trevisan (Treviño) 135a015b6a Release 1.94.6 2023-08-17 05:08:04 +02:00
Marco Trevisan (Treviño) ba3cc04e84 tests: Add support for installed tests
They allow distrubtions to check whether libfprint continues working as
expected, in different contexts.
2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) 5e0bf2446b meson: Bump requirements to 0.56 and adapt deprecated functions 2023-06-24 00:28:04 +02:00
Marco Trevisan (Treviño) 1c589336a2 meson: Remove duplicate gnome imports 2023-06-22 06:55:44 +02:00
Bastien Nocera 89509c76f4 build: Print the list of enabled drivers
This saves us from having to figure out which drivers were enabled
during a build in some other way.
2022-11-02 12:04:34 +01:00
Marco Trevisan (Treviño) ddacf07e3b meson: Actually bump the version to 1.94.5 2022-10-13 20:31:28 +00:00
Haowei Lo cca2b6a624 fpcmoc: Support FPC moc devices
Supported PID: 0xFFE0/A305/D805/DA04/D205
2022-10-11 08:11:38 +00:00
Benjamin Berg f20b8bc311 Release 1.94.4 2022-05-24 14:53:52 +02:00
Benjamin Berg da1a56a600 context: Log version number at startup
Having this should at least give us a slightly better idea about the
version that the user has installed. Obviously it is still not very
accurate (maybe a git hash would be good if available?), but it should
still be helpful overall.
2022-04-10 13:58:58 +02:00
Benjamin Berg 8fad2652ee Release 1.94.3 2022-02-11 19:36:43 +01:00
Benjamin Berg 5e4bb26801 Release 1.94.2 2021-11-02 16:28:13 +01:00
Benjamin Berg 7efb860381 Release 1.94.1 2021-09-24 15:01:18 +02:00
Benjamin Berg 909865ed8d Release 1.94.0 2021-08-20 14:36:18 +02:00
Benjamin Berg a68fce0f2c Release 1.92.1 2021-07-19 12:50:13 +02:00
f7290255e0 egistec: Add new driver
This supports 1c7a:0570

Co-Authored-By: Maxim Kolesnikov <kolesnikov@svyazcom.ru>
2021-07-08 13:42:22 +02:00
hermanlinandBenjamin Berg 42676dd300 elanmoc: Add elanmoc driver
Signed-off-by: hermanlin <herman.lin@emc.com.tw>
2021-07-07 13:35:59 +02:00
Benjamin Berg 4bf064d873 meson: Shuffle around driver/helper definition
This should make it clearer what supporting features each driver needs.
2021-07-01 13:19:42 +02:00
Benjamin Berg d2c2410a6f meson: Move source generation into libfprint meson file 2021-07-01 13:19:03 +02:00
Benjamin Berg 0c26205a1e Release 1.92.0 2021-06-30 15:58:12 +02:00
Benjamin Berg ec9e6f1947 meson: Fix udev rules directory detection
There was a copy/paste error and we postfixed it with hwdb.d rather than
rules.d.
2021-06-30 11:14:58 +02:00
Benjamin BergandBenjamin Berg 24658fb351 meson: Add elanspi to list of default drivers
Pretty much all downstream distributions just enable all drivers anyway.
Also, it should work well enough, so it seems right to simply add
elanspi into the list of drivers that are enabled by default.
2021-06-29 17:29:53 +00:00
Benjamin Berg f37e20b8a0 meson: Permit disabling (and forcing) installation of udev rules
In some cases (e.g. inside the flatpak), it does not make sense to
generate and install udev rules.
2021-06-25 09:54:00 +02:00
Matthew MirvishandBenjamin Berg 019a294ec4 elanspi: Add driver supporting various ELAN SPI sensors
Closes: #339
2021-06-23 20:42:52 +00:00
Benjamin BergandBenjamin Berg 9dd72611bf list-udev-rules: Add udev rule generation for SPI 2021-06-22 19:13:48 +00:00
Benjamin BergandBenjamin Berg 4bcb55e412 meson: Fix indentation
Change tab indented areas to 4 spaces.
2021-06-22 19:13:48 +00:00
Benjamin Berg db1e88138b meson: Add dependency to gobject-introspection
We seem to need this to build the introspection bindings.

Closes: #385
2021-06-21 17:07:16 +02:00
Benjamin BergandBenjamin Berg 261ba3a4a4 meson: Add -Wswitch-enum
This would have caught the issue where we forgot to add
FPI_DEVICE_ACTION_CLEAR_STORAGE to fpi_device_action_error.
2021-05-14 15:28:54 +00:00
Huan WangandBenjamin Berg 355957919e Add nb1010 driver 2021-04-12 20:24:13 +02:00
Matthew MirvishandBenjamin Berg b0d9d00762 Add support for udev based device discovery
This is primarily useful for SPI devices. These devices sometimes needs
a combination of an SPI and HID device, so discovery is a bit more
complicated.
2021-04-08 17:08:53 +02:00