компьютер
February 11

Как добавить поддержку USB сканера отпечатка пальцев Chipsailing CS9711 в Ubuntu 25.10

Купил USB сканер отпечатка пальцев Chipsailing CS9711. Продавцы часто называют товар «USB-считыватель отпечатков пальцев U2F Биометрический сканер отпечатков пальцев», так что понять, какой именно чип используется, может быть сложно. А уж идентификатор устройства в системе вообще никогда не указывают.

Для Windows это не так критично (заявлена поддержка Windows 10/11). Для моего сканера отпечатка пальцев автоматически добавился драйвер в Windows 11, так что настройка в данной операционной системе не вызвала проблем.

Но мне было интересно настроить его работу в Ubuntu 25.10. В последних версиях Linux Mint поддержка сканера отпечатка пальцев лучше, чем в Ubuntu с Cinnamon. Но есть обстоятельства, которые заставляют остаться на Ubuntu. Да и стандартная среда рабочего стола Ubuntu мне не нравится, предпочитаю Cinnamon.

В Ubuntu 25.10 выполнил команду "lsusb | grep Chipsailing" в терминале, чтобы получить идентификатор устройства:
lsusb | grep ChipsailingBus 001 Device 031: ID 2541:0236 Chipsailing CS9711Fingprint

Конечно же такое устройство не поддерживается Ubuntu 25.10 из коробки. Пришлось скачивать открытый исходный код libfprint-CS9711, компилировать и устанавливать приложение.

Как добавить поддержка USB сканера отпечатка пальцев Chipsailing CS9711 в Ubuntu 25.10

  1. Первым делом скачаем код с github:
    mkdir githubcd githubgit clone https://github.com/archeYR/libfprint-CS9711.gitcd libfprint-CS9711
  2. Устанавливаем зависимости:
    sudo apt install git build-essential meson ninja-build gobject-introspection libnss3-dev libgudev-1.0-dev gtk-doc-tools libgusb-dev libpixman-1-dev libopencv-dev doctest-dev cmake libcairo2-dev pkg-config libudev-dev systemd-dev
  3. Компилируем приложение (ветка libfprint для CS9711)
    meson setup buildninja -C build
  4. Устанавливаем скомпилированное приложение:
    sudo ninja -C build install
  5. Обновляем кэш библиотеки
    sudo ldconfig
  6. Перезапускаем systemd сервис fprintd:
    systemctl restart fprintd.service
  7. Если до этого шага всё прошло успешно, то можно пробовать добавить отпечаток пальцев следующей командой
    fprintd-enroll
  8. После запуска этой команды прикладываем палец к отпечатку несколько раз, пока он не будет добавлен.
  9. Для команды fprintd-enroll можно указывать имя пользователя и пальца (left-thumb, left-index-finger, left-middle-finger, left-ring-finger, left-little-finger, right-thumb, right-index-finger, right-middle-finger, right-ring-finger, right-little-finger), например для указательного пальца и пользователя alex добавление отпечатка производится таким образом:
    fprintd-enroll alex -f left-index-finger
  10. Если понадобится удалить отпечаток, то можно использовать команду fprintd-delete, для которой можно указывать имя пользователя. Также можно указывать и отпечаток какого пальца удалять, например:
    fprintd-delete alex -f left-index-finger
  11. К сожалению, в "Настройках" -> "Пользователи" в Ubuntu с Cinnamon отсутствует пункт поддержки отпечатков пальцев (хотя он есть в Gnome 49). Но всё можно исправить в терминале.
  12. Чтобы авторизация производилась при помощи отпечатка пальцев нужно ввести следующую команду в терминале:
    sudo pam-auth-update
  13. В появившемся диалоговом окне нужно выбрать авторизацию при помощи отпечатка пальцев (клавишей пробел ставим звёздочку напротив "Fingerprint authentication")

Проверить статус работы fprintd можно при помощи команды:
systemctl status fprintd

Вышеперечисленная последовательность добавляет поддержку отпечатка пальцев. Пользоваться этим можно как при входе в операционную систему, так и вместо ввода пароля в терминале, в частности при обновлении системы при помощи следующей команды:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean && sudo snap refresh