mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-09 04:40:06 +00:00
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
112 KiB
300x400px
112 KiB
300x400px