Запуск USB-сканера отпечатков пальцев Chipsailing CS9711 на Linux.
Эти сканеры продаются на маркетплейсах по цене 1-2 т.р. Команда lsusb опознаёт их как
ID 2541:0236 Chipsailing CS9711Fingprint
Официальный fprintd этот сканер не поддерживает, как видно из комментариев, разработчики не могут оценить точность алгоритма sigfm, который используется для съёмки и сравнения отпечатков, поэтому не спешат.
На Arch драйвер должен ставиться из коробки, рецепт для Fedora есть тут, рецепт для Ubuntu приведен ниже.
TL;DR: Суть - аккуратно подменить системную библиотеку libfprint-2 версией отсюда.
1. Скачать и скомпилировать форк libfprint-2 с поддержкой сканера
git clone https://github.com/archeYR/libfprint-CS9711 cd libfprint-CS9711 meson setup build
Последняя команда может выдать ошибку, не найдя в системе пакетов с нужными библиотеками (libgusb-dev, libopencv-dev и т.п.). Надо их поставить и выполнить её снова.
Скомпилировать
ninja -C build
Для проверки работы позапускать примеры
cd build/examples sudo ./enroll sudo ./verify
Установить библиотеку, если всё хорошо (обратите внимание на комментарии к посту)
cd .. # предполагаю, что из build/examples никуда не уходили sudo ninja install
В итоге должен появиться файл /usr/local/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0 (и еще другие, но они не важны)
2. Установить пакет с демоном распознавания по отпечатку пальца
sudo apt install fprintd
Эта команда установит также пакеты с libfprint-2 из системных репозиториев, без поддержки нашего сканера, т.к. fprintd от них зависит.
3. Подменяем библиотеку libfprint-2
Варианты: (1) сказать ld.so загрузить нужную библиотеку перед запуском fprintd, (2) создать в /usr/lib/x86_64-linux-gnu симлинк на правильный файл. У каждого есть плюсы и минусы, что выбрать, решаете Вы.
3.1. Загрузка нужной libfprint-2 в ld.so
sudo systemctl edit fprintd
В открывшемся окне редактора добавить две строки (там сказано, куда)
[Service] Environment="LD_PRELOAD=/usr/local/lib/x86_64-linux-gnu/libfprint-2.so"
... сохранить файл и закрыть редактор.
3.2. Установка правильной ссылки (ld.so не трогаем)
sudo update-alternatives --install\ /usr/lib/x86_64-linux-gnu/libfprint-2.so.2\ libfprint\ /usr/local/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0 100
После любой из манипуляций надо перезапустить fprintd и проверить, что он не выдаёт ошибок:
sudo systemctl restart fprintd sudo systemctl status fprintd
Ожидаемый вывод:
● fprintd.service - Fingerprint Authentication Daemon Loaded: loaded (/usr/lib/systemd/system/fprintd.service; static) Drop-In: /etc/systemd/system/fprintd.service.d └─override.conf Active: active (running) since Tue 2026-02-24 16:02:45 MSK; 1s ago Docs: man:fprintd(1) Main PID: 61913 (fprintd) Tasks: 6 (limit: 37635) Memory: 3.3M (peak: 4.5M) CPU: 93ms CGroup: /system.slice/fprintd.service └─61913 /usr/libexec/fprintd фев 24 16:02:45 machine-name systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon... фев 24 16:02:45 machine-name systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
4. Зарегистрировать пальцы командой fprintd-enroll
По умолчанию регистрируется правый указательный, остальное написано в man fprintd-enroll
5. Включить вход по отпечатку
sudo pam-auth-update
... поставить звёздочку рядом с Fingerprint Authentication и нажать Ok.
Проверено на Kubuntu 24.04.4 LTS.
Ссылки по теме:
https://github.com/archeYR/libfprint-CS9711
https://man7.org/linux/man-pages/man8/ld.so.8.html
https://manpages.ubuntu.com/manpages/noble/man5/pam.conf.5.html









