See fingerprint image #91

Open
opened 2025-11-26 16:45:26 +01:00 by Benjamin_Loison · 50 comments
Owner

DuckDuckGo and Google search Linux get fingerprint reader image.

Should read https://www.iso.org/standard/38746.html

Wikipedia: Fingerprint

Source: the Unix Stack Exchange comment 1448525

https://fprint.freedesktop.org/libfprint-dev/FpImage.html

Source: the Unix Stack Exchange comment 1448691

On my Debian 13 GNOME laptop:

ls -lh /var/lib/fprint/
ls: cannot open directory '/var/lib/fprint/': Permission denied
sudo ls -lh /var/lib/fprint/
total 0
DuckDuckGo and Google search *Linux get fingerprint reader image*. Should read https://www.iso.org/standard/38746.html [Wikipedia: Fingerprint](https://en.wikipedia.org/wiki/Fingerprint) Source: [the Unix Stack Exchange comment 1448525](https://unix.stackexchange.com/questions/759857/how-see-fingerprints-visually-as-images#comment1448525_759857) https://fprint.freedesktop.org/libfprint-dev/FpImage.html Source: [the Unix Stack Exchange comment 1448691](https://unix.stackexchange.com/questions/759857/how-see-fingerprints-visually-as-images#comment1448691_759857) On my Debian 13 GNOME laptop: ``` ls -lh /var/lib/fprint/ ``` ``` ls: cannot open directory '/var/lib/fprint/': Permission denied ``` ``` sudo ls -lh /var/lib/fprint/ ``` ``` total 0 ```
Author
Owner
sudo tree -ls -lh /var/lib/fprint/
Output:
[4.0K]  /var/lib/fprint/
└── [4.0K]  benjamin
    └── [4.0K]  goodixmoc
        └── [4.0K]  UIDFBFDB229_XXXX_MOC_B0
            └── [ 172]  7

4 directories, 1 file

on my Linux Mint 22.2 Cinnamon Framework 13.

``` sudo tree -ls -lh /var/lib/fprint/ ``` <details> <summary>Output:</summary> ``` [4.0K] /var/lib/fprint/ └── [4.0K] benjamin └── [4.0K] goodixmoc └── [4.0K] UIDFBFDB229_XXXX_MOC_B0 └── [ 172] 7 4 directories, 1 file ``` </details> on my Linux Mint 22.2 Cinnamon Framework 13.
Author
Owner
sudo file /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7
/var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7: data
``` sudo file /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7 ``` ``` /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7: data ```
Author
Owner
cat /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7
FP3goodixmocUIDFBFDB229_XXXX_MOC_B0benjaminFP1-20221230-7-YYYYYYYY-benjamin�D
                                                                             FP1-20221230-7-YYYYYYYY-benjamin!(yayay)YYYY&

I only censored with Y.

```bash cat /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7 ``` ``` FP3goodixmocUIDFBFDB229_XXXX_MOC_B0benjaminFP1-20221230-7-YYYYYYYY-benjamin�D FP1-20221230-7-YYYYYYYY-benjamin!(yayay)YYYY& ``` I only censored with `Y`.
Author
Owner
sudo rm /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7

does not return anything.

sudo fprintd-enroll 
Output:
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-remove-and-retry
Enroll result: enroll-stage-passed
Enroll result: enroll-remove-and-retry
Enroll result: enroll-stage-passed
Enroll result: enroll-remove-and-retry
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-retry-scan
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-retry-scan
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed

sudo avoids asking for the password again and again for my tests.

However, it assigns the fingerprint to root:

sudo fprintd-list root
Output:
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
Fingerprints for user root on Goodix MOC Fingerprint Sensor (press):
 - #0: right-index-finger
```bash sudo rm /var/lib/fprint/benjamin/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7 ``` does not return anything. ``` sudo fprintd-enroll ``` <details> <summary>Output:</summary> ``` Using device /net/reactivated/Fprint/Device/0 Enrolling right-index-finger finger. Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-remove-and-retry Enroll result: enroll-stage-passed Enroll result: enroll-remove-and-retry Enroll result: enroll-stage-passed Enroll result: enroll-remove-and-retry Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-retry-scan Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-retry-scan Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-completed ``` </details> `sudo` avoids asking for the password again and again for my tests. However, it assigns the fingerprint to `root`: ``` sudo fprintd-list root ``` <details> <summary>Output:</summary> ``` found 1 devices Device at /net/reactivated/Fprint/Device/0 Using device /net/reactivated/Fprint/Device/0 Fingerprints for user root on Goodix MOC Fingerprint Sensor (press): - #0: right-index-finger ``` </details>
Author
Owner
sudo fprintd-delete root
Output:
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
Fingerprints of user root deleted on Goodix MOC Fingerprint Sensor
``` sudo fprintd-delete root ``` <details> <summary>Output:</summary> ``` found 1 devices Device at /net/reactivated/Fprint/Device/0 Using device /net/reactivated/Fprint/Device/0 Fingerprints of user root deleted on Goodix MOC Fingerprint Sensor ``` </details>
Author
Owner
sudo sudo whoami
root
sudo -u $USER whoami
benjamin_loison

DuckDuckGo and Google search Cinnamon prevent Authentication Required, GNOME prevent Authentication Required, GNOME prevent Authentication Required sudo and GNOME prevent "Authentication Required" sudo.

does not seem to help, maybe the issue is with fprintd, not sudo.

``` sudo sudo whoami ``` ``` root ``` ``` sudo -u $USER whoami ``` ``` benjamin_loison ``` DuckDuckGo and Google search *Cinnamon prevent Authentication Required*, *GNOME prevent Authentication Required*, *GNOME prevent Authentication Required sudo* and `GNOME prevent "Authentication Required" sudo`. does not seem to help, maybe the issue is with fprintd, not `sudo`.
Author
Owner
fprintd-enroll
Output:
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-retry-scan
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-remove-and-retry
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed
fprintd-list $USER
Output:
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
Fingerprints for user benjamin_loison on Goodix MOC Fingerprint Sensor (press):
 - #0: right-index-finger
sudo tree /var/lib/fprint/
Output:
/var/lib/fprint/
├── benjamin
│   └── goodixmoc
│       └── UIDFBFDB229_XXXX_MOC_B0
└── benjamin_loison
    └── goodixmoc
        └── UIDFBFDB229_XXXX_MOC_B0
            └── 7

7 directories, 1 file
sudo rm -R /var/lib/fprint/benjamin/

does not return anything, related to #37.

``` fprintd-enroll ``` <details> <summary>Output:</summary> ``` Using device /net/reactivated/Fprint/Device/0 Enrolling right-index-finger finger. Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-retry-scan Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-remove-and-retry Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-stage-passed Enroll result: enroll-completed ``` </details> ``` fprintd-list $USER ``` <details> <summary>Output:</summary> ``` found 1 devices Device at /net/reactivated/Fprint/Device/0 Using device /net/reactivated/Fprint/Device/0 Fingerprints for user benjamin_loison on Goodix MOC Fingerprint Sensor (press): - #0: right-index-finger ``` </details> ``` sudo tree /var/lib/fprint/ ``` <details> <summary>Output:</summary> ``` /var/lib/fprint/ ├── benjamin │   └── goodixmoc │   └── UIDFBFDB229_XXXX_MOC_B0 └── benjamin_loison └── goodixmoc └── UIDFBFDB229_XXXX_MOC_B0 └── 7 7 directories, 1 file ``` </details> ``` sudo rm -R /var/lib/fprint/benjamin/ ``` does not return anything, related to #37.
Author
Owner

It now works fine, the issue for making the fingerprint work was just the user the fingerprint was assigned to, this should still be considered as a bug as may specify the same fingerprint for 2 different users.

libfprint/fprintd/blob/244be2511f92f3de93ea8fb0b9df70a53f48169c/src/device.c#L2230 is debatable, but as it is not my case anymore, I don't mind.

It now works fine, the issue for making the fingerprint work was just the user the fingerprint was assigned to, this should still be considered as a bug as may specify the same fingerprint for 2 different users. [libfprint/fprintd/blob/244be2511f92f3de93ea8fb0b9df70a53f48169c/src/device.c#L2230](https://gitlab.freedesktop.org/libfprint/fprintd/-/blob/244be2511f92f3de93ea8fb0b9df70a53f48169c/src/device.c#L2230) is debatable, but as it is not my case anymore, I don't mind.
Author
Owner

DuckDuckGo and Google search Linux /var/lib/fprint/ to image.

DuckDuckGo and Google search *Linux /var/lib/fprint/ to image*.
Author
Owner
sudo python3 a.py
Output:
Traceback (most recent call last):
  File "/home/benjamin_loison/a.py", line 2, in <module>
    gi.require_version('FPrint', '2.0')
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 122, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace FPrint not available
sudo python3 a.py
Output:
Traceback (most recent call last):
  File "/home/benjamin_loison/a.py", line 3, in <module>
    from gi.repository import FPrint
  File "/usr/lib/python3/dist-packages/gi/importer.py", line 133, in create_module
    raise ImportError('cannot import name %s, '
ImportError: cannot import name FPrint, introspection typelib not found

DuckDuckGo and Google search "Namespace FPrint not available".

https://community.frame.work/t/reset-fingerprint-scanner/8699/8

https://community.frame.work/t/tracking-fingerprint-scanner-compatibility-with-linux-ubuntu-fedora-etc/1501/146 link does not work anymore.

https://community.frame.work/t/reset-fingerprint-scanner/8699/9 is not satisfying to me.

I quickly read wiki.archlinux.com: Fprint#No devices available (853113).

``` sudo python3 a.py ``` <details> <summary>Output:</summary> ``` Traceback (most recent call last): File "/home/benjamin_loison/a.py", line 2, in <module> gi.require_version('FPrint', '2.0') File "/usr/lib/python3/dist-packages/gi/__init__.py", line 122, in require_version raise ValueError('Namespace %s not available' % namespace) ValueError: Namespace FPrint not available ``` </details> ``` sudo python3 a.py ``` <details> <summary>Output:</summary> ``` Traceback (most recent call last): File "/home/benjamin_loison/a.py", line 3, in <module> from gi.repository import FPrint File "/usr/lib/python3/dist-packages/gi/importer.py", line 133, in create_module raise ImportError('cannot import name %s, ' ImportError: cannot import name FPrint, introspection typelib not found ``` </details> DuckDuckGo and Google search `"Namespace FPrint not available"`. https://community.frame.work/t/reset-fingerprint-scanner/8699/8 https://community.frame.work/t/tracking-fingerprint-scanner-compatibility-with-linux-ubuntu-fedora-etc/1501/146 link does not work anymore. https://community.frame.work/t/reset-fingerprint-scanner/8699/9 is not satisfying to me. I quickly read [wiki.archlinux.com: Fprint#No devices available (853113)](https://wiki.archlinux.org/index.php?title=Fprint&oldid=853113#No_devices_available).
Author
Owner
DuckDuckGo and Google search `FPrint "get_finger"`. https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Print.html#FPrint.Print.get_username https://lazka.github.io/pgi-docs/#FPrint-2.0 https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Print.html#FPrint.Print.get_image
Author
Owner

DuckDuckGo search "gi.require_version".

https://pygobject.gnome.org/guide/api/api.html#gi.require_version

DuckDuckGo search "require_version" "Namespace" "not available".

apt list | grep -i fprint
Output:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

fprintd-doc/noble,noble 1.94.3-1 all
fprintd/noble,now 1.94.3-1 amd64 [installed]
gir1.2-fprint-2.0/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64
libfprint-2-2/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 [installed]
libfprint-2-dev/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64
libfprint-2-doc/noble-updates,noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 all
libfprint-2-tests/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64
libfprint-2-tod-dev/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64
libfprint-2-tod1/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 [installed,automatic]
libpam-fprintd/noble,now 1.94.3-1 amd64 [installed]
sudo apt install -y libfprint-2-dev
Output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  gir1.2-fprint-2.0 gir1.2-gusb-1.0 libgusb-dev libjson-glib-dev
Suggested packages:
  libfprint-2-doc libjson-glib-doc
The following NEW packages will be installed
  gir1.2-fprint-2.0 gir1.2-gusb-1.0 libfprint-2-dev libgusb-dev libjson-glib-dev
0 to upgrade, 5 to newly install, 0 to remove and 1 not to upgrade.
Need to get 155 kB of archives.
After this operation, 1 403 kB of additional disk space will be used.
Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 gir1.2-gusb-1.0 amd64 0.4.8-1build2 [7 452 B]
Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 gir1.2-fprint-2.0 amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [7 234 B]
Get:3 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libjson-glib-dev amd64 1.8.0-2build2 [92,8 kB]
Get:4 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgusb-dev amd64 0.4.8-1build2 [28,7 kB]
Get:5 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 libfprint-2-dev amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [19,2 kB]
Fetched 155 kB in 2s (67,2 kB/s)           
Selecting previously unselected package gir1.2-gusb-1.0:amd64.
(Reading database ... 967088 files and directories currently installed.)
Preparing to unpack .../gir1.2-gusb-1.0_0.4.8-1build2_amd64.deb ...
Unpacking gir1.2-gusb-1.0:amd64 (0.4.8-1build2) ...
Selecting previously unselected package gir1.2-fprint-2.0:amd64.
Preparing to unpack .../gir1.2-fprint-2.0_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ...
Unpacking gir1.2-fprint-2.0:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ...
Selecting previously unselected package libjson-glib-dev:amd64.
Preparing to unpack .../libjson-glib-dev_1.8.0-2build2_amd64.deb ...
Unpacking libjson-glib-dev:amd64 (1.8.0-2build2) ...
Selecting previously unselected package libgusb-dev.
Preparing to unpack .../libgusb-dev_0.4.8-1build2_amd64.deb ...
Unpacking libgusb-dev (0.4.8-1build2) ...
Selecting previously unselected package libfprint-2-dev:amd64.
Preparing to unpack .../libfprint-2-dev_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ...
Unpacking libfprint-2-dev:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ...
Setting up libjson-glib-dev:amd64 (1.8.0-2build2) ...
Setting up gir1.2-gusb-1.0:amd64 (0.4.8-1build2) ...
Setting up libgusb-dev (0.4.8-1build2) ...
Setting up gir1.2-fprint-2.0:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ...
Setting up libfprint-2-dev:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ..
Python script:
import gi
gi.require_version('FPrint', '2.0')
from gi.repository import FPrint

FINGERPRINT_PATH = '/var/lib/fprint/benjamin_loison/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7'
with open(FINGERPRINT_PATH, 'rb') as f:
    fingerprint = FPrint.Print.deserialize(f.read())

print(f'{fingerprint=}')
print(f'{fingerprint.get_username()=}')
print(f'{fingerprint.get_image()=}')
Output:
fingerprint=<FPrint.Print object at 0x7864b2b62cc0 (FpPrint at 0x3538920)>
fingerprint.get_username()='benjamin_loison'
fingerprint.get_image()=None

The image that was used for the print, only valid for newly enrolled prints on image based devices

DuckDuckGo search `"gi.require_version"`. https://pygobject.gnome.org/guide/api/api.html#gi.require_version DuckDuckGo search `"require_version" "Namespace" "not available"`. ``` apt list | grep -i fprint ``` <details> <summary>Output:</summary> ``` WARNING: apt does not have a stable CLI interface. Use with caution in scripts. fprintd-doc/noble,noble 1.94.3-1 all fprintd/noble,now 1.94.3-1 amd64 [installed] gir1.2-fprint-2.0/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 libfprint-2-2/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 [installed] libfprint-2-dev/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 libfprint-2-doc/noble-updates,noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 all libfprint-2-tests/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 libfprint-2-tod-dev/noble-updates 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 libfprint-2-tod1/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.4 amd64 [installed,automatic] libpam-fprintd/noble,now 1.94.3-1 amd64 [installed] ``` </details> ``` sudo apt install -y libfprint-2-dev ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: gir1.2-fprint-2.0 gir1.2-gusb-1.0 libgusb-dev libjson-glib-dev Suggested packages: libfprint-2-doc libjson-glib-doc The following NEW packages will be installed gir1.2-fprint-2.0 gir1.2-gusb-1.0 libfprint-2-dev libgusb-dev libjson-glib-dev 0 to upgrade, 5 to newly install, 0 to remove and 1 not to upgrade. Need to get 155 kB of archives. After this operation, 1 403 kB of additional disk space will be used. Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 gir1.2-gusb-1.0 amd64 0.4.8-1build2 [7 452 B] Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 gir1.2-fprint-2.0 amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [7 234 B] Get:3 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libjson-glib-dev amd64 1.8.0-2build2 [92,8 kB] Get:4 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgusb-dev amd64 0.4.8-1build2 [28,7 kB] Get:5 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 libfprint-2-dev amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [19,2 kB] Fetched 155 kB in 2s (67,2 kB/s) Selecting previously unselected package gir1.2-gusb-1.0:amd64. (Reading database ... 967088 files and directories currently installed.) Preparing to unpack .../gir1.2-gusb-1.0_0.4.8-1build2_amd64.deb ... Unpacking gir1.2-gusb-1.0:amd64 (0.4.8-1build2) ... Selecting previously unselected package gir1.2-fprint-2.0:amd64. Preparing to unpack .../gir1.2-fprint-2.0_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ... Unpacking gir1.2-fprint-2.0:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ... Selecting previously unselected package libjson-glib-dev:amd64. Preparing to unpack .../libjson-glib-dev_1.8.0-2build2_amd64.deb ... Unpacking libjson-glib-dev:amd64 (1.8.0-2build2) ... Selecting previously unselected package libgusb-dev. Preparing to unpack .../libgusb-dev_0.4.8-1build2_amd64.deb ... Unpacking libgusb-dev (0.4.8-1build2) ... Selecting previously unselected package libfprint-2-dev:amd64. Preparing to unpack .../libfprint-2-dev_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ... Unpacking libfprint-2-dev:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ... Setting up libjson-glib-dev:amd64 (1.8.0-2build2) ... Setting up gir1.2-gusb-1.0:amd64 (0.4.8-1build2) ... Setting up libgusb-dev (0.4.8-1build2) ... Setting up gir1.2-fprint-2.0:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) ... Setting up libfprint-2-dev:amd64 (1:1.94.7+tod1-0ubuntu5~24.04.4) .. ``` </details> <details> <summary>Python script:</summary> ```python import gi gi.require_version('FPrint', '2.0') from gi.repository import FPrint FINGERPRINT_PATH = '/var/lib/fprint/benjamin_loison/goodixmoc/UIDFBFDB229_XXXX_MOC_B0/7' with open(FINGERPRINT_PATH, 'rb') as f: fingerprint = FPrint.Print.deserialize(f.read()) print(f'{fingerprint=}') print(f'{fingerprint.get_username()=}') print(f'{fingerprint.get_image()=}') ``` </details> <details> <summary>Output:</summary> ``` fingerprint=<FPrint.Print object at 0x7864b2b62cc0 (FpPrint at 0x3538920)> fingerprint.get_username()='benjamin_loison' fingerprint.get_image()=None ``` </details> > The image that was used for the print, only valid for newly enrolled prints on image based devices
Author
Owner
https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Print.html#FPrint.Print.set_finger does not seem to help. https://lazka.github.io/pgi-docs/FPrint-2.0/classes.html https://lazka.github.io/pgi-docs/FPrint-2.0/classes/ImageDevice.html does not seem to help. https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Context.html does not seem to help. https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Image.html#FPrint.Image.get_data
Author
Owner
https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Device.html looks too complex.
Author
Owner

Other Google search results for "FPrint" "get_image" only mentions the relevant:

https://code.hyprland.org/fdo-mirrors/libfprint/src/tag/v1.94.5/tests/virtual-image.py

libfprint/libfprint

grep -r 'get_image'
Output:
libfprint/fp-print.c: * fp_print_get_image:
libfprint/fp-print.c:fp_print_get_image (FpPrint *print)
libfprint/drivers/elan.c:  if (self->cmd->cmd == get_image_cmd.cmd)
libfprint/drivers/elan.c:          elan_run_cmd (ssm, dev, &get_image_cmd, ELAN_CMD_TIMEOUT);
libfprint/drivers/elan.c:      elan_run_cmd (ssm, dev, &get_image_cmd, ELAN_CMD_TIMEOUT);
libfprint/drivers/elan.h:static const struct elan_cmd get_image_cmd = {
libfprint/fp-print.h:FpImage     *fp_print_get_image (FpPrint *print);
doc/libfprint-2-sections.txt:fp_print_get_image
examples/identify.c:  if (print && fp_print_get_image (print) &&
examples/storage.c:  img = fp_print_get_image (print);
examples/enroll.c:  if (print && fp_print_get_image (print) &&
examples/verify.c:  if (print && fp_print_get_image (print) &&
tests/virtual-image.py:        self.assertIsNone(self._enrolled.get_image())
Other Google search results for `"FPrint" "get_image"` only mentions the relevant: https://code.hyprland.org/fdo-mirrors/libfprint/src/tag/v1.94.5/tests/virtual-image.py [libfprint/libfprint](https://gitlab.freedesktop.org/libfprint/libfprint) ```bash grep -r 'get_image' ``` <details> <summary>Output:</summary> ``` libfprint/fp-print.c: * fp_print_get_image: libfprint/fp-print.c:fp_print_get_image (FpPrint *print) libfprint/drivers/elan.c: if (self->cmd->cmd == get_image_cmd.cmd) libfprint/drivers/elan.c: elan_run_cmd (ssm, dev, &get_image_cmd, ELAN_CMD_TIMEOUT); libfprint/drivers/elan.c: elan_run_cmd (ssm, dev, &get_image_cmd, ELAN_CMD_TIMEOUT); libfprint/drivers/elan.h:static const struct elan_cmd get_image_cmd = { libfprint/fp-print.h:FpImage *fp_print_get_image (FpPrint *print); doc/libfprint-2-sections.txt:fp_print_get_image examples/identify.c: if (print && fp_print_get_image (print) && examples/storage.c: img = fp_print_get_image (print); examples/enroll.c: if (print && fp_print_get_image (print) && examples/verify.c: if (print && fp_print_get_image (print) && tests/virtual-image.py: self.assertIsNone(self._enrolled.get_image()) ``` </details>
Author
Owner
./virtual-image.py 
Output:

(process:38381): libfprint-device-WARNING **: 19:43:31.885: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libfprint-context-Message: 19:43:31.885: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3]
test_capture_prevents_close (__main__.VirtualImage.test_capture_prevents_close) ... Capture operation finished
Capture cancelled as expected
ok
test_enroll_verify (__main__.VirtualImage.test_enroll_verify) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
fp - device - error - quark: An unspecified error occurred! (0)
ok
test_features (__main__.VirtualImage.test_features) ... ok
test_identify (__main__.VirtualImage.test_identify) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Identify finished
Identify finished
Identify finished
fp - device - retry - quark: The swipe was too short, please try again. (1)
Identify finished
fp - device - error - quark: An unspecified error occurred! (0)
ok
test_verify_serialized (__main__.VirtualImage.test_verify_serialized) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
ok

----------------------------------------------------------------------
Ran 5 tests in 4.115s

OK
sudo ./virtual-image.py 
Output:
test_capture_prevents_close (__main__.VirtualImage.test_capture_prevents_close) ... Capture operation finished
Capture cancelled as expected
ok
test_enroll_verify (__main__.VirtualImage.test_enroll_verify) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
fp - device - error - quark: An unspecified error occurred! (0)
ok
test_features (__main__.VirtualImage.test_features) ... ok
test_identify (__main__.VirtualImage.test_identify) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
Identify finished
Identify finished
Identify finished
fp - device - retry - quark: The swipe was too short, please try again. (1)
Identify finished
fp - device - error - quark: An unspecified error occurred! (0)
ok
test_verify_serialized (__main__.VirtualImage.test_verify_serialized) ... Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Print was processed, continuing
Enroll done
ok

----------------------------------------------------------------------
Ran 5 tests in 4.543s

OK

So it does not seem interesting.

``` ./virtual-image.py ``` <details> <summary>Output:</summary> ``` (process:38381): libfprint-device-WARNING **: 19:43:31.885: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13 libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes libfprint-context-Message: 19:43:31.885: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3] test_capture_prevents_close (__main__.VirtualImage.test_capture_prevents_close) ... Capture operation finished Capture cancelled as expected ok test_enroll_verify (__main__.VirtualImage.test_enroll_verify) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done fp - device - error - quark: An unspecified error occurred! (0) ok test_features (__main__.VirtualImage.test_features) ... ok test_identify (__main__.VirtualImage.test_identify) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Identify finished Identify finished Identify finished fp - device - retry - quark: The swipe was too short, please try again. (1) Identify finished fp - device - error - quark: An unspecified error occurred! (0) ok test_verify_serialized (__main__.VirtualImage.test_verify_serialized) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done ok ---------------------------------------------------------------------- Ran 5 tests in 4.115s OK ``` </details> ``` sudo ./virtual-image.py ``` <details> <summary>Output:</summary> ``` test_capture_prevents_close (__main__.VirtualImage.test_capture_prevents_close) ... Capture operation finished Capture cancelled as expected ok test_enroll_verify (__main__.VirtualImage.test_enroll_verify) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done fp - device - error - quark: An unspecified error occurred! (0) ok test_features (__main__.VirtualImage.test_features) ... ok test_identify (__main__.VirtualImage.test_identify) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done Identify finished Identify finished Identify finished fp - device - retry - quark: The swipe was too short, please try again. (1) Identify finished fp - device - error - quark: An unspecified error occurred! (0) ok test_verify_serialized (__main__.VirtualImage.test_verify_serialized) ... Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Print was processed, continuing Enroll done ok ---------------------------------------------------------------------- Ran 5 tests in 4.543s OK ``` </details> So it does not seem interesting.
Author
Owner
grep -r 'pgm'
Output:
identify.c:      print_image_save (print, "identify.pgm"))
identify.c:    g_print ("Print image saved as identify.pgm\n");
img-capture.c:  save_image_to_pgm (image, capture_data->filename);
img-capture.c:    capture_data->filename = "finger.pgm";
storage.c:save_image_to_pgm (FpImage *img, const char *path)
storage.c:      g_critical ("pgm header write failed, error %d", r);
storage.c:    return save_image_to_pgm (img, path);
storage.h:gboolean save_image_to_pgm (FpImage    *img,
enroll.c:      print_image_save (print, "enrolled.pgm"))
enroll.c:    printf ("Wrote scanned image to enrolled.pgm\n");
verify.c:      print_image_save (print, "verify.pgm"))
verify.c:    g_print ("Print image saved as verify.pgm\n");
``` grep -r 'pgm' ``` <details> <summary>Output:</summary> ``` identify.c: print_image_save (print, "identify.pgm")) identify.c: g_print ("Print image saved as identify.pgm\n"); img-capture.c: save_image_to_pgm (image, capture_data->filename); img-capture.c: capture_data->filename = "finger.pgm"; storage.c:save_image_to_pgm (FpImage *img, const char *path) storage.c: g_critical ("pgm header write failed, error %d", r); storage.c: return save_image_to_pgm (img, path); storage.h:gboolean save_image_to_pgm (FpImage *img, enroll.c: print_image_save (print, "enrolled.pgm")) enroll.c: printf ("Wrote scanned image to enrolled.pgm\n"); verify.c: print_image_save (print, "verify.pgm")) verify.c: g_print ("Print image saved as verify.pgm\n"); ``` </details>
Author
Owner
gcc img-capture.c -l libfprint
Output:
img-capture.c:26:10: fatal error: libfprint/fprint.h: No such file or directory
   26 | #include <libfprint/fprint.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
apt show libfprint-2-tests
Output:
Package: libfprint-2-tests
Version: 1:1.94.7+tod1-0ubuntu5~24.04.4
Priority: optional
Section: universe/libs
Source: libfprint
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: FingerForce Team <fingerforce-devel@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 24,8 MB
Depends: gir1.2-fprint-2.0 (= 1:1.94.7+tod1-0ubuntu5~24.04.4), libfprint-2-2 (= 1:1.94.7+tod1-0ubuntu5~24.04.4), python3, python3-cairo, python3-gi, umockdev, libc6 (>= 2.38), libcairo2 (>= 1.2.4), libfprint-2-tod1 (>= 1:1.94.1+tod1), libglib2.0-0t64 (>= 2.54.0)
Homepage: https://www.freedesktop.org/wiki/Software/fprint/libfprint
Download-Size: 6 610 kB
APT-Sources: http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/universe amd64 Packages
Description: Tests for async fingerprint library of fprint project
 The fprint project aims to support for consumer fingerprint reader devices.
 .
 Previously, Linux support for such devices has been scattered amongst different
 projects (many incomplete) and inconsistent in that application developers
 would have to implement support for each type of fingerprint reader separately.
 The idea is to change that by providing a central system to support all the
 fingerprint readers as it's possible to get hands on.
 .
 libfprint is the centre of efforts, this component does the dirty job of
 talking to fingerprint reading devices, and processing fingerprint data.
 .
 This library depends on the new libusb, which performs asynchronous callbacks,
 allowing fprint to perform non-blocking device tasks.
 .
 This package contains test programs, designed to be run as part of a
 regression testsuite.

N: There is 1 additional record. Please use the '-a' switch to see it
``` gcc img-capture.c -l libfprint ``` <details> <summary>Output:</summary> ``` img-capture.c:26:10: fatal error: libfprint/fprint.h: No such file or directory 26 | #include <libfprint/fprint.h> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. ``` </details> ``` apt show libfprint-2-tests ``` <details> <summary>Output:</summary> ``` Package: libfprint-2-tests Version: 1:1.94.7+tod1-0ubuntu5~24.04.4 Priority: optional Section: universe/libs Source: libfprint Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: FingerForce Team <fingerforce-devel@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 24,8 MB Depends: gir1.2-fprint-2.0 (= 1:1.94.7+tod1-0ubuntu5~24.04.4), libfprint-2-2 (= 1:1.94.7+tod1-0ubuntu5~24.04.4), python3, python3-cairo, python3-gi, umockdev, libc6 (>= 2.38), libcairo2 (>= 1.2.4), libfprint-2-tod1 (>= 1:1.94.1+tod1), libglib2.0-0t64 (>= 2.54.0) Homepage: https://www.freedesktop.org/wiki/Software/fprint/libfprint Download-Size: 6 610 kB APT-Sources: http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/universe amd64 Packages Description: Tests for async fingerprint library of fprint project The fprint project aims to support for consumer fingerprint reader devices. . Previously, Linux support for such devices has been scattered amongst different projects (many incomplete) and inconsistent in that application developers would have to implement support for each type of fingerprint reader separately. The idea is to change that by providing a central system to support all the fingerprint readers as it's possible to get hands on. . libfprint is the centre of efforts, this component does the dirty job of talking to fingerprint reading devices, and processing fingerprint data. . This library depends on the new libusb, which performs asynchronous callbacks, allowing fprint to perform non-blocking device tasks. . This package contains test programs, designed to be run as part of a regression testsuite. N: There is 1 additional record. Please use the '-a' switch to see it ``` </details>
Author
Owner
dpkg-query -L libfprint-2-tests
Output:
dpkg-query: package 'libfprint-2-tests' is not installed
Use dpkg --contents (= dpkg-deb --contents) to list archive files contents.
sudo apt install -y libfprint-2-tests
Output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  umockdev
The following NEW packages will be installed
  libfprint-2-tests umockdev
0 to upgrade, 2 to newly install, 0 to remove and 1 not to upgrade.
Need to get 6 683 kB of archives.
After this operation, 25,0 MB of additional disk space will be used.
Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 umockdev amd64 0.18.1-1build1 [72,9 kB]
Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/universe amd64 libfprint-2-tests amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [6 610 kB]
Fetched 6 683 kB in 8s (868 kB/s)                                                                                                         
Selecting previously unselected package umockdev.
(Reading database ... 967191 files and directories currently installed.)
Preparing to unpack .../umockdev_0.18.1-1build1_amd64.deb ...
Unpacking umockdev (0.18.1-1build1) ...
Selecting previously unselected package libfprint-2-tests.
Preparing to unpack .../libfprint-2-tests_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ...
Unpacking libfprint-2-tests (1:1.94.7+tod1-0ubuntu5~24.04.4) ...
Setting up umockdev (0.18.1-1build1) ...
Setting up libfprint-2-tests (1:1.94.7+tod1-0ubuntu5~24.04.4) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
dpkg-query -L libfprint-2-tests
Output:
/.
/usr
/usr/libexec
/usr/libexec/installed-tests
/usr/libexec/installed-tests/libfprint-2
/usr/libexec/installed-tests/libfprint-2/capture.py
/usr/libexec/installed-tests/libfprint-2/test-fp-context
/usr/libexec/installed-tests/libfprint-2/test-fp-context-tod
/usr/libexec/installed-tests/libfprint-2/test-fp-device
/usr/libexec/installed-tests/libfprint-2/test-fp-device-tod
/usr/libexec/installed-tests/libfprint-2/test-fp-todv1-types-tod
/usr/libexec/installed-tests/libfprint-2/test-fpi-assembling
/usr/libexec/installed-tests/libfprint-2/test-fpi-device
/usr/libexec/installed-tests/libfprint-2/test-fpi-device-tod
/usr/libexec/installed-tests/libfprint-2/test-fpi-ssm
/usr/libexec/installed-tests/libfprint-2/tod-drivers
/usr/libexec/installed-tests/libfprint-2/tod-drivers/current
/usr/libexec/installed-tests/libfprint-2/tod-drivers/current/libdevice-fake-tod-driver.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1/libdevice-fake-tod-ssm-test-v1+1.90.1-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1/libdevice-fake-tod-test-driver-v1+1.90.1-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2/libdevice-fake-tod-ssm-test-v1+1.90.2-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2/libdevice-fake-tod-test-driver-v1+1.90.2-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3/libdevice-fake-tod-ssm-test-v1+1.90.3-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3/libdevice-fake-tod-test-driver-v1+1.90.3-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5/libdevice-fake-tod-ssm-test-v1+1.90.5-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5/libdevice-fake-tod-test-driver-v1+1.90.5-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1/libdevice-fake-tod-ssm-test-v1+1.94.1-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1/libdevice-fake-tod-test-driver-v1+1.94.1-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3/libdevice-fake-tod-ssm-test-v1+1.94.3-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3/libdevice-fake-tod-test-driver-v1+1.94.3-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7/libdevice-fake-tod-ssm-test-v1+1.94.7-x86_64.so
/usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7/libdevice-fake-tod-test-driver-v1+1.94.7-x86_64.so
/usr/libexec/installed-tests/libfprint-2/umockdev-test.py
/usr/libexec/installed-tests/libfprint-2/virtual-device.py
/usr/libexec/installed-tests/libfprint-2/virtual-image.py
/usr/share
/usr/share/doc
/usr/share/doc/libfprint-2-tests
/usr/share/doc/libfprint-2-tests/copyright
/usr/share/installed-tests
/usr/share/installed-tests/libfprint-2
/usr/share/installed-tests/libfprint-2/aes2501
/usr/share/installed-tests/libfprint-2/aes2501/capture.pcapng
/usr/share/installed-tests/libfprint-2/aes2501/capture.png
/usr/share/installed-tests/libfprint-2/aes2501/device
/usr/share/installed-tests/libfprint-2/aes3500
/usr/share/installed-tests/libfprint-2/aes3500/capture.ioctl
/usr/share/installed-tests/libfprint-2/aes3500/capture.png
/usr/share/installed-tests/libfprint-2/aes3500/device
/usr/share/installed-tests/libfprint-2/driver-aes2501.test
/usr/share/installed-tests/libfprint-2/driver-aes3500.test
/usr/share/installed-tests/libfprint-2/driver-egis0570.test
/usr/share/installed-tests/libfprint-2/driver-egismoc-05a1.test
/usr/share/installed-tests/libfprint-2/driver-egismoc.test
/usr/share/installed-tests/libfprint-2/driver-elan-cobo.test
/usr/share/installed-tests/libfprint-2/driver-elan.test
/usr/share/installed-tests/libfprint-2/driver-elanmoc.test
/usr/share/installed-tests/libfprint-2/driver-elanspi.test
/usr/share/installed-tests/libfprint-2/driver-focaltech_moc.test
/usr/share/installed-tests/libfprint-2/driver-fpcmoc.test
/usr/share/installed-tests/libfprint-2/driver-goodixmoc.test
/usr/share/installed-tests/libfprint-2/driver-nb1010.test
/usr/share/installed-tests/libfprint-2/driver-realtek.test
/usr/share/installed-tests/libfprint-2/driver-synaptics.test
/usr/share/installed-tests/libfprint-2/driver-upektc_img-tcs1s.test
/usr/share/installed-tests/libfprint-2/driver-upektc_img.test
/usr/share/installed-tests/libfprint-2/driver-uru4000-4500.test
/usr/share/installed-tests/libfprint-2/driver-uru4000-msv2.test
/usr/share/installed-tests/libfprint-2/driver-vfs0050.test
/usr/share/installed-tests/libfprint-2/driver-vfs301.test
/usr/share/installed-tests/libfprint-2/driver-vfs5011.test
/usr/share/installed-tests/libfprint-2/driver-vfs7552.test
/usr/share/installed-tests/libfprint-2/egis0570
/usr/share/installed-tests/libfprint-2/egis0570/capture.pcapng
/usr/share/installed-tests/libfprint-2/egis0570/capture.png
/usr/share/installed-tests/libfprint-2/egis0570/device
/usr/share/installed-tests/libfprint-2/egismoc
/usr/share/installed-tests/libfprint-2/egismoc/custom.pcapng
/usr/share/installed-tests/libfprint-2/egismoc/custom.py
/usr/share/installed-tests/libfprint-2/egismoc/device
/usr/share/installed-tests/libfprint-2/egismoc-05a1
/usr/share/installed-tests/libfprint-2/egismoc-05a1/custom.pcapng
/usr/share/installed-tests/libfprint-2/egismoc-05a1/custom.py
/usr/share/installed-tests/libfprint-2/egismoc-05a1/device
/usr/share/installed-tests/libfprint-2/elan
/usr/share/installed-tests/libfprint-2/elan/capture.ioctl
/usr/share/installed-tests/libfprint-2/elan/capture.ioctl-recording
/usr/share/installed-tests/libfprint-2/elan/capture.png
/usr/share/installed-tests/libfprint-2/elan/device
/usr/share/installed-tests/libfprint-2/elan-cobo
/usr/share/installed-tests/libfprint-2/elan-cobo/capture.pcapng
/usr/share/installed-tests/libfprint-2/elan-cobo/capture.png
/usr/share/installed-tests/libfprint-2/elan-cobo/device
/usr/share/installed-tests/libfprint-2/elanmoc
/usr/share/installed-tests/libfprint-2/elanmoc/custom.pcapng
/usr/share/installed-tests/libfprint-2/elanmoc/custom.py
/usr/share/installed-tests/libfprint-2/elanmoc/device
/usr/share/installed-tests/libfprint-2/elanspi
/usr/share/installed-tests/libfprint-2/elanspi/capture.ioctl
/usr/share/installed-tests/libfprint-2/elanspi/capture.png
/usr/share/installed-tests/libfprint-2/elanspi/device-hidraw
/usr/share/installed-tests/libfprint-2/elanspi/device-spi
/usr/share/installed-tests/libfprint-2/focaltech_moc
/usr/share/installed-tests/libfprint-2/focaltech_moc/custom.pcapng
/usr/share/installed-tests/libfprint-2/focaltech_moc/custom.py
/usr/share/installed-tests/libfprint-2/focaltech_moc/device
/usr/share/installed-tests/libfprint-2/fp-context.test
/usr/share/installed-tests/libfprint-2/fp-device.test
/usr/share/installed-tests/libfprint-2/fpcmoc
/usr/share/installed-tests/libfprint-2/fpcmoc/custom.pcapng
/usr/share/installed-tests/libfprint-2/fpcmoc/custom.py
/usr/share/installed-tests/libfprint-2/fpcmoc/device
/usr/share/installed-tests/libfprint-2/fpi-assembling.test
/usr/share/installed-tests/libfprint-2/fpi-device.test
/usr/share/installed-tests/libfprint-2/fpi-ssm.test
/usr/share/installed-tests/libfprint-2/goodixmoc
/usr/share/installed-tests/libfprint-2/goodixmoc/custom.pcapng
/usr/share/installed-tests/libfprint-2/goodixmoc/custom.py
/usr/share/installed-tests/libfprint-2/goodixmoc/device
/usr/share/installed-tests/libfprint-2/nb1010
/usr/share/installed-tests/libfprint-2/nb1010/capture.ioctl
/usr/share/installed-tests/libfprint-2/nb1010/capture.png
/usr/share/installed-tests/libfprint-2/nb1010/device
/usr/share/installed-tests/libfprint-2/prints
/usr/share/installed-tests/libfprint-2/prints/README
/usr/share/installed-tests/libfprint-2/prints/arch.jpg
/usr/share/installed-tests/libfprint-2/prints/arch.png
/usr/share/installed-tests/libfprint-2/prints/loop-right.jpg
/usr/share/installed-tests/libfprint-2/prints/loop-right.png
/usr/share/installed-tests/libfprint-2/prints/tented_arch.jpg
/usr/share/installed-tests/libfprint-2/prints/tented_arch.png
/usr/share/installed-tests/libfprint-2/prints/whorl.jpg
/usr/share/installed-tests/libfprint-2/prints/whorl.png
/usr/share/installed-tests/libfprint-2/realtek
/usr/share/installed-tests/libfprint-2/realtek/custom.pcapng
/usr/share/installed-tests/libfprint-2/realtek/custom.py
/usr/share/installed-tests/libfprint-2/realtek/device
/usr/share/installed-tests/libfprint-2/synaptics
/usr/share/installed-tests/libfprint-2/synaptics/custom.pcapng
/usr/share/installed-tests/libfprint-2/synaptics/custom.py
/usr/share/installed-tests/libfprint-2/synaptics/device
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_current.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.2.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.5.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.7.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.2.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.5.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.7.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_current.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.2.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.5.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.1.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.3.test
/usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.7.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_current.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.1.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.2.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.3.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.5.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.1.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.3.test
/usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.7.test
/usr/share/installed-tests/libfprint-2/upektc_img
/usr/share/installed-tests/libfprint-2/upektc_img/capture.pcapng
/usr/share/installed-tests/libfprint-2/upektc_img/capture.png
/usr/share/installed-tests/libfprint-2/upektc_img/device
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.pcapng
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.png
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/device
/usr/share/installed-tests/libfprint-2/uru4000-4500
/usr/share/installed-tests/libfprint-2/uru4000-4500/capture.pcapng
/usr/share/installed-tests/libfprint-2/uru4000-4500/capture.png
/usr/share/installed-tests/libfprint-2/uru4000-4500/device
/usr/share/installed-tests/libfprint-2/uru4000-msv2
/usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.pcapng
/usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.png
/usr/share/installed-tests/libfprint-2/uru4000-msv2/device
/usr/share/installed-tests/libfprint-2/vfs0050
/usr/share/installed-tests/libfprint-2/vfs0050/capture-recorded.ioctl
/usr/share/installed-tests/libfprint-2/vfs0050/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs0050/capture.png
/usr/share/installed-tests/libfprint-2/vfs0050/device
/usr/share/installed-tests/libfprint-2/vfs301
/usr/share/installed-tests/libfprint-2/vfs301/capture-recorded.ioctl
/usr/share/installed-tests/libfprint-2/vfs301/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs301/capture.png
/usr/share/installed-tests/libfprint-2/vfs301/device
/usr/share/installed-tests/libfprint-2/vfs5011
/usr/share/installed-tests/libfprint-2/vfs5011/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs5011/capture.png
/usr/share/installed-tests/libfprint-2/vfs5011/device
/usr/share/installed-tests/libfprint-2/vfs7552
/usr/share/installed-tests/libfprint-2/vfs7552/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs7552/capture.png
/usr/share/installed-tests/libfprint-2/vfs7552/device
/usr/share/installed-tests/libfprint-2/virtual-device.test
/usr/share/installed-tests/libfprint-2/virtual-image.test
/usr/share/doc/libfprint-2-tests/changelog.Debian.gz
``` dpkg-query -L libfprint-2-tests ``` <details> <summary>Output:</summary> ``` dpkg-query: package 'libfprint-2-tests' is not installed Use dpkg --contents (= dpkg-deb --contents) to list archive files contents. ``` </details> ``` sudo apt install -y libfprint-2-tests ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: umockdev The following NEW packages will be installed libfprint-2-tests umockdev 0 to upgrade, 2 to newly install, 0 to remove and 1 not to upgrade. Need to get 6 683 kB of archives. After this operation, 25,0 MB of additional disk space will be used. Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 umockdev amd64 0.18.1-1build1 [72,9 kB] Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/universe amd64 libfprint-2-tests amd64 1:1.94.7+tod1-0ubuntu5~24.04.4 [6 610 kB] Fetched 6 683 kB in 8s (868 kB/s) Selecting previously unselected package umockdev. (Reading database ... 967191 files and directories currently installed.) Preparing to unpack .../umockdev_0.18.1-1build1_amd64.deb ... Unpacking umockdev (0.18.1-1build1) ... Selecting previously unselected package libfprint-2-tests. Preparing to unpack .../libfprint-2-tests_1%3a1.94.7+tod1-0ubuntu5~24.04.4_amd64.deb ... Unpacking libfprint-2-tests (1:1.94.7+tod1-0ubuntu5~24.04.4) ... Setting up umockdev (0.18.1-1build1) ... Setting up libfprint-2-tests (1:1.94.7+tod1-0ubuntu5~24.04.4) ... Processing triggers for man-db (2.12.0-4build2) ... Processing triggers for libc-bin (2.39-0ubuntu8.6) ... ``` </details> ``` dpkg-query -L libfprint-2-tests ``` <details> <summary>Output:</summary> ``` /. /usr /usr/libexec /usr/libexec/installed-tests /usr/libexec/installed-tests/libfprint-2 /usr/libexec/installed-tests/libfprint-2/capture.py /usr/libexec/installed-tests/libfprint-2/test-fp-context /usr/libexec/installed-tests/libfprint-2/test-fp-context-tod /usr/libexec/installed-tests/libfprint-2/test-fp-device /usr/libexec/installed-tests/libfprint-2/test-fp-device-tod /usr/libexec/installed-tests/libfprint-2/test-fp-todv1-types-tod /usr/libexec/installed-tests/libfprint-2/test-fpi-assembling /usr/libexec/installed-tests/libfprint-2/test-fpi-device /usr/libexec/installed-tests/libfprint-2/test-fpi-device-tod /usr/libexec/installed-tests/libfprint-2/test-fpi-ssm /usr/libexec/installed-tests/libfprint-2/tod-drivers /usr/libexec/installed-tests/libfprint-2/tod-drivers/current /usr/libexec/installed-tests/libfprint-2/tod-drivers/current/libdevice-fake-tod-driver.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1/libdevice-fake-tod-ssm-test-v1+1.90.1-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.1/libdevice-fake-tod-test-driver-v1+1.90.1-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2/libdevice-fake-tod-ssm-test-v1+1.90.2-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.2/libdevice-fake-tod-test-driver-v1+1.90.2-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3/libdevice-fake-tod-ssm-test-v1+1.90.3-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.3/libdevice-fake-tod-test-driver-v1+1.90.3-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5/libdevice-fake-tod-ssm-test-v1+1.90.5-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.90.5/libdevice-fake-tod-test-driver-v1+1.90.5-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1/libdevice-fake-tod-ssm-test-v1+1.94.1-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.1/libdevice-fake-tod-test-driver-v1+1.94.1-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3/libdevice-fake-tod-ssm-test-v1+1.94.3-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.3/libdevice-fake-tod-test-driver-v1+1.94.3-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7 /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7/libdevice-fake-tod-ssm-test-v1+1.94.7-x86_64.so /usr/libexec/installed-tests/libfprint-2/tod-drivers/tod-x86_64-v1+1.94.7/libdevice-fake-tod-test-driver-v1+1.94.7-x86_64.so /usr/libexec/installed-tests/libfprint-2/umockdev-test.py /usr/libexec/installed-tests/libfprint-2/virtual-device.py /usr/libexec/installed-tests/libfprint-2/virtual-image.py /usr/share /usr/share/doc /usr/share/doc/libfprint-2-tests /usr/share/doc/libfprint-2-tests/copyright /usr/share/installed-tests /usr/share/installed-tests/libfprint-2 /usr/share/installed-tests/libfprint-2/aes2501 /usr/share/installed-tests/libfprint-2/aes2501/capture.pcapng /usr/share/installed-tests/libfprint-2/aes2501/capture.png /usr/share/installed-tests/libfprint-2/aes2501/device /usr/share/installed-tests/libfprint-2/aes3500 /usr/share/installed-tests/libfprint-2/aes3500/capture.ioctl /usr/share/installed-tests/libfprint-2/aes3500/capture.png /usr/share/installed-tests/libfprint-2/aes3500/device /usr/share/installed-tests/libfprint-2/driver-aes2501.test /usr/share/installed-tests/libfprint-2/driver-aes3500.test /usr/share/installed-tests/libfprint-2/driver-egis0570.test /usr/share/installed-tests/libfprint-2/driver-egismoc-05a1.test /usr/share/installed-tests/libfprint-2/driver-egismoc.test /usr/share/installed-tests/libfprint-2/driver-elan-cobo.test /usr/share/installed-tests/libfprint-2/driver-elan.test /usr/share/installed-tests/libfprint-2/driver-elanmoc.test /usr/share/installed-tests/libfprint-2/driver-elanspi.test /usr/share/installed-tests/libfprint-2/driver-focaltech_moc.test /usr/share/installed-tests/libfprint-2/driver-fpcmoc.test /usr/share/installed-tests/libfprint-2/driver-goodixmoc.test /usr/share/installed-tests/libfprint-2/driver-nb1010.test /usr/share/installed-tests/libfprint-2/driver-realtek.test /usr/share/installed-tests/libfprint-2/driver-synaptics.test /usr/share/installed-tests/libfprint-2/driver-upektc_img-tcs1s.test /usr/share/installed-tests/libfprint-2/driver-upektc_img.test /usr/share/installed-tests/libfprint-2/driver-uru4000-4500.test /usr/share/installed-tests/libfprint-2/driver-uru4000-msv2.test /usr/share/installed-tests/libfprint-2/driver-vfs0050.test /usr/share/installed-tests/libfprint-2/driver-vfs301.test /usr/share/installed-tests/libfprint-2/driver-vfs5011.test /usr/share/installed-tests/libfprint-2/driver-vfs7552.test /usr/share/installed-tests/libfprint-2/egis0570 /usr/share/installed-tests/libfprint-2/egis0570/capture.pcapng /usr/share/installed-tests/libfprint-2/egis0570/capture.png /usr/share/installed-tests/libfprint-2/egis0570/device /usr/share/installed-tests/libfprint-2/egismoc /usr/share/installed-tests/libfprint-2/egismoc/custom.pcapng /usr/share/installed-tests/libfprint-2/egismoc/custom.py /usr/share/installed-tests/libfprint-2/egismoc/device /usr/share/installed-tests/libfprint-2/egismoc-05a1 /usr/share/installed-tests/libfprint-2/egismoc-05a1/custom.pcapng /usr/share/installed-tests/libfprint-2/egismoc-05a1/custom.py /usr/share/installed-tests/libfprint-2/egismoc-05a1/device /usr/share/installed-tests/libfprint-2/elan /usr/share/installed-tests/libfprint-2/elan/capture.ioctl /usr/share/installed-tests/libfprint-2/elan/capture.ioctl-recording /usr/share/installed-tests/libfprint-2/elan/capture.png /usr/share/installed-tests/libfprint-2/elan/device /usr/share/installed-tests/libfprint-2/elan-cobo /usr/share/installed-tests/libfprint-2/elan-cobo/capture.pcapng /usr/share/installed-tests/libfprint-2/elan-cobo/capture.png /usr/share/installed-tests/libfprint-2/elan-cobo/device /usr/share/installed-tests/libfprint-2/elanmoc /usr/share/installed-tests/libfprint-2/elanmoc/custom.pcapng /usr/share/installed-tests/libfprint-2/elanmoc/custom.py /usr/share/installed-tests/libfprint-2/elanmoc/device /usr/share/installed-tests/libfprint-2/elanspi /usr/share/installed-tests/libfprint-2/elanspi/capture.ioctl /usr/share/installed-tests/libfprint-2/elanspi/capture.png /usr/share/installed-tests/libfprint-2/elanspi/device-hidraw /usr/share/installed-tests/libfprint-2/elanspi/device-spi /usr/share/installed-tests/libfprint-2/focaltech_moc /usr/share/installed-tests/libfprint-2/focaltech_moc/custom.pcapng /usr/share/installed-tests/libfprint-2/focaltech_moc/custom.py /usr/share/installed-tests/libfprint-2/focaltech_moc/device /usr/share/installed-tests/libfprint-2/fp-context.test /usr/share/installed-tests/libfprint-2/fp-device.test /usr/share/installed-tests/libfprint-2/fpcmoc /usr/share/installed-tests/libfprint-2/fpcmoc/custom.pcapng /usr/share/installed-tests/libfprint-2/fpcmoc/custom.py /usr/share/installed-tests/libfprint-2/fpcmoc/device /usr/share/installed-tests/libfprint-2/fpi-assembling.test /usr/share/installed-tests/libfprint-2/fpi-device.test /usr/share/installed-tests/libfprint-2/fpi-ssm.test /usr/share/installed-tests/libfprint-2/goodixmoc /usr/share/installed-tests/libfprint-2/goodixmoc/custom.pcapng /usr/share/installed-tests/libfprint-2/goodixmoc/custom.py /usr/share/installed-tests/libfprint-2/goodixmoc/device /usr/share/installed-tests/libfprint-2/nb1010 /usr/share/installed-tests/libfprint-2/nb1010/capture.ioctl /usr/share/installed-tests/libfprint-2/nb1010/capture.png /usr/share/installed-tests/libfprint-2/nb1010/device /usr/share/installed-tests/libfprint-2/prints /usr/share/installed-tests/libfprint-2/prints/README /usr/share/installed-tests/libfprint-2/prints/arch.jpg /usr/share/installed-tests/libfprint-2/prints/arch.png /usr/share/installed-tests/libfprint-2/prints/loop-right.jpg /usr/share/installed-tests/libfprint-2/prints/loop-right.png /usr/share/installed-tests/libfprint-2/prints/tented_arch.jpg /usr/share/installed-tests/libfprint-2/prints/tented_arch.png /usr/share/installed-tests/libfprint-2/prints/whorl.jpg /usr/share/installed-tests/libfprint-2/prints/whorl.png /usr/share/installed-tests/libfprint-2/realtek /usr/share/installed-tests/libfprint-2/realtek/custom.pcapng /usr/share/installed-tests/libfprint-2/realtek/custom.py /usr/share/installed-tests/libfprint-2/realtek/device /usr/share/installed-tests/libfprint-2/synaptics /usr/share/installed-tests/libfprint-2/synaptics/custom.pcapng /usr/share/installed-tests/libfprint-2/synaptics/custom.py /usr/share/installed-tests/libfprint-2/synaptics/device /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_current.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.1.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.2.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.3.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.90.5.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.1.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.3.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-fake_test_dev_tod_v1+1.94.7.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.1.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.2.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.3.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.90.5.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.1.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.3.test /usr/share/installed-tests/libfprint-2/tod-fp-context-tod-ssm_test_dev_tod_v1+1.94.7.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_current.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.1.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.2.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.3.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.90.5.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.1.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.3.test /usr/share/installed-tests/libfprint-2/tod-fp-device-tod-fake_test_dev_tod_v1+1.94.7.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_current.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.1.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.2.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.3.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.90.5.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.1.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.3.test /usr/share/installed-tests/libfprint-2/tod-fpi-device-tod-fake_test_dev_tod_v1+1.94.7.test /usr/share/installed-tests/libfprint-2/upektc_img /usr/share/installed-tests/libfprint-2/upektc_img/capture.pcapng /usr/share/installed-tests/libfprint-2/upektc_img/capture.png /usr/share/installed-tests/libfprint-2/upektc_img/device /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.pcapng /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.png /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/device /usr/share/installed-tests/libfprint-2/uru4000-4500 /usr/share/installed-tests/libfprint-2/uru4000-4500/capture.pcapng /usr/share/installed-tests/libfprint-2/uru4000-4500/capture.png /usr/share/installed-tests/libfprint-2/uru4000-4500/device /usr/share/installed-tests/libfprint-2/uru4000-msv2 /usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.pcapng /usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.png /usr/share/installed-tests/libfprint-2/uru4000-msv2/device /usr/share/installed-tests/libfprint-2/vfs0050 /usr/share/installed-tests/libfprint-2/vfs0050/capture-recorded.ioctl /usr/share/installed-tests/libfprint-2/vfs0050/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs0050/capture.png /usr/share/installed-tests/libfprint-2/vfs0050/device /usr/share/installed-tests/libfprint-2/vfs301 /usr/share/installed-tests/libfprint-2/vfs301/capture-recorded.ioctl /usr/share/installed-tests/libfprint-2/vfs301/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs301/capture.png /usr/share/installed-tests/libfprint-2/vfs301/device /usr/share/installed-tests/libfprint-2/vfs5011 /usr/share/installed-tests/libfprint-2/vfs5011/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs5011/capture.png /usr/share/installed-tests/libfprint-2/vfs5011/device /usr/share/installed-tests/libfprint-2/vfs7552 /usr/share/installed-tests/libfprint-2/vfs7552/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs7552/capture.png /usr/share/installed-tests/libfprint-2/vfs7552/device /usr/share/installed-tests/libfprint-2/virtual-device.test /usr/share/installed-tests/libfprint-2/virtual-image.test /usr/share/doc/libfprint-2-tests/changelog.Debian.gz ``` </details>
Author
Owner
dpkg-query -L libfprint-2-tests | grep capture
Output:
/usr/libexec/installed-tests/libfprint-2/capture.py
/usr/share/installed-tests/libfprint-2/aes2501/capture.pcapng
/usr/share/installed-tests/libfprint-2/aes2501/capture.png
/usr/share/installed-tests/libfprint-2/aes3500/capture.ioctl
/usr/share/installed-tests/libfprint-2/aes3500/capture.png
/usr/share/installed-tests/libfprint-2/egis0570/capture.pcapng
/usr/share/installed-tests/libfprint-2/egis0570/capture.png
/usr/share/installed-tests/libfprint-2/elan/capture.ioctl
/usr/share/installed-tests/libfprint-2/elan/capture.ioctl-recording
/usr/share/installed-tests/libfprint-2/elan/capture.png
/usr/share/installed-tests/libfprint-2/elan-cobo/capture.pcapng
/usr/share/installed-tests/libfprint-2/elan-cobo/capture.png
/usr/share/installed-tests/libfprint-2/elanspi/capture.ioctl
/usr/share/installed-tests/libfprint-2/elanspi/capture.png
/usr/share/installed-tests/libfprint-2/nb1010/capture.ioctl
/usr/share/installed-tests/libfprint-2/nb1010/capture.png
/usr/share/installed-tests/libfprint-2/upektc_img/capture.pcapng
/usr/share/installed-tests/libfprint-2/upektc_img/capture.png
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.pcapng
/usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.png
/usr/share/installed-tests/libfprint-2/uru4000-4500/capture.pcapng
/usr/share/installed-tests/libfprint-2/uru4000-4500/capture.png
/usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.pcapng
/usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.png
/usr/share/installed-tests/libfprint-2/vfs0050/capture-recorded.ioctl
/usr/share/installed-tests/libfprint-2/vfs0050/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs0050/capture.png
/usr/share/installed-tests/libfprint-2/vfs301/capture-recorded.ioctl
/usr/share/installed-tests/libfprint-2/vfs301/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs301/capture.png
/usr/share/installed-tests/libfprint-2/vfs5011/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs5011/capture.png
/usr/share/installed-tests/libfprint-2/vfs7552/capture.ioctl
/usr/share/installed-tests/libfprint-2/vfs7552/capture.png
/usr/libexec/installed-tests/libfprint-2/capture.py
Please specify exactly one argument, the output location for the capture image
/usr/libexec/installed-tests/libfprint-2/capture.py a
Output:

(process:39344): libfprint-device-WARNING **: 19:48:30.895: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libfprint-context-Message: 19:48:30.895: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3]
Traceback (most recent call last):
  File "/usr/libexec/installed-tests/libfprint-2/capture.py", line 24, in <module>
    d = devices[0]
        ~~~~~~~^^^
IndexError: list index out of range
sudo /usr/libexec/installed-tests/libfprint-2/capture.py a
Output:
Traceback (most recent call last):
  File "/usr/libexec/installed-tests/libfprint-2/capture.py", line 25, in <module>
    assert d.has_feature(FPrint.DeviceFeature.CAPTURE)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Well it seems that my fingerprint reader does not provide image access.

https://fprint.freedesktop.org/libfprint-dev/FpDevice.html#:~:text=FP_DEVICE_FEATURE_CAPTURE

it is unclear to me if can enroll why can't capture.

dpkg-query -L libfprint-2-tests | grep enroll

does not return anything.

``` dpkg-query -L libfprint-2-tests | grep capture ``` <details> <summary>Output:</summary> ``` /usr/libexec/installed-tests/libfprint-2/capture.py /usr/share/installed-tests/libfprint-2/aes2501/capture.pcapng /usr/share/installed-tests/libfprint-2/aes2501/capture.png /usr/share/installed-tests/libfprint-2/aes3500/capture.ioctl /usr/share/installed-tests/libfprint-2/aes3500/capture.png /usr/share/installed-tests/libfprint-2/egis0570/capture.pcapng /usr/share/installed-tests/libfprint-2/egis0570/capture.png /usr/share/installed-tests/libfprint-2/elan/capture.ioctl /usr/share/installed-tests/libfprint-2/elan/capture.ioctl-recording /usr/share/installed-tests/libfprint-2/elan/capture.png /usr/share/installed-tests/libfprint-2/elan-cobo/capture.pcapng /usr/share/installed-tests/libfprint-2/elan-cobo/capture.png /usr/share/installed-tests/libfprint-2/elanspi/capture.ioctl /usr/share/installed-tests/libfprint-2/elanspi/capture.png /usr/share/installed-tests/libfprint-2/nb1010/capture.ioctl /usr/share/installed-tests/libfprint-2/nb1010/capture.png /usr/share/installed-tests/libfprint-2/upektc_img/capture.pcapng /usr/share/installed-tests/libfprint-2/upektc_img/capture.png /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.pcapng /usr/share/installed-tests/libfprint-2/upektc_img-tcs1s/capture.png /usr/share/installed-tests/libfprint-2/uru4000-4500/capture.pcapng /usr/share/installed-tests/libfprint-2/uru4000-4500/capture.png /usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.pcapng /usr/share/installed-tests/libfprint-2/uru4000-msv2/capture.png /usr/share/installed-tests/libfprint-2/vfs0050/capture-recorded.ioctl /usr/share/installed-tests/libfprint-2/vfs0050/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs0050/capture.png /usr/share/installed-tests/libfprint-2/vfs301/capture-recorded.ioctl /usr/share/installed-tests/libfprint-2/vfs301/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs301/capture.png /usr/share/installed-tests/libfprint-2/vfs5011/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs5011/capture.png /usr/share/installed-tests/libfprint-2/vfs7552/capture.ioctl /usr/share/installed-tests/libfprint-2/vfs7552/capture.png ``` </details> ``` /usr/libexec/installed-tests/libfprint-2/capture.py ``` ``` Please specify exactly one argument, the output location for the capture image ``` ``` /usr/libexec/installed-tests/libfprint-2/capture.py a ``` <details> <summary>Output:</summary> ``` (process:39344): libfprint-device-WARNING **: 19:48:30.895: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13 libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes libfprint-context-Message: 19:48:30.895: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3] Traceback (most recent call last): File "/usr/libexec/installed-tests/libfprint-2/capture.py", line 24, in <module> d = devices[0] ~~~~~~~^^^ IndexError: list index out of range ``` </details> ``` sudo /usr/libexec/installed-tests/libfprint-2/capture.py a ``` <details> <summary>Output:</summary> ``` Traceback (most recent call last): File "/usr/libexec/installed-tests/libfprint-2/capture.py", line 25, in <module> assert d.has_feature(FPrint.DeviceFeature.CAPTURE) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError ``` </details> Well it seems that my fingerprint reader does not provide image access. https://fprint.freedesktop.org/libfprint-dev/FpDevice.html#:~:text=FP_DEVICE_FEATURE_CAPTURE it is unclear to me if can enroll why can't capture. ``` dpkg-query -L libfprint-2-tests | grep enroll ``` does not return anything.
Author
Owner

DuckDuckGo and Google search "fprint.h: No such file or directory".

RogueScholar/fingerprint-gui/issues/4#issuecomment-668893264 helps.

gcc img-capture.c 
Output:
In file included from /usr/include/libfprint-2/fp-device.h:23,
                 from /usr/include/libfprint-2/fp-context.h:22,
                 from /usr/include/libfprint-2/fprint.h:22,
                 from img-capture.c:26:
/usr/include/libfprint-2/fp-image.h:23:10: fatal error: gio/gio.h: No such file or directory
   23 | #include <gio/gio.h>
      |          ^~~~~~~~~~~
compilation terminated.
apt list | grep gio.*dev
Output:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

golang-gir-gio-2.0-dev/noble,noble 2.2.0-1build2 all
golang-github-humanlogio-humanlog-dev/noble-updates,noble-updates,noble-security,noble-security 0.7.6+ds1-3ubuntu0.24.04.3 all
golang-github-jackc-pgio-dev/noble,noble 1.0.0-2 all
golang-github-tombuildsstuff-giovanni-dev/noble,noble 0.20.0-1 all
libghc-gi-gio-dev/noble 2.0.32-1build1 amd64
libghc-gio-dev/noble 0.13.10.0-1build2 amd64
libgio-qt-dev/noble 0.0.12-1build5 amd64
libgio3.0-cil-dev/noble 2.99.3-4.1build2 amd64
libomxil-bellagio-dev/noble 0.9.3-8ubuntu2 amd64
librust-gio-dev/noble 0.19.4-1 amd64
librust-gio-sys-dev/noble 0.19.0-2build1 amd64
sudo apt build-dep -y libfprint-2-tests
Output:
Reading package lists... Done
Picking 'libfprint' as source package instead of 'libfprint-2-tests'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed
  autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools
  libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5
  libsub-override-perl opensp po-debconf
0 to upgrade, 21 to newly install, 0 to remove and 1 not to upgrade.
Need to get 7 233 kB of archives.
After this operation, 93,3 MB of additional disk space will be used.
Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 autopoint all 0.21-14ubuntu2 [422 kB]
Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libdebhelper-perl all 13.14.1ubuntu5 [89,8 kB]
Get:3 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dh-autoreconf all 20 [16,1 kB]
Get:4 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libsub-override-perl all 0.10-1 [10,0 kB]
Get:5 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [18,1 kB]
Get:6 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dh-strip-nondeterminism all 1.13.1-1 [5 362 B]
Get:7 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 debugedit amd64 1:5.0-5build2 [46,1 kB]
Get:8 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dwz amd64 0.15-1build6 [115 kB]
Get:9 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 po-debconf all 1.0.21+nmu1 [233 kB]
Get:10 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 debhelper all 13.14.1ubuntu5 [869 kB]
Get:11 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook all 4.5-10 [120 kB]                                        
Get:12 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 libosp5 amd64 1.5.2-15ubuntu2 [683 kB]                             
Get:13 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 opensp amd64 1.5.2-15ubuntu2 [147 kB]                              
Get:14 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook-to-man amd64 1:2.0.0-46 [79,2 kB]                          
Get:15 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook-xsl all 1.79.2+dfsg-7 [1 070 kB]                           
Get:16 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 gtk-doc-tools all 1.34.0-1 [335 kB]                                
Get:17 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 libglib2.0-doc all 2.80.0-6ubuntu3.4 [2 422 kB]                
Get:18 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgudev-1.0-dev amd64 1:238-5ubuntu1 [27,2 kB]                        
Get:19 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libnspr4-dev amd64 2:4.35-1.1build1 [219 kB]                           
Get:20 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libnss3-dev amd64 2:3.98-1build1 [253 kB]                              
Get:21 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgusb-doc all 0.4.8-1build2 [52,5 kB]                                
Fetched 7 233 kB in 9s (769 kB/s)                                                                                                         
Selecting previously unselected package autopoint.
(Reading database ... 967414 files and directories currently installed.)
Preparing to unpack .../00-autopoint_0.21-14ubuntu2_all.deb ...
Unpacking autopoint (0.21-14ubuntu2) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../01-libdebhelper-perl_13.14.1ubuntu5_all.deb ...
Unpacking libdebhelper-perl (13.14.1ubuntu5) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../02-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../03-libsub-override-perl_0.10-1_all.deb ...
Unpacking libsub-override-perl (0.10-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../04-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../05-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package debugedit.
Preparing to unpack .../06-debugedit_1%3a5.0-5build2_amd64.deb ...
Unpacking debugedit (1:5.0-5build2) ...
Selecting previously unselected package dwz.
Preparing to unpack .../07-dwz_0.15-1build6_amd64.deb ...
Unpacking dwz (0.15-1build6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../08-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../09-debhelper_13.14.1ubuntu5_all.deb ...
Unpacking debhelper (13.14.1ubuntu5) ...
Selecting previously unselected package docbook.
Preparing to unpack .../10-docbook_4.5-10_all.deb ...
Unpacking docbook (4.5-10) ...
Selecting previously unselected package libosp5.
Preparing to unpack .../11-libosp5_1.5.2-15ubuntu2_amd64.deb ...
Unpacking libosp5 (1.5.2-15ubuntu2) ...
Selecting previously unselected package opensp.
Preparing to unpack .../12-opensp_1.5.2-15ubuntu2_amd64.deb ...
Unpacking opensp (1.5.2-15ubuntu2) ...
Selecting previously unselected package docbook-to-man.
Preparing to unpack .../13-docbook-to-man_1%3a2.0.0-46_amd64.deb ...
Unpacking docbook-to-man (1:2.0.0-46) ...
Selecting previously unselected package docbook-xsl.
Preparing to unpack .../14-docbook-xsl_1.79.2+dfsg-7_all.deb ...
Unpacking docbook-xsl (1.79.2+dfsg-7) ...
Selecting previously unselected package gtk-doc-tools.
Preparing to unpack .../15-gtk-doc-tools_1.34.0-1_all.deb ...
Unpacking gtk-doc-tools (1.34.0-1) ...
Selecting previously unselected package libglib2.0-doc.
Preparing to unpack .../16-libglib2.0-doc_2.80.0-6ubuntu3.4_all.deb ...
Unpacking libglib2.0-doc (2.80.0-6ubuntu3.4) ...
Selecting previously unselected package libgudev-1.0-dev:amd64.
Preparing to unpack .../17-libgudev-1.0-dev_1%3a238-5ubuntu1_amd64.deb ...
Unpacking libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ...
Selecting previously unselected package libnspr4-dev.
Preparing to unpack .../18-libnspr4-dev_2%3a4.35-1.1build1_amd64.deb ...
Unpacking libnspr4-dev (2:4.35-1.1build1) ...
Selecting previously unselected package libnss3-dev:amd64.
Preparing to unpack .../19-libnss3-dev_2%3a3.98-1build1_amd64.deb ...
Unpacking libnss3-dev:amd64 (2:3.98-1build1) ...
Selecting previously unselected package libgusb-doc.
Preparing to unpack .../20-libgusb-doc_0.4.8-1build2_all.deb ...
Unpacking libgusb-doc (0.4.8-1build2) ...
Setting up libnspr4-dev (2:4.35-1.1build1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libdebhelper-perl (13.14.1ubuntu5) ...
Setting up libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ...
Setting up libglib2.0-doc (2.80.0-6ubuntu3.4) ...
Setting up libosp5 (1.5.2-15ubuntu2) ...
Setting up docbook-xsl (1.79.2+dfsg-7) ...
Setting up libgusb-doc (0.4.8-1build2) ...
Setting up autopoint (0.21-14ubuntu2) ...
Setting up docbook (4.5-10) ...
Setting up dwz (0.15-1build6) ...
Setting up libnss3-dev:amd64 (2:3.98-1build1) ...
Setting up debugedit (1:5.0-5build2) ...
Setting up libsub-override-perl (0.10-1) ...
Setting up libfile-stripnondeterminism-perl (1.13.1-1) ...
Setting up opensp (1.5.2-15ubuntu2) ...
Setting up dh-autoreconf (20) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up debhelper (13.14.1ubuntu5) ...
Processing triggers for sgml-base (1.31) ...
Processing triggers for doc-base (0.11.2) ...
Processing 10 added doc-base files...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Processing triggers for man-db (2.12.0-4build2) ...
Setting up docbook-to-man (1:2.0.0-46) ...
Setting up gtk-doc-tools (1.34.0-1) ...
/usr/share/gtk-doc/python/gtkdoc/scan.py:44: SyntaxWarning: invalid escape sequence '\s'
  VAR_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS]) + ')*'
/usr/share/gtk-doc/python/gtkdoc/scan.py:45: SyntaxWarning: invalid escape sequence '\s'
  RET_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS + ['G_CONST_RETURN']]) + ')*'
/usr/share/gtk-doc/python/gtkdoc/scan.py:238: SyntaxWarning: invalid escape sequence '\('
  ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)')
/usr/share/gtk-doc/python/gtkdoc/scan.py:239: SyntaxWarning: invalid escape sequence '\s'
  optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:]
/usr/share/gtk-doc/python/gtkdoc/scan.py:487: SyntaxWarning: invalid escape sequence '\('
  ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)')
/usr/share/gtk-doc/python/gtkdoc/scan.py:488: SyntaxWarning: invalid escape sequence '\s'
  optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:]
sudo apt purge -y autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5 libsub-override-perl opensp po-debconf
Output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED
  autopoint* debhelper* debugedit* dh-autoreconf* dh-strip-nondeterminism* docbook* docbook-to-man* docbook-xsl* dwz* gtk-doc-tools*
  libdebhelper-perl* libfile-stripnondeterminism-perl* libglib2.0-doc* libgudev-1.0-dev* libgusb-doc* libnspr4-dev* libnss3-dev* libosp5*
  libsub-override-perl* opensp* po-debconf*
0 to upgrade, 0 to newly install, 21 to remove and 1 not to upgrade.
After this operation, 93,3 MB disk space will be freed.
(Reading database ... 976943 files and directories currently installed.)
Removing debhelper (13.14.1ubuntu5) ...
Removing debugedit (1:5.0-5build2) ...
Removing dh-strip-nondeterminism (1.13.1-1) ...
Removing gtk-doc-tools (1.34.0-1) ...
Removing docbook-to-man (1:2.0.0-46) ...
Removing docbook (4.5-10) ...
Removing docbook-xsl (1.79.2+dfsg-7) ...
Removing dwz (0.15-1build6) ...
Removing libfile-stripnondeterminism-perl (1.13.1-1) ...
Removing libglib2.0-doc (2.80.0-6ubuntu3.4) ...
Removing libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ...
Removing libgusb-doc (0.4.8-1build2) ...
Removing libnss3-dev:amd64 (2:3.98-1build1) ...
Removing libnspr4-dev (2:4.35-1.1build1) ...
Removing opensp (1.5.2-15ubuntu2) ...
Removing libosp5 (1.5.2-15ubuntu2) ...
Removing libsub-override-perl (0.10-1) ...
Removing po-debconf (1.0.21+nmu1) ...
Removing dh-autoreconf (20) ...
Removing autopoint (0.21-14ubuntu2) ...
Removing libdebhelper-perl (13.14.1ubuntu5) ...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for sgml-base (1.31) ...
Processing triggers for doc-base (0.11.2) ...
Processing 10 removed doc-base files...
(Reading database ... 967433 files and directories currently installed.)
Purging configuration files for gtk-doc-tools (1.34.0-1) ...
Purging configuration files for docbook-xsl (1.79.2+dfsg-7) ...
Purging configuration files for docbook (4.5-10) ...
Processing triggers for sgml-base (1.31) ...
sudo apt autoremove -y
Output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade.
DuckDuckGo and Google search `"fprint.h: No such file or directory"`. [RogueScholar/fingerprint-gui/issues/4#issuecomment-668893264](https://github.com/RogueScholar/fingerprint-gui/issues/4#issuecomment-668893264) helps. ``` gcc img-capture.c ``` <details> <summary>Output:</summary> ``` In file included from /usr/include/libfprint-2/fp-device.h:23, from /usr/include/libfprint-2/fp-context.h:22, from /usr/include/libfprint-2/fprint.h:22, from img-capture.c:26: /usr/include/libfprint-2/fp-image.h:23:10: fatal error: gio/gio.h: No such file or directory 23 | #include <gio/gio.h> | ^~~~~~~~~~~ compilation terminated. ``` </details> ``` apt list | grep gio.*dev ``` <details> <summary>Output:</summary> ``` WARNING: apt does not have a stable CLI interface. Use with caution in scripts. golang-gir-gio-2.0-dev/noble,noble 2.2.0-1build2 all golang-github-humanlogio-humanlog-dev/noble-updates,noble-updates,noble-security,noble-security 0.7.6+ds1-3ubuntu0.24.04.3 all golang-github-jackc-pgio-dev/noble,noble 1.0.0-2 all golang-github-tombuildsstuff-giovanni-dev/noble,noble 0.20.0-1 all libghc-gi-gio-dev/noble 2.0.32-1build1 amd64 libghc-gio-dev/noble 0.13.10.0-1build2 amd64 libgio-qt-dev/noble 0.0.12-1build5 amd64 libgio3.0-cil-dev/noble 2.99.3-4.1build2 amd64 libomxil-bellagio-dev/noble 0.9.3-8ubuntu2 amd64 librust-gio-dev/noble 0.19.4-1 amd64 librust-gio-sys-dev/noble 0.19.0-2build1 amd64 ``` </details> ``` sudo apt build-dep -y libfprint-2-tests ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Picking 'libfprint' as source package instead of 'libfprint-2-tests' Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5 libsub-override-perl opensp po-debconf 0 to upgrade, 21 to newly install, 0 to remove and 1 not to upgrade. Need to get 7 233 kB of archives. After this operation, 93,3 MB of additional disk space will be used. Get:1 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 autopoint all 0.21-14ubuntu2 [422 kB] Get:2 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libdebhelper-perl all 13.14.1ubuntu5 [89,8 kB] Get:3 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dh-autoreconf all 20 [16,1 kB] Get:4 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libsub-override-perl all 0.10-1 [10,0 kB] Get:5 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [18,1 kB] Get:6 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dh-strip-nondeterminism all 1.13.1-1 [5 362 B] Get:7 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 debugedit amd64 1:5.0-5build2 [46,1 kB] Get:8 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 dwz amd64 0.15-1build6 [115 kB] Get:9 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] Get:10 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 debhelper all 13.14.1ubuntu5 [869 kB] Get:11 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook all 4.5-10 [120 kB] Get:12 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 libosp5 amd64 1.5.2-15ubuntu2 [683 kB] Get:13 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 opensp amd64 1.5.2-15ubuntu2 [147 kB] Get:14 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook-to-man amd64 1:2.0.0-46 [79,2 kB] Get:15 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 docbook-xsl all 1.79.2+dfsg-7 [1 070 kB] Get:16 http://mirrors.ircam.fr/pub/ubuntu/archive noble/universe amd64 gtk-doc-tools all 1.34.0-1 [335 kB] Get:17 http://mirrors.ircam.fr/pub/ubuntu/archive noble-updates/main amd64 libglib2.0-doc all 2.80.0-6ubuntu3.4 [2 422 kB] Get:18 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgudev-1.0-dev amd64 1:238-5ubuntu1 [27,2 kB] Get:19 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libnspr4-dev amd64 2:4.35-1.1build1 [219 kB] Get:20 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libnss3-dev amd64 2:3.98-1build1 [253 kB] Get:21 http://mirrors.ircam.fr/pub/ubuntu/archive noble/main amd64 libgusb-doc all 0.4.8-1build2 [52,5 kB] Fetched 7 233 kB in 9s (769 kB/s) Selecting previously unselected package autopoint. (Reading database ... 967414 files and directories currently installed.) Preparing to unpack .../00-autopoint_0.21-14ubuntu2_all.deb ... Unpacking autopoint (0.21-14ubuntu2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../01-libdebhelper-perl_13.14.1ubuntu5_all.deb ... Unpacking libdebhelper-perl (13.14.1ubuntu5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../02-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../03-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../04-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../05-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package debugedit. Preparing to unpack .../06-debugedit_1%3a5.0-5build2_amd64.deb ... Unpacking debugedit (1:5.0-5build2) ... Selecting previously unselected package dwz. Preparing to unpack .../07-dwz_0.15-1build6_amd64.deb ... Unpacking dwz (0.15-1build6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../08-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../09-debhelper_13.14.1ubuntu5_all.deb ... Unpacking debhelper (13.14.1ubuntu5) ... Selecting previously unselected package docbook. Preparing to unpack .../10-docbook_4.5-10_all.deb ... Unpacking docbook (4.5-10) ... Selecting previously unselected package libosp5. Preparing to unpack .../11-libosp5_1.5.2-15ubuntu2_amd64.deb ... Unpacking libosp5 (1.5.2-15ubuntu2) ... Selecting previously unselected package opensp. Preparing to unpack .../12-opensp_1.5.2-15ubuntu2_amd64.deb ... Unpacking opensp (1.5.2-15ubuntu2) ... Selecting previously unselected package docbook-to-man. Preparing to unpack .../13-docbook-to-man_1%3a2.0.0-46_amd64.deb ... Unpacking docbook-to-man (1:2.0.0-46) ... Selecting previously unselected package docbook-xsl. Preparing to unpack .../14-docbook-xsl_1.79.2+dfsg-7_all.deb ... Unpacking docbook-xsl (1.79.2+dfsg-7) ... Selecting previously unselected package gtk-doc-tools. Preparing to unpack .../15-gtk-doc-tools_1.34.0-1_all.deb ... Unpacking gtk-doc-tools (1.34.0-1) ... Selecting previously unselected package libglib2.0-doc. Preparing to unpack .../16-libglib2.0-doc_2.80.0-6ubuntu3.4_all.deb ... Unpacking libglib2.0-doc (2.80.0-6ubuntu3.4) ... Selecting previously unselected package libgudev-1.0-dev:amd64. Preparing to unpack .../17-libgudev-1.0-dev_1%3a238-5ubuntu1_amd64.deb ... Unpacking libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ... Selecting previously unselected package libnspr4-dev. Preparing to unpack .../18-libnspr4-dev_2%3a4.35-1.1build1_amd64.deb ... Unpacking libnspr4-dev (2:4.35-1.1build1) ... Selecting previously unselected package libnss3-dev:amd64. Preparing to unpack .../19-libnss3-dev_2%3a3.98-1build1_amd64.deb ... Unpacking libnss3-dev:amd64 (2:3.98-1build1) ... Selecting previously unselected package libgusb-doc. Preparing to unpack .../20-libgusb-doc_0.4.8-1build2_all.deb ... Unpacking libgusb-doc (0.4.8-1build2) ... Setting up libnspr4-dev (2:4.35-1.1build1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libdebhelper-perl (13.14.1ubuntu5) ... Setting up libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ... Setting up libglib2.0-doc (2.80.0-6ubuntu3.4) ... Setting up libosp5 (1.5.2-15ubuntu2) ... Setting up docbook-xsl (1.79.2+dfsg-7) ... Setting up libgusb-doc (0.4.8-1build2) ... Setting up autopoint (0.21-14ubuntu2) ... Setting up docbook (4.5-10) ... Setting up dwz (0.15-1build6) ... Setting up libnss3-dev:amd64 (2:3.98-1build1) ... Setting up debugedit (1:5.0-5build2) ... Setting up libsub-override-perl (0.10-1) ... Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up opensp (1.5.2-15ubuntu2) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up debhelper (13.14.1ubuntu5) ... Processing triggers for sgml-base (1.31) ... Processing triggers for doc-base (0.11.2) ... Processing 10 added doc-base files... Processing triggers for libc-bin (2.39-0ubuntu8.6) ... Processing triggers for man-db (2.12.0-4build2) ... Setting up docbook-to-man (1:2.0.0-46) ... Setting up gtk-doc-tools (1.34.0-1) ... /usr/share/gtk-doc/python/gtkdoc/scan.py:44: SyntaxWarning: invalid escape sequence '\s' VAR_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS]) + ')*' /usr/share/gtk-doc/python/gtkdoc/scan.py:45: SyntaxWarning: invalid escape sequence '\s' RET_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS + ['G_CONST_RETURN']]) + ')*' /usr/share/gtk-doc/python/gtkdoc/scan.py:238: SyntaxWarning: invalid escape sequence '\(' ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)') /usr/share/gtk-doc/python/gtkdoc/scan.py:239: SyntaxWarning: invalid escape sequence '\s' optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:] /usr/share/gtk-doc/python/gtkdoc/scan.py:487: SyntaxWarning: invalid escape sequence '\(' ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)') /usr/share/gtk-doc/python/gtkdoc/scan.py:488: SyntaxWarning: invalid escape sequence '\s' optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:] ``` </details> ``` sudo apt purge -y autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5 libsub-override-perl opensp po-debconf ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED autopoint* debhelper* debugedit* dh-autoreconf* dh-strip-nondeterminism* docbook* docbook-to-man* docbook-xsl* dwz* gtk-doc-tools* libdebhelper-perl* libfile-stripnondeterminism-perl* libglib2.0-doc* libgudev-1.0-dev* libgusb-doc* libnspr4-dev* libnss3-dev* libosp5* libsub-override-perl* opensp* po-debconf* 0 to upgrade, 0 to newly install, 21 to remove and 1 not to upgrade. After this operation, 93,3 MB disk space will be freed. (Reading database ... 976943 files and directories currently installed.) Removing debhelper (13.14.1ubuntu5) ... Removing debugedit (1:5.0-5build2) ... Removing dh-strip-nondeterminism (1.13.1-1) ... Removing gtk-doc-tools (1.34.0-1) ... Removing docbook-to-man (1:2.0.0-46) ... Removing docbook (4.5-10) ... Removing docbook-xsl (1.79.2+dfsg-7) ... Removing dwz (0.15-1build6) ... Removing libfile-stripnondeterminism-perl (1.13.1-1) ... Removing libglib2.0-doc (2.80.0-6ubuntu3.4) ... Removing libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ... Removing libgusb-doc (0.4.8-1build2) ... Removing libnss3-dev:amd64 (2:3.98-1build1) ... Removing libnspr4-dev (2:4.35-1.1build1) ... Removing opensp (1.5.2-15ubuntu2) ... Removing libosp5 (1.5.2-15ubuntu2) ... Removing libsub-override-perl (0.10-1) ... Removing po-debconf (1.0.21+nmu1) ... Removing dh-autoreconf (20) ... Removing autopoint (0.21-14ubuntu2) ... Removing libdebhelper-perl (13.14.1ubuntu5) ... Processing triggers for libc-bin (2.39-0ubuntu8.6) ... Processing triggers for man-db (2.12.0-4build2) ... Processing triggers for sgml-base (1.31) ... Processing triggers for doc-base (0.11.2) ... Processing 10 removed doc-base files... (Reading database ... 967433 files and directories currently installed.) Purging configuration files for gtk-doc-tools (1.34.0-1) ... Purging configuration files for docbook-xsl (1.79.2+dfsg-7) ... Purging configuration files for docbook (4.5-10) ... Processing triggers for sgml-base (1.31) ... ``` </details> ``` sudo apt autoremove -y ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade. ``` </details>
Author
Owner

DuckDuckGo search "gio.h: No such file or directory".

poliva/lightum/issues/52#issuecomment-261789469

sudo apt install -y libsystemd-dev
Output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libsystemd-dev is already the newest version (255.4-1ubuntu8.11).
0 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade.

Google search "gio.h: No such file or directory".

gcc $(pkg-config --libs --cflags glib-2.0) img-capture.c 
Output:
In file included from img-capture.c:29:
storage.h:24:10: fatal error: libfprint/fprint.h: No such file or directory
   24 | #include <libfprint/fprint.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

Source: the Stack Overflow comment 32521945

Note storage.h.

DuckDuckGo search `"gio.h: No such file or directory"`. [poliva/lightum/issues/52#issuecomment-261789469](https://github.com/poliva/lightum/issues/52#issuecomment-261789469) ``` sudo apt install -y libsystemd-dev ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Building dependency tree... Done Reading state information... Done libsystemd-dev is already the newest version (255.4-1ubuntu8.11). 0 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade. ``` </details> Google search `"gio.h: No such file or directory"`. ``` gcc $(pkg-config --libs --cflags glib-2.0) img-capture.c ``` <details> <summary>Output:</summary> ``` In file included from img-capture.c:29: storage.h:24:10: fatal error: libfprint/fprint.h: No such file or directory 24 | #include <libfprint/fprint.h> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. ``` </details> Source: [the Stack Overflow comment 32521945](https://stackoverflow.com/questions/21536380/getting-started-with-c-development-and-gtk#comment32521945_21536418) Note `storage.h`.
Author
Owner
pkg-config --libs --cflags libfprint-2
-I/usr/include/libfprint-2 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -lfprint-2 -lgio-2.0 -lgobject-2.0 -lglib-2.0
ls -lh /usr/include/libfprint-2/
Output:
total 44K
-rw-r--r-- 1 root root 1,7K Feb 20  2024 fp-context.h
-rw-r--r-- 1 root root  18K Feb 20  2024 fp-device.h
-rw-r--r-- 1 root root 1,2K Jun 16 10:28 fp-enums.h
-rw-r--r-- 1 root root 1,1K Feb 20  2024 fp-image-device.h
-rw-r--r-- 1 root root 2,2K Feb 20  2024 fp-image.h
-rw-r--r-- 1 root root 4,0K Feb 20  2024 fp-print.h
-rw-r--r-- 1 root root  922 Feb 20  2024 fprint.h
``` pkg-config --libs --cflags libfprint-2 ``` ``` -I/usr/include/libfprint-2 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -lfprint-2 -lgio-2.0 -lgobject-2.0 -lglib-2.0 ``` ``` ls -lh /usr/include/libfprint-2/ ``` <details> <summary>Output:</summary> ``` total 44K -rw-r--r-- 1 root root 1,7K Feb 20 2024 fp-context.h -rw-r--r-- 1 root root 18K Feb 20 2024 fp-device.h -rw-r--r-- 1 root root 1,2K Jun 16 10:28 fp-enums.h -rw-r--r-- 1 root root 1,1K Feb 20 2024 fp-image-device.h -rw-r--r-- 1 root root 2,2K Feb 20 2024 fp-image.h -rw-r--r-- 1 root root 4,0K Feb 20 2024 fp-print.h -rw-r--r-- 1 root root 922 Feb 20 2024 fprint.h ``` </details>
Author
Owner
sudo ln -s /usr/include/libfprint-2/ /usr/include/libfprint
gcc $(pkg-config --libs --cflags glib-2.0) img-capture.c 
Output:
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `glib_autoptr_clear_GError':
img-capture.c:(.text+0x1b): undefined reference to `g_error_free'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `glib_autoptr_clear_GObject':
img-capture.c:(.text+0x59): undefined reference to `g_object_unref'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `capture_data_free':
img-capture.c:(.text+0xd8): undefined reference to `g_source_remove'
/usr/bin/ld: img-capture.c:(.text+0x10d): undefined reference to `g_object_unref'
/usr/bin/ld: img-capture.c:(.text+0x11c): undefined reference to `g_main_loop_unref'
/usr/bin/ld: img-capture.c:(.text+0x128): undefined reference to `g_free'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `on_device_closed':
img-capture.c:(.text+0x1b7): undefined reference to `fp_device_close_finish'
/usr/bin/ld: img-capture.c:(.text+0x1e9): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x1f8): undefined reference to `g_main_loop_quit'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `capture_quit':
img-capture.c:(.text+0x23b): undefined reference to `fp_device_is_open'
/usr/bin/ld: img-capture.c:(.text+0x24e): undefined reference to `g_main_loop_quit'
/usr/bin/ld: img-capture.c:(.text+0x26f): undefined reference to `fp_device_close'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `dev_capture_cb':
img-capture.c:(.text+0x2e6): undefined reference to `g_object_unref'
/usr/bin/ld: img-capture.c:(.text+0x2fd): undefined reference to `fp_device_capture_finish'
/usr/bin/ld: img-capture.c:(.text+0x331): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `start_capture':
img-capture.c:(.text+0x3de): undefined reference to `fp_device_capture'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `on_device_opened':
img-capture.c:(.text+0x430): undefined reference to `fp_device_open_finish'
/usr/bin/ld: img-capture.c:(.text+0x45d): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x48b): undefined reference to `g_print'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `sigint_cb':
img-capture.c:(.text+0x4f4): undefined reference to `g_cancellable_cancel'
/usr/bin/ld: /tmp/ccZAUIwD.o: in function `main':
img-capture.c:(.text+0x56f): undefined reference to `fp_context_new'
/usr/bin/ld: img-capture.c:(.text+0x57f): undefined reference to `fp_context_get_devices'
/usr/bin/ld: img-capture.c:(.text+0x5a8): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x5be): undefined reference to `discover_device'
/usr/bin/ld: img-capture.c:(.text+0x5e7): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x602): undefined reference to `fp_device_has_feature'
/usr/bin/ld: img-capture.c:(.text+0x612): undefined reference to `fp_device_get_name'
/usr/bin/ld: img-capture.c:(.text+0x633): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x64c): undefined reference to `g_malloc0_n'
/usr/bin/ld: img-capture.c:(.text+0x66e): undefined reference to `g_main_loop_new'
/usr/bin/ld: img-capture.c:(.text+0x67a): undefined reference to `g_cancellable_new'
/usr/bin/ld: img-capture.c:(.text+0x6a8): undefined reference to `g_unix_signal_add_full'
/usr/bin/ld: img-capture.c:(.text+0x6f4): undefined reference to `fp_device_open'
/usr/bin/ld: img-capture.c:(.text+0x703): undefined reference to `g_main_loop_run'
collect2: error: ld returned 1 exit status
```bash sudo ln -s /usr/include/libfprint-2/ /usr/include/libfprint gcc $(pkg-config --libs --cflags glib-2.0) img-capture.c ``` <details> <summary>Output:</summary> ``` /usr/bin/ld: /tmp/ccZAUIwD.o: in function `glib_autoptr_clear_GError': img-capture.c:(.text+0x1b): undefined reference to `g_error_free' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `glib_autoptr_clear_GObject': img-capture.c:(.text+0x59): undefined reference to `g_object_unref' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `capture_data_free': img-capture.c:(.text+0xd8): undefined reference to `g_source_remove' /usr/bin/ld: img-capture.c:(.text+0x10d): undefined reference to `g_object_unref' /usr/bin/ld: img-capture.c:(.text+0x11c): undefined reference to `g_main_loop_unref' /usr/bin/ld: img-capture.c:(.text+0x128): undefined reference to `g_free' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `on_device_closed': img-capture.c:(.text+0x1b7): undefined reference to `fp_device_close_finish' /usr/bin/ld: img-capture.c:(.text+0x1e9): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x1f8): undefined reference to `g_main_loop_quit' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `capture_quit': img-capture.c:(.text+0x23b): undefined reference to `fp_device_is_open' /usr/bin/ld: img-capture.c:(.text+0x24e): undefined reference to `g_main_loop_quit' /usr/bin/ld: img-capture.c:(.text+0x26f): undefined reference to `fp_device_close' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `dev_capture_cb': img-capture.c:(.text+0x2e6): undefined reference to `g_object_unref' /usr/bin/ld: img-capture.c:(.text+0x2fd): undefined reference to `fp_device_capture_finish' /usr/bin/ld: img-capture.c:(.text+0x331): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `start_capture': img-capture.c:(.text+0x3de): undefined reference to `fp_device_capture' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `on_device_opened': img-capture.c:(.text+0x430): undefined reference to `fp_device_open_finish' /usr/bin/ld: img-capture.c:(.text+0x45d): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x48b): undefined reference to `g_print' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `sigint_cb': img-capture.c:(.text+0x4f4): undefined reference to `g_cancellable_cancel' /usr/bin/ld: /tmp/ccZAUIwD.o: in function `main': img-capture.c:(.text+0x56f): undefined reference to `fp_context_new' /usr/bin/ld: img-capture.c:(.text+0x57f): undefined reference to `fp_context_get_devices' /usr/bin/ld: img-capture.c:(.text+0x5a8): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x5be): undefined reference to `discover_device' /usr/bin/ld: img-capture.c:(.text+0x5e7): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x602): undefined reference to `fp_device_has_feature' /usr/bin/ld: img-capture.c:(.text+0x612): undefined reference to `fp_device_get_name' /usr/bin/ld: img-capture.c:(.text+0x633): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x64c): undefined reference to `g_malloc0_n' /usr/bin/ld: img-capture.c:(.text+0x66e): undefined reference to `g_main_loop_new' /usr/bin/ld: img-capture.c:(.text+0x67a): undefined reference to `g_cancellable_new' /usr/bin/ld: img-capture.c:(.text+0x6a8): undefined reference to `g_unix_signal_add_full' /usr/bin/ld: img-capture.c:(.text+0x6f4): undefined reference to `fp_device_open' /usr/bin/ld: img-capture.c:(.text+0x703): undefined reference to `g_main_loop_run' collect2: error: ld returned 1 exit status ``` </details>
Author
Owner
gcc $(pkg-config --libs --cflags libfprint-2) img-capture.c 
Output:
/usr/bin/ld: /tmp/ccnDU36A.o: in function `glib_autoptr_clear_GError':
img-capture.c:(.text+0x1b): undefined reference to `g_error_free'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `glib_autoptr_clear_GObject':
img-capture.c:(.text+0x59): undefined reference to `g_object_unref'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `capture_data_free':
img-capture.c:(.text+0xd8): undefined reference to `g_source_remove'
/usr/bin/ld: img-capture.c:(.text+0x10d): undefined reference to `g_object_unref'
/usr/bin/ld: img-capture.c:(.text+0x11c): undefined reference to `g_main_loop_unref'
/usr/bin/ld: img-capture.c:(.text+0x128): undefined reference to `g_free'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `on_device_closed':
img-capture.c:(.text+0x1b7): undefined reference to `fp_device_close_finish'
/usr/bin/ld: img-capture.c:(.text+0x1e9): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x1f8): undefined reference to `g_main_loop_quit'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `capture_quit':
img-capture.c:(.text+0x23b): undefined reference to `fp_device_is_open'
/usr/bin/ld: img-capture.c:(.text+0x24e): undefined reference to `g_main_loop_quit'
/usr/bin/ld: img-capture.c:(.text+0x26f): undefined reference to `fp_device_close'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `dev_capture_cb':
img-capture.c:(.text+0x2e6): undefined reference to `g_object_unref'
/usr/bin/ld: img-capture.c:(.text+0x2fd): undefined reference to `fp_device_capture_finish'
/usr/bin/ld: img-capture.c:(.text+0x331): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `start_capture':
img-capture.c:(.text+0x3de): undefined reference to `fp_device_capture'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `on_device_opened':
img-capture.c:(.text+0x430): undefined reference to `fp_device_open_finish'
/usr/bin/ld: img-capture.c:(.text+0x45d): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x48b): undefined reference to `g_print'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `sigint_cb':
img-capture.c:(.text+0x4f4): undefined reference to `g_cancellable_cancel'
/usr/bin/ld: /tmp/ccnDU36A.o: in function `main':
img-capture.c:(.text+0x56f): undefined reference to `fp_context_new'
/usr/bin/ld: img-capture.c:(.text+0x57f): undefined reference to `fp_context_get_devices'
/usr/bin/ld: img-capture.c:(.text+0x5a8): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x5be): undefined reference to `discover_device'
/usr/bin/ld: img-capture.c:(.text+0x5e7): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x602): undefined reference to `fp_device_has_feature'
/usr/bin/ld: img-capture.c:(.text+0x612): undefined reference to `fp_device_get_name'
/usr/bin/ld: img-capture.c:(.text+0x633): undefined reference to `g_log'
/usr/bin/ld: img-capture.c:(.text+0x64c): undefined reference to `g_malloc0_n'
/usr/bin/ld: img-capture.c:(.text+0x66e): undefined reference to `g_main_loop_new'
/usr/bin/ld: img-capture.c:(.text+0x67a): undefined reference to `g_cancellable_new'
/usr/bin/ld: img-capture.c:(.text+0x6a8): undefined reference to `g_unix_signal_add_full'
/usr/bin/ld: img-capture.c:(.text+0x6f4): undefined reference to `fp_device_open'
/usr/bin/ld: img-capture.c:(.text+0x703): undefined reference to `g_main_loop_run'
collect2: error: ld returned 1 exit status
``` gcc $(pkg-config --libs --cflags libfprint-2) img-capture.c ``` <details> <summary>Output:</summary> ``` /usr/bin/ld: /tmp/ccnDU36A.o: in function `glib_autoptr_clear_GError': img-capture.c:(.text+0x1b): undefined reference to `g_error_free' /usr/bin/ld: /tmp/ccnDU36A.o: in function `glib_autoptr_clear_GObject': img-capture.c:(.text+0x59): undefined reference to `g_object_unref' /usr/bin/ld: /tmp/ccnDU36A.o: in function `capture_data_free': img-capture.c:(.text+0xd8): undefined reference to `g_source_remove' /usr/bin/ld: img-capture.c:(.text+0x10d): undefined reference to `g_object_unref' /usr/bin/ld: img-capture.c:(.text+0x11c): undefined reference to `g_main_loop_unref' /usr/bin/ld: img-capture.c:(.text+0x128): undefined reference to `g_free' /usr/bin/ld: /tmp/ccnDU36A.o: in function `on_device_closed': img-capture.c:(.text+0x1b7): undefined reference to `fp_device_close_finish' /usr/bin/ld: img-capture.c:(.text+0x1e9): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x1f8): undefined reference to `g_main_loop_quit' /usr/bin/ld: /tmp/ccnDU36A.o: in function `capture_quit': img-capture.c:(.text+0x23b): undefined reference to `fp_device_is_open' /usr/bin/ld: img-capture.c:(.text+0x24e): undefined reference to `g_main_loop_quit' /usr/bin/ld: img-capture.c:(.text+0x26f): undefined reference to `fp_device_close' /usr/bin/ld: /tmp/ccnDU36A.o: in function `dev_capture_cb': img-capture.c:(.text+0x2e6): undefined reference to `g_object_unref' /usr/bin/ld: img-capture.c:(.text+0x2fd): undefined reference to `fp_device_capture_finish' /usr/bin/ld: img-capture.c:(.text+0x331): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm' /usr/bin/ld: /tmp/ccnDU36A.o: in function `start_capture': img-capture.c:(.text+0x3de): undefined reference to `fp_device_capture' /usr/bin/ld: /tmp/ccnDU36A.o: in function `on_device_opened': img-capture.c:(.text+0x430): undefined reference to `fp_device_open_finish' /usr/bin/ld: img-capture.c:(.text+0x45d): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x48b): undefined reference to `g_print' /usr/bin/ld: /tmp/ccnDU36A.o: in function `sigint_cb': img-capture.c:(.text+0x4f4): undefined reference to `g_cancellable_cancel' /usr/bin/ld: /tmp/ccnDU36A.o: in function `main': img-capture.c:(.text+0x56f): undefined reference to `fp_context_new' /usr/bin/ld: img-capture.c:(.text+0x57f): undefined reference to `fp_context_get_devices' /usr/bin/ld: img-capture.c:(.text+0x5a8): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x5be): undefined reference to `discover_device' /usr/bin/ld: img-capture.c:(.text+0x5e7): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x602): undefined reference to `fp_device_has_feature' /usr/bin/ld: img-capture.c:(.text+0x612): undefined reference to `fp_device_get_name' /usr/bin/ld: img-capture.c:(.text+0x633): undefined reference to `g_log' /usr/bin/ld: img-capture.c:(.text+0x64c): undefined reference to `g_malloc0_n' /usr/bin/ld: img-capture.c:(.text+0x66e): undefined reference to `g_main_loop_new' /usr/bin/ld: img-capture.c:(.text+0x67a): undefined reference to `g_cancellable_new' /usr/bin/ld: img-capture.c:(.text+0x6a8): undefined reference to `g_unix_signal_add_full' /usr/bin/ld: img-capture.c:(.text+0x6f4): undefined reference to `fp_device_open' /usr/bin/ld: img-capture.c:(.text+0x703): undefined reference to `g_main_loop_run' collect2: error: ld returned 1 exit status ``` </details>
Author
Owner
meson build
Output:
The Meson build system
Version: 1.3.2
Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples
Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples/build
Build type: native build

ERROR: Not the project root: first statement must be a call to project()

Did you mean to run meson from the directory: "/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint"?

A full log can be found at /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples/build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
``` meson build ``` <details> <summary>Output:</summary> ``` The Meson build system Version: 1.3.2 Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples/build Build type: native build ERROR: Not the project root: first statement must be a call to project() Did you mean to run meson from the directory: "/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint"? A full log can be found at /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/examples/build/meson-logs/meson-log.txt WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated. ``` </details>
Author
Owner
meson.build:

examples = [
    'enroll',
    'identify',
    'img-capture',
    'manage-prints',
    'verify',
    'clear-storage',
]

foreach example: examples
    executable(example,
        [ example + '.c', 'storage.c', 'utilities.c' ],
        dependencies: [
            libfprint_dep,
            glib_dep,
        ],
    )
endforeach

executable('cpp-test',
    'cpp-test.cpp',
    dependencies: libfprint_dep,
)

if installed_tests
    install_subdir('prints',
        install_dir: installed_tests_testdir)
endif
<details> <summary><code>meson.build</code>:</summary> ``` examples = [ 'enroll', 'identify', 'img-capture', 'manage-prints', 'verify', 'clear-storage', ] foreach example: examples executable(example, [ example + '.c', 'storage.c', 'utilities.c' ], dependencies: [ libfprint_dep, glib_dep, ], ) endforeach executable('cpp-test', 'cpp-test.cpp', dependencies: libfprint_dep, ) if installed_tests install_subdir('prints', install_dir: installed_tests_testdir) endif ``` </details>
Author
Owner
ls -lh prints/
Output:
total 604K
-rw-rw-r-- 1 benjamin_loison benjamin_loison  18K Nov 26 19:40 arch.jpg
-rw-rw-r-- 1 benjamin_loison benjamin_loison 121K Nov 26 19:40 arch.png
-rw-rw-r-- 1 benjamin_loison benjamin_loison  18K Nov 26 19:40 loop-right.jpg
-rw-rw-r-- 1 benjamin_loison benjamin_loison 120K Nov 26 19:40 loop-right.png
-rw-rw-r-- 1 benjamin_loison benjamin_loison  139 Nov 26 19:40 README
-rw-rw-r-- 1 benjamin_loison benjamin_loison  15K Nov 26 19:40 tented_arch.jpg
-rw-rw-r-- 1 benjamin_loison benjamin_loison 108K Nov 26 19:40 tented_arch.png
-rw-rw-r-- 1 benjamin_loison benjamin_loison  15K Nov 26 19:40 whorl.jpg
-rw-rw-r-- 1 benjamin_loison benjamin_loison 103K Nov 26 19:40 whorl.png
prints/README:
These are example images from NIST and are in the public domain.

The PNG files have been generated by using the greyscale data as a mask.
``` ls -lh prints/ ``` <details> <summary>Output:</summary> ``` total 604K -rw-rw-r-- 1 benjamin_loison benjamin_loison 18K Nov 26 19:40 arch.jpg -rw-rw-r-- 1 benjamin_loison benjamin_loison 121K Nov 26 19:40 arch.png -rw-rw-r-- 1 benjamin_loison benjamin_loison 18K Nov 26 19:40 loop-right.jpg -rw-rw-r-- 1 benjamin_loison benjamin_loison 120K Nov 26 19:40 loop-right.png -rw-rw-r-- 1 benjamin_loison benjamin_loison 139 Nov 26 19:40 README -rw-rw-r-- 1 benjamin_loison benjamin_loison 15K Nov 26 19:40 tented_arch.jpg -rw-rw-r-- 1 benjamin_loison benjamin_loison 108K Nov 26 19:40 tented_arch.png -rw-rw-r-- 1 benjamin_loison benjamin_loison 15K Nov 26 19:40 whorl.jpg -rw-rw-r-- 1 benjamin_loison benjamin_loison 103K Nov 26 19:40 whorl.png ``` </details> <details> <summary><code>prints/README</code>:</summary> ``` These are example images from NIST and are in the public domain. The PNG files have been generated by using the greyscale data as a mask. ``` </details>
Author
Owner

The images are fingerprints.

The images are fingerprints.
Author
Owner
[libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/README.md](https://gitlab.freedesktop.org/libfprint/libfprint/-/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/README.md) does not help compiling.
Author
Owner
[libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/HACKING.md](https://gitlab.freedesktop.org/libfprint/libfprint/-/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/HACKING.md) does not seem to help.
Author
Owner
meson build
Output:
The Meson build system
Version: 1.3.2
Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint
Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build
Build type: native build
Project name: libfprint
Project version: 1.94.9
C compiler for the host machine: ccache cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
C linker for the host machine: cc ld.bfd 2.42
C++ compiler for the host machine: ccache c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
C++ linker for the host machine: c++ ld.bfd 2.42
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wcast-align: YES 
Compiler for C supports arguments -Wformat-nonliteral: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wformat=2: YES 
Compiler for C supports arguments -Wignored-qualifiers: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -Wmissing-format-attribute: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wmissing-noreturn: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wshadow: YES 
Compiler for C supports arguments -Wswitch-enum: YES 
Compiler for C supports arguments -Wtype-limits: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wunused: YES 
Compiler for C supports arguments -Werror=address: YES 
Compiler for C supports arguments -Werror=array-bounds: YES 
Compiler for C supports arguments -Werror=empty-body: YES 
Compiler for C supports arguments -Werror=init-self: YES 
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES 
Compiler for C supports arguments -Werror=main: YES 
Compiler for C supports arguments -Werror=missing-braces: YES 
Compiler for C supports arguments -Werror=nonnull: YES 
Compiler for C supports arguments -Werror=redundant-decls: YES 
Compiler for C supports arguments -Werror=return-type: YES 
Compiler for C supports arguments -Werror=sequence-point: YES 
Compiler for C supports arguments -Werror=trigraphs: YES 
Compiler for C supports arguments -Werror=write-strings: YES 
Compiler for C supports arguments -fno-strict-aliasing: YES 
Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -D_GNU_SOURCE: YES 
Compiler for C supports arguments -DG_LOG_DOMAIN="libfprint": YES 
Compiler for C supports arguments -Wimplicit-function-declaration: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Wnested-externs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Werror=implicit: YES 
Compiler for C supports arguments -Werror=pointer-to-int-cast: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
Run-time dependency glib-2.0 found: YES 2.80.0
Run-time dependency gio-unix-2.0 found: YES 2.80.0
Run-time dependency gobject-2.0 found: YES 2.80.0
Run-time dependency gusb found: YES 0.4.8
Library m found: YES
Program sh found: YES (/usr/bin/sh)
Run-time dependency cairo found: YES 1.18.0
Run-time dependency gobject-introspection-1.0 found: YES 1.80.1
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency openssl found: YES 3.0.13
WARNING: Found CMake '/home/benjamin_loison/.local/bin/cmake' but couldn't run it
Found CMake: NO
Run-time dependency gudev-1.0 found: NO (tried pkgconfig and cmake)

meson.build:281:12: ERROR: Problem encountered: udev is required for SPI support

A full log can be found at /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
``` meson build ``` <details> <summary>Output:</summary> ``` The Meson build system Version: 1.3.2 Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build Build type: native build Project name: libfprint Project version: 1.94.9 C compiler for the host machine: ccache cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C linker for the host machine: cc ld.bfd 2.42 C++ compiler for the host machine: ccache c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C++ linker for the host machine: c++ ld.bfd 2.42 Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports arguments -Wcast-align: YES Compiler for C supports arguments -Wformat-nonliteral: YES Compiler for C supports arguments -Wformat-security: YES Compiler for C supports arguments -Wformat=2: YES Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wlogical-op: YES Compiler for C supports arguments -Wmissing-declarations: YES Compiler for C supports arguments -Wmissing-format-attribute: YES Compiler for C supports arguments -Wmissing-include-dirs: YES Compiler for C supports arguments -Wmissing-noreturn: YES Compiler for C supports arguments -Wpointer-arith: YES Compiler for C supports arguments -Wshadow: YES Compiler for C supports arguments -Wswitch-enum: YES Compiler for C supports arguments -Wtype-limits: YES Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Wunused: YES Compiler for C supports arguments -Werror=address: YES Compiler for C supports arguments -Werror=array-bounds: YES Compiler for C supports arguments -Werror=empty-body: YES Compiler for C supports arguments -Werror=init-self: YES Compiler for C supports arguments -Werror=int-to-pointer-cast: YES Compiler for C supports arguments -Werror=main: YES Compiler for C supports arguments -Werror=missing-braces: YES Compiler for C supports arguments -Werror=nonnull: YES Compiler for C supports arguments -Werror=redundant-decls: YES Compiler for C supports arguments -Werror=return-type: YES Compiler for C supports arguments -Werror=sequence-point: YES Compiler for C supports arguments -Werror=trigraphs: YES Compiler for C supports arguments -Werror=write-strings: YES Compiler for C supports arguments -fno-strict-aliasing: YES Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68: YES Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68: YES Compiler for C supports arguments -D_GNU_SOURCE: YES Compiler for C supports arguments -DG_LOG_DOMAIN="libfprint": YES Compiler for C supports arguments -Wimplicit-function-declaration: YES Compiler for C supports arguments -Wmissing-prototypes: YES Compiler for C supports arguments -Wnested-externs: YES Compiler for C supports arguments -Wold-style-definition: YES Compiler for C supports arguments -Wstrict-prototypes: YES Compiler for C supports arguments -Werror=implicit: YES Compiler for C supports arguments -Werror=pointer-to-int-cast: YES Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1 Run-time dependency glib-2.0 found: YES 2.80.0 Run-time dependency gio-unix-2.0 found: YES 2.80.0 Run-time dependency gobject-2.0 found: YES 2.80.0 Run-time dependency gusb found: YES 0.4.8 Library m found: YES Program sh found: YES (/usr/bin/sh) Run-time dependency cairo found: YES 1.18.0 Run-time dependency gobject-introspection-1.0 found: YES 1.80.1 Run-time dependency pixman-1 found: YES 0.42.2 Run-time dependency openssl found: YES 3.0.13 WARNING: Found CMake '/home/benjamin_loison/.local/bin/cmake' but couldn't run it Found CMake: NO Run-time dependency gudev-1.0 found: NO (tried pkgconfig and cmake) meson.build:281:12: ERROR: Problem encountered: udev is required for SPI support A full log can be found at /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build/meson-logs/meson-log.txt WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated. ``` </details>
Author
Owner
sudo apt build-dep -y libfprint
Output:
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed
  autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools
  libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5
  libsub-override-perl opensp po-debconf
0 to upgrade, 21 to newly install, 0 to remove and 1 not to upgrade.
Need to get 0 B/7 233 kB of archives.
After this operation, 93,3 MB of additional disk space will be used.
Selecting previously unselected package autopoint.
(Reading database ... 967414 files and directories currently installed.)
Preparing to unpack .../00-autopoint_0.21-14ubuntu2_all.deb ...
Unpacking autopoint (0.21-14ubuntu2) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../01-libdebhelper-perl_13.14.1ubuntu5_all.deb ...
Unpacking libdebhelper-perl (13.14.1ubuntu5) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../02-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../03-libsub-override-perl_0.10-1_all.deb ...
Unpacking libsub-override-perl (0.10-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../04-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../05-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package debugedit.
Preparing to unpack .../06-debugedit_1%3a5.0-5build2_amd64.deb ...
Unpacking debugedit (1:5.0-5build2) ...
Selecting previously unselected package dwz.
Preparing to unpack .../07-dwz_0.15-1build6_amd64.deb ...
Unpacking dwz (0.15-1build6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../08-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../09-debhelper_13.14.1ubuntu5_all.deb ...
Unpacking debhelper (13.14.1ubuntu5) ...
Selecting previously unselected package docbook.
Preparing to unpack .../10-docbook_4.5-10_all.deb ...
Unpacking docbook (4.5-10) ...
Selecting previously unselected package libosp5.
Preparing to unpack .../11-libosp5_1.5.2-15ubuntu2_amd64.deb ...
Unpacking libosp5 (1.5.2-15ubuntu2) ...
Selecting previously unselected package opensp.
Preparing to unpack .../12-opensp_1.5.2-15ubuntu2_amd64.deb ...
Unpacking opensp (1.5.2-15ubuntu2) ...
Selecting previously unselected package docbook-to-man.
Preparing to unpack .../13-docbook-to-man_1%3a2.0.0-46_amd64.deb ...
Unpacking docbook-to-man (1:2.0.0-46) ...
Selecting previously unselected package docbook-xsl.
Preparing to unpack .../14-docbook-xsl_1.79.2+dfsg-7_all.deb ...
Unpacking docbook-xsl (1.79.2+dfsg-7) ...
Selecting previously unselected package gtk-doc-tools.
Preparing to unpack .../15-gtk-doc-tools_1.34.0-1_all.deb ...
Unpacking gtk-doc-tools (1.34.0-1) ...
Selecting previously unselected package libglib2.0-doc.
Preparing to unpack .../16-libglib2.0-doc_2.80.0-6ubuntu3.4_all.deb ...
Unpacking libglib2.0-doc (2.80.0-6ubuntu3.4) ...
Selecting previously unselected package libgudev-1.0-dev:amd64.
Preparing to unpack .../17-libgudev-1.0-dev_1%3a238-5ubuntu1_amd64.deb ...
Unpacking libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ...
Selecting previously unselected package libnspr4-dev.
Preparing to unpack .../18-libnspr4-dev_2%3a4.35-1.1build1_amd64.deb ...
Unpacking libnspr4-dev (2:4.35-1.1build1) ...
Selecting previously unselected package libnss3-dev:amd64.
Preparing to unpack .../19-libnss3-dev_2%3a3.98-1build1_amd64.deb ...
Unpacking libnss3-dev:amd64 (2:3.98-1build1) ...
Selecting previously unselected package libgusb-doc.
Preparing to unpack .../20-libgusb-doc_0.4.8-1build2_all.deb ...
Unpacking libgusb-doc (0.4.8-1build2) ...
Setting up libnspr4-dev (2:4.35-1.1build1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libdebhelper-perl (13.14.1ubuntu5) ...
Setting up libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ...
Setting up libglib2.0-doc (2.80.0-6ubuntu3.4) ...
Setting up libosp5 (1.5.2-15ubuntu2) ...
Setting up docbook-xsl (1.79.2+dfsg-7) ...
Setting up libgusb-doc (0.4.8-1build2) ...
Setting up autopoint (0.21-14ubuntu2) ...
Setting up docbook (4.5-10) ...
Setting up dwz (0.15-1build6) ...
Setting up libnss3-dev:amd64 (2:3.98-1build1) ...
Setting up debugedit (1:5.0-5build2) ...
Setting up libsub-override-perl (0.10-1) ...
Setting up libfile-stripnondeterminism-perl (1.13.1-1) ...
Setting up opensp (1.5.2-15ubuntu2) ...
Setting up dh-autoreconf (20) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up debhelper (13.14.1ubuntu5) ...
Processing triggers for sgml-base (1.31) ...
Processing triggers for doc-base (0.11.2) ...
Processing 10 added doc-base files...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Processing triggers for man-db (2.12.0-4build2) ...
Setting up docbook-to-man (1:2.0.0-46) ...
Setting up gtk-doc-tools (1.34.0-1) ...
/usr/share/gtk-doc/python/gtkdoc/scan.py:44: SyntaxWarning: invalid escape sequence '\s'
  VAR_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS]) + ')*'
/usr/share/gtk-doc/python/gtkdoc/scan.py:45: SyntaxWarning: invalid escape sequence '\s'
  RET_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS + ['G_CONST_RETURN']]) + ')*'
/usr/share/gtk-doc/python/gtkdoc/scan.py:238: SyntaxWarning: invalid escape sequence '\('
  ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)')
/usr/share/gtk-doc/python/gtkdoc/scan.py:239: SyntaxWarning: invalid escape sequence '\s'
  optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:]
/usr/share/gtk-doc/python/gtkdoc/scan.py:487: SyntaxWarning: invalid escape sequence '\('
  ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)')
/usr/share/gtk-doc/python/gtkdoc/scan.py:488: SyntaxWarning: invalid escape sequence '\s'
  optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:]
``` sudo apt build-dep -y libfprint ``` <details> <summary>Output:</summary> ``` Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed autopoint debhelper debugedit dh-autoreconf dh-strip-nondeterminism docbook docbook-to-man docbook-xsl dwz gtk-doc-tools libdebhelper-perl libfile-stripnondeterminism-perl libglib2.0-doc libgudev-1.0-dev libgusb-doc libnspr4-dev libnss3-dev libosp5 libsub-override-perl opensp po-debconf 0 to upgrade, 21 to newly install, 0 to remove and 1 not to upgrade. Need to get 0 B/7 233 kB of archives. After this operation, 93,3 MB of additional disk space will be used. Selecting previously unselected package autopoint. (Reading database ... 967414 files and directories currently installed.) Preparing to unpack .../00-autopoint_0.21-14ubuntu2_all.deb ... Unpacking autopoint (0.21-14ubuntu2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../01-libdebhelper-perl_13.14.1ubuntu5_all.deb ... Unpacking libdebhelper-perl (13.14.1ubuntu5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../02-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../03-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../04-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../05-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package debugedit. Preparing to unpack .../06-debugedit_1%3a5.0-5build2_amd64.deb ... Unpacking debugedit (1:5.0-5build2) ... Selecting previously unselected package dwz. Preparing to unpack .../07-dwz_0.15-1build6_amd64.deb ... Unpacking dwz (0.15-1build6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../08-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../09-debhelper_13.14.1ubuntu5_all.deb ... Unpacking debhelper (13.14.1ubuntu5) ... Selecting previously unselected package docbook. Preparing to unpack .../10-docbook_4.5-10_all.deb ... Unpacking docbook (4.5-10) ... Selecting previously unselected package libosp5. Preparing to unpack .../11-libosp5_1.5.2-15ubuntu2_amd64.deb ... Unpacking libosp5 (1.5.2-15ubuntu2) ... Selecting previously unselected package opensp. Preparing to unpack .../12-opensp_1.5.2-15ubuntu2_amd64.deb ... Unpacking opensp (1.5.2-15ubuntu2) ... Selecting previously unselected package docbook-to-man. Preparing to unpack .../13-docbook-to-man_1%3a2.0.0-46_amd64.deb ... Unpacking docbook-to-man (1:2.0.0-46) ... Selecting previously unselected package docbook-xsl. Preparing to unpack .../14-docbook-xsl_1.79.2+dfsg-7_all.deb ... Unpacking docbook-xsl (1.79.2+dfsg-7) ... Selecting previously unselected package gtk-doc-tools. Preparing to unpack .../15-gtk-doc-tools_1.34.0-1_all.deb ... Unpacking gtk-doc-tools (1.34.0-1) ... Selecting previously unselected package libglib2.0-doc. Preparing to unpack .../16-libglib2.0-doc_2.80.0-6ubuntu3.4_all.deb ... Unpacking libglib2.0-doc (2.80.0-6ubuntu3.4) ... Selecting previously unselected package libgudev-1.0-dev:amd64. Preparing to unpack .../17-libgudev-1.0-dev_1%3a238-5ubuntu1_amd64.deb ... Unpacking libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ... Selecting previously unselected package libnspr4-dev. Preparing to unpack .../18-libnspr4-dev_2%3a4.35-1.1build1_amd64.deb ... Unpacking libnspr4-dev (2:4.35-1.1build1) ... Selecting previously unselected package libnss3-dev:amd64. Preparing to unpack .../19-libnss3-dev_2%3a3.98-1build1_amd64.deb ... Unpacking libnss3-dev:amd64 (2:3.98-1build1) ... Selecting previously unselected package libgusb-doc. Preparing to unpack .../20-libgusb-doc_0.4.8-1build2_all.deb ... Unpacking libgusb-doc (0.4.8-1build2) ... Setting up libnspr4-dev (2:4.35-1.1build1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libdebhelper-perl (13.14.1ubuntu5) ... Setting up libgudev-1.0-dev:amd64 (1:238-5ubuntu1) ... Setting up libglib2.0-doc (2.80.0-6ubuntu3.4) ... Setting up libosp5 (1.5.2-15ubuntu2) ... Setting up docbook-xsl (1.79.2+dfsg-7) ... Setting up libgusb-doc (0.4.8-1build2) ... Setting up autopoint (0.21-14ubuntu2) ... Setting up docbook (4.5-10) ... Setting up dwz (0.15-1build6) ... Setting up libnss3-dev:amd64 (2:3.98-1build1) ... Setting up debugedit (1:5.0-5build2) ... Setting up libsub-override-perl (0.10-1) ... Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up opensp (1.5.2-15ubuntu2) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up debhelper (13.14.1ubuntu5) ... Processing triggers for sgml-base (1.31) ... Processing triggers for doc-base (0.11.2) ... Processing 10 added doc-base files... Processing triggers for libc-bin (2.39-0ubuntu8.6) ... Processing triggers for man-db (2.12.0-4build2) ... Setting up docbook-to-man (1:2.0.0-46) ... Setting up gtk-doc-tools (1.34.0-1) ... /usr/share/gtk-doc/python/gtkdoc/scan.py:44: SyntaxWarning: invalid escape sequence '\s' VAR_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS]) + ')*' /usr/share/gtk-doc/python/gtkdoc/scan.py:45: SyntaxWarning: invalid escape sequence '\s' RET_TYPE_MODIFIER = '(?:' + '|'.join([t + '\s+' for t in TYPE_MODIFIERS + ['G_CONST_RETURN']]) + ')*' /usr/share/gtk-doc/python/gtkdoc/scan.py:238: SyntaxWarning: invalid escape sequence '\(' ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)') /usr/share/gtk-doc/python/gtkdoc/scan.py:239: SyntaxWarning: invalid escape sequence '\s' optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:] /usr/share/gtk-doc/python/gtkdoc/scan.py:487: SyntaxWarning: invalid escape sequence '\(' ignore_decorators = '|' + options.ignore_decorators.replace('()', '\(\w*\)') /usr/share/gtk-doc/python/gtkdoc/scan.py:488: SyntaxWarning: invalid escape sequence '\s' optional_decorators_regex = '(?:\s+(?:%s))?' % ignore_decorators[1:] ``` </details>
Author
Owner
meson build
Output:
The Meson build system
Version: 1.3.2
Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint
Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build
Build type: native build
Project name: libfprint
Project version: 1.94.9
C compiler for the host machine: ccache cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
C linker for the host machine: cc ld.bfd 2.42
C++ compiler for the host machine: ccache c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
C++ linker for the host machine: c++ ld.bfd 2.42
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wcast-align: YES 
Compiler for C supports arguments -Wformat-nonliteral: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wformat=2: YES 
Compiler for C supports arguments -Wignored-qualifiers: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -Wmissing-format-attribute: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wmissing-noreturn: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wshadow: YES 
Compiler for C supports arguments -Wswitch-enum: YES 
Compiler for C supports arguments -Wtype-limits: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wunused: YES 
Compiler for C supports arguments -Werror=address: YES 
Compiler for C supports arguments -Werror=array-bounds: YES 
Compiler for C supports arguments -Werror=empty-body: YES 
Compiler for C supports arguments -Werror=init-self: YES 
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES 
Compiler for C supports arguments -Werror=main: YES 
Compiler for C supports arguments -Werror=missing-braces: YES 
Compiler for C supports arguments -Werror=nonnull: YES 
Compiler for C supports arguments -Werror=redundant-decls: YES 
Compiler for C supports arguments -Werror=return-type: YES 
Compiler for C supports arguments -Werror=sequence-point: YES 
Compiler for C supports arguments -Werror=trigraphs: YES 
Compiler for C supports arguments -Werror=write-strings: YES 
Compiler for C supports arguments -fno-strict-aliasing: YES 
Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -D_GNU_SOURCE: YES 
Compiler for C supports arguments -DG_LOG_DOMAIN="libfprint": YES 
Compiler for C supports arguments -Wimplicit-function-declaration: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Wnested-externs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Werror=implicit: YES 
Compiler for C supports arguments -Werror=pointer-to-int-cast: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
Run-time dependency glib-2.0 found: YES 2.80.0
Run-time dependency gio-unix-2.0 found: YES 2.80.0
Run-time dependency gobject-2.0 found: YES 2.80.0
Run-time dependency gusb found: YES 0.4.8
Library m found: YES
Program sh found: YES (/usr/bin/sh)
Run-time dependency cairo found: YES 1.18.0
Run-time dependency gobject-introspection-1.0 found: YES 1.80.1
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency openssl found: YES 3.0.13
Run-time dependency gudev-1.0 found: YES 238
Run-time dependency udev found: YES 255
Dependency udev found: YES 255 (cached)
Dependency glib-2.0 found: YES 2.80.0 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 found: YES 2.80.0 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 found: YES 2.80.0 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 found: YES 2.80.0 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring fpi-drivers.c with command
Compiler for C supports arguments -Wno-error=redundant-decls: YES 
Compiler for C supports arguments -Wno-redundant-decls: YES 
Compiler for C supports arguments -Wno-discarded-qualifiers: YES 
Compiler for C supports arguments -Wno-array-bounds: YES 
Compiler for C supports arguments -Wno-array-parameter: YES 
libfprint/meson.build:281: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.3.0': str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof..
Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached)
Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached)
Program /usr/bin/x86_64-linux-gnu-g-ir-scanner found: YES (/usr/bin/x86_64-linux-gnu-g-ir-scanner)
Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached)
Program /usr/bin/x86_64-linux-gnu-g-ir-compiler found: YES (/usr/bin/x86_64-linux-gnu-g-ir-compiler)
Configuring config.h using configuration
Configuring gtkdocentities.ent using configuration
Dependency glib-2.0 found: YES 2.80.0 (cached)
Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan)
Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj)
Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb)
Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml)
Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref)
Program python3 found: YES (/home/benjamin_loison/venv/bin/python3)
Configuring create-driver-test.py using configuration
Program unittest_inspector.py found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/unittest_inspector.py)
Program umockdev-test.py found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/umockdev-test.py)
Configuring driver-aes2501.test using configuration
Configuring driver-aes3500.test using configuration
Configuring driver-elan.test using configuration
Configuring driver-elan-cobo.test using configuration
Configuring driver-elanmoc.test using configuration
Configuring driver-elanspi.test using configuration
Configuring driver-synaptics.test using configuration
Configuring driver-upektc_img.test using configuration
Configuring driver-upektc_img-tcs1s.test using configuration
Configuring driver-uru4000-msv2.test using configuration
Configuring driver-uru4000-4500.test using configuration
Configuring driver-vfs0050.test using configuration
Configuring driver-vfs301.test using configuration
Configuring driver-vfs5011.test using configuration
Configuring driver-vfs7552.test using configuration
Configuring driver-goodixmoc.test using configuration
Configuring driver-nb1010.test using configuration
Configuring driver-egis0570.test using configuration
Configuring driver-egismoc.test using configuration
Configuring driver-egismoc-05a1.test using configuration
Configuring driver-egismoc-0586.test using configuration
Configuring driver-egismoc-0587.test using configuration
Configuring driver-fpcmoc.test using configuration
Configuring driver-realtek.test using configuration
Configuring driver-realtek-5816.test using configuration
Configuring driver-focaltech_moc.test using configuration
Configuring fpi-device.test using configuration
Configuring fpi-ssm.test using configuration
Configuring fpi-assembling.test using configuration
Program test-generated-hwdb.sh found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/test-generated-hwdb.sh)
Program appstreamcli found: YES (/usr/bin/appstreamcli)
Program gdb found: YES (/usr/bin/gdb)
Program valgrind found: NO
Build targets in project: 32
WARNING: Broken features used:
 * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'}

libfprint 1.94.9

  Drivers
    Drivers: upektc_img
             vfs5011
             vfs7552
             aes3500
             aes4000
             aes1610
             aes1660
             aes2660
             aes2501
             aes2550
             vfs101
             vfs301
             vfs0050
             etes603
             egis0570
             egismoc
             vcom5s
             synaptics
             elan
             elanmoc
             uru4000
             upektc
             upeksonly
             upekts
             goodixmoc
             nb1010
             fpcmoc
             realtek
             focaltech_moc
             elanspi

Found ninja-1.11.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
``` meson build ``` <details> <summary>Output:</summary> ``` The Meson build system Version: 1.3.2 Source dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint Build dir: /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/build Build type: native build Project name: libfprint Project version: 1.94.9 C compiler for the host machine: ccache cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C linker for the host machine: cc ld.bfd 2.42 C++ compiler for the host machine: ccache c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C++ linker for the host machine: c++ ld.bfd 2.42 Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports arguments -Wcast-align: YES Compiler for C supports arguments -Wformat-nonliteral: YES Compiler for C supports arguments -Wformat-security: YES Compiler for C supports arguments -Wformat=2: YES Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wlogical-op: YES Compiler for C supports arguments -Wmissing-declarations: YES Compiler for C supports arguments -Wmissing-format-attribute: YES Compiler for C supports arguments -Wmissing-include-dirs: YES Compiler for C supports arguments -Wmissing-noreturn: YES Compiler for C supports arguments -Wpointer-arith: YES Compiler for C supports arguments -Wshadow: YES Compiler for C supports arguments -Wswitch-enum: YES Compiler for C supports arguments -Wtype-limits: YES Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Wunused: YES Compiler for C supports arguments -Werror=address: YES Compiler for C supports arguments -Werror=array-bounds: YES Compiler for C supports arguments -Werror=empty-body: YES Compiler for C supports arguments -Werror=init-self: YES Compiler for C supports arguments -Werror=int-to-pointer-cast: YES Compiler for C supports arguments -Werror=main: YES Compiler for C supports arguments -Werror=missing-braces: YES Compiler for C supports arguments -Werror=nonnull: YES Compiler for C supports arguments -Werror=redundant-decls: YES Compiler for C supports arguments -Werror=return-type: YES Compiler for C supports arguments -Werror=sequence-point: YES Compiler for C supports arguments -Werror=trigraphs: YES Compiler for C supports arguments -Werror=write-strings: YES Compiler for C supports arguments -fno-strict-aliasing: YES Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68: YES Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68: YES Compiler for C supports arguments -D_GNU_SOURCE: YES Compiler for C supports arguments -DG_LOG_DOMAIN="libfprint": YES Compiler for C supports arguments -Wimplicit-function-declaration: YES Compiler for C supports arguments -Wmissing-prototypes: YES Compiler for C supports arguments -Wnested-externs: YES Compiler for C supports arguments -Wold-style-definition: YES Compiler for C supports arguments -Wstrict-prototypes: YES Compiler for C supports arguments -Werror=implicit: YES Compiler for C supports arguments -Werror=pointer-to-int-cast: YES Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1 Run-time dependency glib-2.0 found: YES 2.80.0 Run-time dependency gio-unix-2.0 found: YES 2.80.0 Run-time dependency gobject-2.0 found: YES 2.80.0 Run-time dependency gusb found: YES 0.4.8 Library m found: YES Program sh found: YES (/usr/bin/sh) Run-time dependency cairo found: YES 1.18.0 Run-time dependency gobject-introspection-1.0 found: YES 1.80.1 Run-time dependency pixman-1 found: YES 0.42.2 Run-time dependency openssl found: YES 3.0.13 Run-time dependency gudev-1.0 found: YES 238 Run-time dependency udev found: YES 255 Dependency udev found: YES 255 (cached) Dependency glib-2.0 found: YES 2.80.0 (cached) Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.80.0 (cached) Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.80.0 (cached) Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.80.0 (cached) Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums) Configuring fpi-drivers.c with command Compiler for C supports arguments -Wno-error=redundant-decls: YES Compiler for C supports arguments -Wno-redundant-decls: YES Compiler for C supports arguments -Wno-discarded-qualifiers: YES Compiler for C supports arguments -Wno-array-bounds: YES Compiler for C supports arguments -Wno-array-parameter: YES libfprint/meson.build:281: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.3.0': str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.. Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached) Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached) Program /usr/bin/x86_64-linux-gnu-g-ir-scanner found: YES (/usr/bin/x86_64-linux-gnu-g-ir-scanner) Dependency gobject-introspection-1.0 found: YES 1.80.1 (cached) Program /usr/bin/x86_64-linux-gnu-g-ir-compiler found: YES (/usr/bin/x86_64-linux-gnu-g-ir-compiler) Configuring config.h using configuration Configuring gtkdocentities.ent using configuration Dependency glib-2.0 found: YES 2.80.0 (cached) Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan) Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj) Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb) Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml) Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref) Program python3 found: YES (/home/benjamin_loison/venv/bin/python3) Configuring create-driver-test.py using configuration Program unittest_inspector.py found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/unittest_inspector.py) Program umockdev-test.py found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/umockdev-test.py) Configuring driver-aes2501.test using configuration Configuring driver-aes3500.test using configuration Configuring driver-elan.test using configuration Configuring driver-elan-cobo.test using configuration Configuring driver-elanmoc.test using configuration Configuring driver-elanspi.test using configuration Configuring driver-synaptics.test using configuration Configuring driver-upektc_img.test using configuration Configuring driver-upektc_img-tcs1s.test using configuration Configuring driver-uru4000-msv2.test using configuration Configuring driver-uru4000-4500.test using configuration Configuring driver-vfs0050.test using configuration Configuring driver-vfs301.test using configuration Configuring driver-vfs5011.test using configuration Configuring driver-vfs7552.test using configuration Configuring driver-goodixmoc.test using configuration Configuring driver-nb1010.test using configuration Configuring driver-egis0570.test using configuration Configuring driver-egismoc.test using configuration Configuring driver-egismoc-05a1.test using configuration Configuring driver-egismoc-0586.test using configuration Configuring driver-egismoc-0587.test using configuration Configuring driver-fpcmoc.test using configuration Configuring driver-realtek.test using configuration Configuring driver-realtek-5816.test using configuration Configuring driver-focaltech_moc.test using configuration Configuring fpi-device.test using configuration Configuring fpi-ssm.test using configuration Configuring fpi-assembling.test using configuration Program test-generated-hwdb.sh found: YES (/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/tests/test-generated-hwdb.sh) Program appstreamcli found: YES (/usr/bin/appstreamcli) Program gdb found: YES (/usr/bin/gdb) Program valgrind found: NO Build targets in project: 32 WARNING: Broken features used: * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'} libfprint 1.94.9 Drivers Drivers: upektc_img vfs5011 vfs7552 aes3500 aes4000 aes1610 aes1660 aes2660 aes2501 aes2550 vfs101 vfs301 vfs0050 etes603 egis0570 egismoc vcom5s synaptics elan elanmoc uru4000 upektc upeksonly upekts goodixmoc nb1010 fpcmoc realtek focaltech_moc elanspi Found ninja-1.11.1 at /usr/bin/ninja WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated. ``` </details>
Author
Owner
meson test
Output:

ERROR: No such build data file as '/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/meson-private/build.dat'.
``` meson test ``` <details> <summary>Output:</summary> ``` ERROR: No such build data file as '/home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/meson-private/build.dat'. ``` </details>
Author
Owner
gcc $(pkg-config --cflags libfprint-2) img-capture.c $(pkg-config --libs libfprint-2)
Output:
/usr/bin/ld: /tmp/cclZonwt.o: in function `dev_capture_cb':
img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm'
/usr/bin/ld: /tmp/cclZonwt.o: in function `main':
img-capture.c:(.text+0x5be): undefined reference to `discover_device'
collect2: error: ld returned 1 exit status

Source: the Ask Ubuntu answer 145545

grep -r 'save_image_to_pgm'
Output:
img-capture.c:  save_image_to_pgm (image, capture_data->filename);
storage.c:save_image_to_pgm (FpImage *img, const char *path)
storage.c:    return save_image_to_pgm (img, path);
storage.h:gboolean save_image_to_pgm (FpImage    *img,
gcc $(pkg-config --cflags libfprint-2) storage.c img-capture.c $(pkg-config --libs libfprint-2)
Output:
storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory
   25 | #include <libfprint/fpi-compat.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

DuckDuckGo and Google search "fpi-compat.h: No such file or directory".

find -name '*fpi-compat*'
./libfprint/fpi-compat.h
gcc $(pkg-config --cflags libfprint-2) -I ../libfprint/ storage.c img-capture.c $(pkg-config --libs libfprint-2)
Output:
storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory
   25 | #include <libfprint/fpi-compat.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
``` gcc $(pkg-config --cflags libfprint-2) img-capture.c $(pkg-config --libs libfprint-2) ``` <details> <summary>Output:</summary> ``` /usr/bin/ld: /tmp/cclZonwt.o: in function `dev_capture_cb': img-capture.c:(.text+0x362): undefined reference to `save_image_to_pgm' /usr/bin/ld: /tmp/cclZonwt.o: in function `main': img-capture.c:(.text+0x5be): undefined reference to `discover_device' collect2: error: ld returned 1 exit status ``` </details> Source: [the Ask Ubuntu answer 145545](https://askubuntu.com/a/145545) ``` grep -r 'save_image_to_pgm' ``` <details> <summary>Output:</summary> ``` img-capture.c: save_image_to_pgm (image, capture_data->filename); storage.c:save_image_to_pgm (FpImage *img, const char *path) storage.c: return save_image_to_pgm (img, path); storage.h:gboolean save_image_to_pgm (FpImage *img, ``` </details> ``` gcc $(pkg-config --cflags libfprint-2) storage.c img-capture.c $(pkg-config --libs libfprint-2) ``` <details> <summary>Output:</summary> ``` storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory 25 | #include <libfprint/fpi-compat.h> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ``` </details> DuckDuckGo and Google search `"fpi-compat.h: No such file or directory"`. ```bash find -name '*fpi-compat*' ``` ``` ./libfprint/fpi-compat.h ``` ```bash gcc $(pkg-config --cflags libfprint-2) -I ../libfprint/ storage.c img-capture.c $(pkg-config --libs libfprint-2) ``` <details> <summary>Output:</summary> ``` storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory 25 | #include <libfprint/fpi-compat.h> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ``` </details>
Author
Owner
gcc $(pkg-config --cflags libfprint-2) -I /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/libfprint/ storage.c img-capture.c $(pkg-config --libs libfprint-2)
Output:
storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory
   25 | #include <libfprint/fpi-compat.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
```bash gcc $(pkg-config --cflags libfprint-2) -I /home/benjamin_loison/Desktop/bens_folder/dev/git/freedesktop_gitlab/libfprint/libfprint/ storage.c img-capture.c $(pkg-config --libs libfprint-2) ``` <details> <summary>Output:</summary> ``` storage.c:25:10: fatal error: libfprint/fpi-compat.h: No such file or directory 25 | #include <libfprint/fpi-compat.h> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ``` </details>
Author
Owner

If change storage.c with a relative path:

gcc $(pkg-config --cflags libfprint-2) storage.c img-capture.c $(pkg-config --libs libfprint-2)
Output:
/usr/bin/ld: /tmp/cciWYhJd.o: in function `main':
img-capture.c:(.text+0x5be): undefined reference to `discover_device'
collect2: error: ld returned 1 exit status
grep -rw 'discover_device'
Output:
examples/identify.c:  dev = discover_device (devices);
examples/img-capture.c:  dev = discover_device (devices);
examples/utilities.c:discover_device (GPtrArray * devices)
examples/utilities.h:FpDevice * discover_device (GPtrArray *devices);
examples/enroll.c:  dev = discover_device (devices);
examples/clear-storage.c:  dev = discover_device (devices);
examples/verify.c:  dev = discover_device (devices);
examples/manage-prints.c:  dev = discover_device (devices);
gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c img-capture.c $(pkg-config --libs libfprint-2) -o img-capture

does not return anything.

If change `storage.c` with a relative path: ```bash gcc $(pkg-config --cflags libfprint-2) storage.c img-capture.c $(pkg-config --libs libfprint-2) ``` <details> <summary>Output:</summary> ``` /usr/bin/ld: /tmp/cciWYhJd.o: in function `main': img-capture.c:(.text+0x5be): undefined reference to `discover_device' collect2: error: ld returned 1 exit status ``` </details> ``` grep -rw 'discover_device' ``` <details> <summary>Output:</summary> ``` examples/identify.c: dev = discover_device (devices); examples/img-capture.c: dev = discover_device (devices); examples/utilities.c:discover_device (GPtrArray * devices) examples/utilities.h:FpDevice * discover_device (GPtrArray *devices); examples/enroll.c: dev = discover_device (devices); examples/clear-storage.c: dev = discover_device (devices); examples/verify.c: dev = discover_device (devices); examples/manage-prints.c: dev = discover_device (devices); ``` </details> ```bash gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c img-capture.c $(pkg-config --libs libfprint-2) -o img-capture ``` does not return anything.
Author
Owner
./img-capture
Output:
(process:47355): libfprint-context-DEBUG: 20:22:25.575: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:47355): libfprint-tod-DEBUG: 20:22:25.575: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
libusb: warning [initialize_device] unknown device speed: 20000 Mbps
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0003
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 32AC:0002
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 8087:0032
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0002
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0003
(process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0002

(process:47355): libfprint-device-WARNING **: 20:22:25.578: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
(process:47355): libfprint-device-DEBUG: 20:22:25.578: Device reported probe completion
(process:47355): libfprint-device-DEBUG: 20:22:25.578: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:47355): libfprint-device-DEBUG: 20:22:25.578: Not updating temperature model, device can run continuously!
libfprint-context-Message: 20:22:25.578: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3]

** (process:47355): WARNING **: 20:22:25.578: No devices detected.
sudo ./img-capture
Output:
(process:47365): libfprint-context-DEBUG: 20:22:28.437: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:47365): libfprint-tod-DEBUG: 20:22:28.437: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
libusb: warning [initialize_device] unknown device speed: 20000 Mbps
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0003
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 32AC:0002
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 8087:0032
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0002
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0003
(process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0002
(process:47365): libfprint-device-DEBUG: 20:22:28.796: Device reported probe completion
(process:47365): libfprint-device-DEBUG: 20:22:28.797: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:47365): libfprint-device-DEBUG: 20:22:28.797: Not updating temperature model, device can run continuously!
Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver

** (process:47365): WARNING **: 20:22:28.797: Device Goodix MOC Fingerprint Sensor doesn't support capture
``` ./img-capture ``` <details> <summary>Output:</summary> ``` (process:47355): libfprint-context-DEBUG: 20:22:25.575: Initializing FpContext (libfprint version 1.94.7+tod1) (process:47355): libfprint-tod-DEBUG: 20:22:25.575: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory libusb: warning [initialize_device] unknown device speed: 20000 Mbps (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0003 (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 32AC:0002 (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 8087:0032 (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0002 (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0003 (process:47355): libfprint-context-DEBUG: 20:22:25.577: No driver found for USB device 1D6B:0002 (process:47355): libfprint-device-WARNING **: 20:22:25.578: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13 libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes (process:47355): libfprint-device-DEBUG: 20:22:25.578: Device reported probe completion (process:47355): libfprint-device-DEBUG: 20:22:25.578: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:47355): libfprint-device-DEBUG: 20:22:25.578: Not updating temperature model, device can run continuously! libfprint-context-Message: 20:22:25.578: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3] ** (process:47355): WARNING **: 20:22:25.578: No devices detected. ``` </details> ``` sudo ./img-capture ``` <details> <summary>Output:</summary> ``` (process:47365): libfprint-context-DEBUG: 20:22:28.437: Initializing FpContext (libfprint version 1.94.7+tod1) (process:47365): libfprint-tod-DEBUG: 20:22:28.437: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory libusb: warning [initialize_device] unknown device speed: 20000 Mbps (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0003 (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 32AC:0002 (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 8087:0032 (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0002 (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0003 (process:47365): libfprint-context-DEBUG: 20:22:28.440: No driver found for USB device 1D6B:0002 (process:47365): libfprint-device-DEBUG: 20:22:28.796: Device reported probe completion (process:47365): libfprint-device-DEBUG: 20:22:28.797: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:47365): libfprint-device-DEBUG: 20:22:28.797: Not updating temperature model, device can run continuously! Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver ** (process:47365): WARNING **: 20:22:28.797: Device Goodix MOC Fingerprint Sensor doesn't support capture ``` </details>
Author
Owner
gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c verify.c $(pkg-config --libs libfprint-2) -o verify
./verify 
Output:
(process:47467): libfprint-context-DEBUG: 20:23:11.383: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:47467): libfprint-tod-DEBUG: 20:23:11.383: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
libusb: warning [initialize_device] unknown device speed: 20000 Mbps
(process:47467): libfprint-context-DEBUG: 20:23:11.388: No driver found for USB device 1D6B:0003
(process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 32AC:0002
(process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 8087:0032
(process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0002
(process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0003
(process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0002

(process:47467): libfprint-device-WARNING **: 20:23:11.390: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
(process:47467): libfprint-device-DEBUG: 20:23:11.390: Device reported probe completion
(process:47467): libfprint-device-DEBUG: 20:23:11.390: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:47467): libfprint-device-DEBUG: 20:23:11.390: Not updating temperature model, device can run continuously!
libfprint-context-Message: 20:23:11.390: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3]

** (process:47467): WARNING **: 20:23:11.390: No devices detected.
```bash gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c verify.c $(pkg-config --libs libfprint-2) -o verify ./verify ``` <details> <summary>Output:</summary> ``` (process:47467): libfprint-context-DEBUG: 20:23:11.383: Initializing FpContext (libfprint version 1.94.7+tod1) (process:47467): libfprint-tod-DEBUG: 20:23:11.383: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory libusb: warning [initialize_device] unknown device speed: 20000 Mbps (process:47467): libfprint-context-DEBUG: 20:23:11.388: No driver found for USB device 1D6B:0003 (process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 32AC:0002 (process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 8087:0032 (process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0002 (process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0003 (process:47467): libfprint-context-DEBUG: 20:23:11.389: No driver found for USB device 1D6B:0002 (process:47467): libfprint-device-WARNING **: 20:23:11.390: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13 libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes (process:47467): libfprint-device-DEBUG: 20:23:11.390: Device reported probe completion (process:47467): libfprint-device-DEBUG: 20:23:11.390: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:47467): libfprint-device-DEBUG: 20:23:11.390: Not updating temperature model, device can run continuously! libfprint-context-Message: 20:23:11.390: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3] ** (process:47467): WARNING **: 20:23:11.390: No devices detected. ``` </details>
Author
Owner
sudo ./verify 
Output:
(process:47508): libfprint-context-DEBUG: 20:23:19.571: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:47508): libfprint-tod-DEBUG: 20:23:19.571: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
libusb: warning [initialize_device] unknown device speed: 20000 Mbps
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0003
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 32AC:0002
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 8087:0032
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0002
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0003
(process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0002
(process:47508): libfprint-device-DEBUG: 20:23:19.928: Device reported probe completion
(process:47508): libfprint-device-DEBUG: 20:23:19.928: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:47508): libfprint-device-DEBUG: 20:23:19.928: Not updating temperature model, device can run continuously!
Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver
libusb: error [udev_hotplug_event] ignoring udev action change
(process:47508): libfprint-SSM-DEBUG: 20:23:20.170: [goodixmoc] FP_INIT_NUM_STATES entering state 0
(process:47508): libfprint-SSM-DEBUG: 20:23:20.170: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-goodixmoc-DEBUG: 20:23:20.172: Firmware type: APP
(process:47508): libfprint-goodixmoc-DEBUG: 20:23:20.172: Firmware version: 01000252
(process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_INIT_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES completed successfully
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
(process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 2
libusb: error [udev_hotplug_event] ignoring udev action change
(process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_INIT_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.176: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:23:20.176: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_INIT_NUM_STATES completed successfully
(process:47508): libfprint-device-DEBUG: 20:23:20.182: Device reported open completion
(process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:47508): libfprint-device-DEBUG: 20:23:20.182: Completing action FPI_DEVICE_ACTION_OPEN in idle!
(process:47508): libfprint-device-DEBUG: 20:23:20.182: Not updating temperature model, device can run continuously!
Opened device. Choose the finger to verify:
  [0] left thumb
  [1] left index
  [2] left middle
  [3] left ring
  [4] left little
  [5] right thumb
  [6] right index
  [7] right middle
  [8] right ring
  [9] right little
> 6
Creating finger template, using device storage...
(process:47508): libfprint-goodixmoc-DEBUG: 20:24:47.261: 14788572367: ../libfprint/drivers/goodixmoc/goodix.c:1536
(process:47508): libfprint-SSM-DEBUG: 20:24:47.261: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:47508): libfprint-SSM-DEBUG: 20:24:47.261: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:24:47.262: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:47508): libfprint-SSM-DEBUG: 20:24:47.262: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-SSM-DEBUG: 20:24:47.266: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:47508): libfprint-goodixmoc-DEBUG: 20:24:47.267: Query complete!
(process:47508): libfprint-device-DEBUG: 20:24:47.267: Device reported listing completion
(process:47508): libfprint-SSM-DEBUG: 20:24:47.267: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:47508): libfprint-device-DEBUG: 20:24:47.267: Completing action FPI_DEVICE_ACTION_LIST in idle!
(process:47508): libfprint-device-DEBUG: 20:24:47.267: Not updating temperature model, device can run continuously!
Loading previously enrolled right index finger data...

** (process:47508): WARNING **: 20:24:47.267: Error loading storage, assuming it is empty

** (process:47508): WARNING **: 20:24:47.267: Failed to load fingerprint data

** (process:47508): WARNING **: 20:24:47.267: Did you remember to enroll your right index finger first?
(process:47508): libfprint-device-DEBUG: 20:24:47.268: Device reported close completion
(process:47508): libfprint-device-DEBUG: 20:24:47.268: Completing action FPI_DEVICE_ACTION_CLOSE in idle!
(process:47508): libfprint-device-DEBUG: 20:24:47.268: Not updating temperature model, device can run continuously!
``` sudo ./verify ``` <details> <summary>Output:</summary> ``` (process:47508): libfprint-context-DEBUG: 20:23:19.571: Initializing FpContext (libfprint version 1.94.7+tod1) (process:47508): libfprint-tod-DEBUG: 20:23:19.571: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory libusb: warning [initialize_device] unknown device speed: 20000 Mbps (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0003 (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 32AC:0002 (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 8087:0032 (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0002 (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0003 (process:47508): libfprint-context-DEBUG: 20:23:19.573: No driver found for USB device 1D6B:0002 (process:47508): libfprint-device-DEBUG: 20:23:19.928: Device reported probe completion (process:47508): libfprint-device-DEBUG: 20:23:19.928: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:47508): libfprint-device-DEBUG: 20:23:19.928: Not updating temperature model, device can run continuously! Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver libusb: error [udev_hotplug_event] ignoring udev action change (process:47508): libfprint-SSM-DEBUG: 20:23:20.170: [goodixmoc] FP_INIT_NUM_STATES entering state 0 (process:47508): libfprint-SSM-DEBUG: 20:23:20.170: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.171: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-goodixmoc-DEBUG: 20:23:20.172: Firmware type: APP (process:47508): libfprint-goodixmoc-DEBUG: 20:23:20.172: Firmware version: 01000252 (process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_INIT_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:47508): libfprint-SSM-DEBUG: 20:23:20.172: [goodixmoc] FP_CMD_NUM_STATES completed successfully libusb: error [udev_hotplug_event] ignoring udev action change libusb: error [udev_hotplug_event] ignoring udev action change (process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.173: [goodixmoc] FP_CMD_NUM_STATES entering state 2 libusb: error [udev_hotplug_event] ignoring udev action change (process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_INIT_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:47508): libfprint-SSM-DEBUG: 20:23:20.175: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.176: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:23:20.176: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_INIT_NUM_STATES completed successfully (process:47508): libfprint-device-DEBUG: 20:23:20.182: Device reported open completion (process:47508): libfprint-SSM-DEBUG: 20:23:20.182: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:47508): libfprint-device-DEBUG: 20:23:20.182: Completing action FPI_DEVICE_ACTION_OPEN in idle! (process:47508): libfprint-device-DEBUG: 20:23:20.182: Not updating temperature model, device can run continuously! Opened device. Choose the finger to verify: [0] left thumb [1] left index [2] left middle [3] left ring [4] left little [5] right thumb [6] right index [7] right middle [8] right ring [9] right little > 6 Creating finger template, using device storage... (process:47508): libfprint-goodixmoc-DEBUG: 20:24:47.261: 14788572367: ../libfprint/drivers/goodixmoc/goodix.c:1536 (process:47508): libfprint-SSM-DEBUG: 20:24:47.261: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:47508): libfprint-SSM-DEBUG: 20:24:47.261: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:24:47.262: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:47508): libfprint-SSM-DEBUG: 20:24:47.262: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-SSM-DEBUG: 20:24:47.266: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:47508): libfprint-goodixmoc-DEBUG: 20:24:47.267: Query complete! (process:47508): libfprint-device-DEBUG: 20:24:47.267: Device reported listing completion (process:47508): libfprint-SSM-DEBUG: 20:24:47.267: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:47508): libfprint-device-DEBUG: 20:24:47.267: Completing action FPI_DEVICE_ACTION_LIST in idle! (process:47508): libfprint-device-DEBUG: 20:24:47.267: Not updating temperature model, device can run continuously! Loading previously enrolled right index finger data... ** (process:47508): WARNING **: 20:24:47.267: Error loading storage, assuming it is empty ** (process:47508): WARNING **: 20:24:47.267: Failed to load fingerprint data ** (process:47508): WARNING **: 20:24:47.267: Did you remember to enroll your right index finger first? (process:47508): libfprint-device-DEBUG: 20:24:47.268: Device reported close completion (process:47508): libfprint-device-DEBUG: 20:24:47.268: Completing action FPI_DEVICE_ACTION_CLOSE in idle! (process:47508): libfprint-device-DEBUG: 20:24:47.268: Not updating temperature model, device can run continuously! ``` </details>
Author
Owner
gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c enroll.c $(pkg-config --libs libfprint-2) -o enroll
./enroll
Output:
This program will enroll the selected finger overwriting any print for the same finger that was enrolled previously. Fingerprint updates without erasing old data are possible on devices supporting that. Ctrl+C interrupts program execution.
Choose the finger to enroll:
  [0] left thumb
  [1] left index
  [2] left middle
  [3] left ring
  [4] left little
  [5] right thumb
  [6] right index
  [7] right middle
  [8] right ring
  [9] right little
> 6
(process:48134): libfprint-context-DEBUG: 20:25:45.158: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:48134): libfprint-tod-DEBUG: 20:25:45.158: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0003
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 32AC:0002
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 8087:0032
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0002
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0003
(process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0002

(process:48134): libfprint-device-WARNING **: 20:25:45.163: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
(process:48134): libfprint-device-DEBUG: 20:25:45.163: Device reported probe completion
(process:48134): libfprint-device-DEBUG: 20:25:45.163: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:48134): libfprint-device-DEBUG: 20:25:45.163: Not updating temperature model, device can run continuously!
libfprint-context-Message: 20:25:45.163: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3]

** (process:48134): WARNING **: 20:25:45.163: No devices detected.
sudo ./enroll
Output:
This program will enroll the selected finger overwriting any print for the same finger that was enrolled previously. Fingerprint updates without erasing old data are possible on devices supporting that. Ctrl+C interrupts program execution.
Choose the finger to enroll:
  [0] left thumb
  [1] left index
  [2] left middle
  [3] left ring
  [4] left little
  [5] right thumb
  [6] right index
  [7] right middle
  [8] right ring
  [9] right little
> 6
(process:48146): libfprint-context-DEBUG: 20:25:50.173: Initializing FpContext (libfprint version 1.94.7+tod1)
(process:48146): libfprint-tod-DEBUG: 20:25:50.173: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0003
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 32AC:0002
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 8087:0032
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0002
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0003
(process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0002
(process:48146): libfprint-device-DEBUG: 20:25:50.530: Device reported probe completion
(process:48146): libfprint-device-DEBUG: 20:25:50.530: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:48146): libfprint-device-DEBUG: 20:25:50.530: Not updating temperature model, device can run continuously!
Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver
(process:48146): libfprint-SSM-DEBUG: 20:25:50.774: [goodixmoc] FP_INIT_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.774: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-goodixmoc-DEBUG: 20:25:50.776: Firmware type: APP
(process:48146): libfprint-goodixmoc-DEBUG: 20:25:50.776: Firmware version: 01000252
(process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_INIT_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_INIT_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.780: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.780: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_INIT_NUM_STATES completed successfully
(process:48146): libfprint-device-DEBUG: 20:25:50.786: Device reported open completion
(process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-device-DEBUG: 20:25:50.786: Completing action FPI_DEVICE_ACTION_OPEN in idle!
(process:48146): libfprint-device-DEBUG: 20:25:50.786: Not updating temperature model, device can run continuously!
Opened device.
The device doesn't support fingerprint updates. Old prints will be erased.
It's now time to enroll your finger.

You will need to successfully scan your right index finger 12 times to complete the process.

Scan your finger now.
(process:48146): libfprint-device-DEBUG: 20:25:50.787: Not updating temperature model, device can run continuously!
(process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] enroll entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] enroll entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.790: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.790: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] enroll entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.797: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.797: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] enroll entering state 3
(process:48146): libfprint-device-DEBUG: 20:25:50.799: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.800: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:50.800: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:54.889: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:54.890: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:55.757: Device reported enroll progress, reported 1 of 12 have been completed
Enroll stage 1 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:55.758: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:55.759: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:55.759: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:56.198: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:56.200: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:56.201: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:57.122: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:57.123: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.124: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.125: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:57.135: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:57.136: Device reported enroll progress, reported 2 of 12 have been completed
Enroll stage 2 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:57.137: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.138: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.139: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:57.374: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:57.375: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.376: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:57.377: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:58.412: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.414: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.414: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:58.425: Device reported enroll progress, reported 3 of 12 have been completed
Enroll stage 3 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:58.426: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.427: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.428: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:58.632: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:58.633: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.635: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:58.635: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.155: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.156: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.157: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.158: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.168: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.169: Device reported enroll progress, reported 4 of 12 have been completed
Enroll stage 4 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.171: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.335: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.336: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.338: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.338: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.782: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.784: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.785: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.795: Device reported enroll progress, reported 5 of 12 have been completed
Enroll stage 5 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.796: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.797: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.798: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:25:59.870: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:25:59.871: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.873: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:25:59.873: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:00.366: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:00.367: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.369: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.369: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:00.380: Device reported enroll progress, reported 6 of 12 have been completed
Enroll stage 6 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.382: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.382: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:00.455: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:00.456: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:00.456: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.458: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.458: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:00.964: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:00.965: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.967: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.967: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:00.978: Device reported enroll progress, reported 7 of 12 have been completed
Enroll stage 7 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.980: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:00.980: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:01.165: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.167: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.167: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:01.704: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.706: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.707: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:01.717: Device reported enroll progress, reported 8 of 12 have been completed
Enroll stage 8 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.719: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.720: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:01.884: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.886: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:01.887: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:02.581: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:02.582: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.583: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.584: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:02.594: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:02.595: Device reported enroll progress, reported 9 of 12 have been completed
Enroll stage 9 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.597: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.597: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:02.639: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:02.640: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.642: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.642: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:02.942: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:02.943: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.945: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.945: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:02.956: Device reported enroll progress, reported 10 of 12 have been completed
Enroll stage 10 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:02.957: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:02.957: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.958: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:02.959: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:03.143: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.145: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.145: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:03.628: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.630: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.630: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:03.641: Device reported enroll progress, reported 11 of 12 have been completed
Enroll stage 11 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] enroll entering state 5
(process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.643: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.644: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:03.750: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.752: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:03.752: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.178: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:04.179: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:48146): libfprint-goodixmoc-DEBUG: 20:26:04.179: Capture sample poor quality(15): 78 or coverage(65): 59
(process:48146): libfprint-device-DEBUG: 20:26:04.179: Device reported enroll progress, reported 11 of 12 have been completed

** (process:48146): WARNING **: 20:26:04.179: Enroll stage 11 of 12 failed with error The finger was not centered properly, please try again.
(process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] enroll entering state 3
(process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.181: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.181: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.472: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] enroll entering state 4
(process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:04.474: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.475: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.476: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.476: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-device-DEBUG: 20:26:04.477: Device reported enroll progress, reported 12 of 12 have been completed
Enroll stage 12 of 12 passed. Yay!
(process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] enroll entering state 6
(process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.479: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.479: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] SSM enroll failed in state 6 with error: Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison'
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] enroll entering state 8
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.485: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:48146): libfprint-SSM-DEBUG: 20:26:04.485: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] enroll completed with error: Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison'
(process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported enroll completion
(process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported finger status change: FP_FINGER_STATUS_NONE
(process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:48146): libfprint-device-DEBUG: 20:26:04.486: Completing action FPI_DEVICE_ACTION_ENROLL in idle!
(process:48146): libfprint-device-DEBUG: 20:26:04.486: Not updating temperature model, device can run continuously!

** (process:48146): WARNING **: 20:26:04.486: Enroll failed with error Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison'
(process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported close completion
(process:48146): libfprint-device-DEBUG: 20:26:04.487: Completing action FPI_DEVICE_ACTION_CLOSE in idle!
(process:48146): libfprint-device-DEBUG: 20:26:04.487: Not updating temperature model, device can run continuously!
```bash gcc $(pkg-config --cflags libfprint-2) storage.c utilities.c enroll.c $(pkg-config --libs libfprint-2) -o enroll ./enroll ``` <details> <summary>Output:</summary> ``` This program will enroll the selected finger overwriting any print for the same finger that was enrolled previously. Fingerprint updates without erasing old data are possible on devices supporting that. Ctrl+C interrupts program execution. Choose the finger to enroll: [0] left thumb [1] left index [2] left middle [3] left ring [4] left little [5] right thumb [6] right index [7] right middle [8] right ring [9] right little > 6 (process:48134): libfprint-context-DEBUG: 20:25:45.158: Initializing FpContext (libfprint version 1.94.7+tod1) (process:48134): libfprint-tod-DEBUG: 20:25:45.158: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0003 (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 32AC:0002 (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 8087:0032 (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0002 (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0003 (process:48134): libfprint-context-DEBUG: 20:25:45.162: No driver found for USB device 1D6B:0002 (process:48134): libfprint-device-WARNING **: 20:25:45.163: Failed to disable USB persist by writing to /sys/bus/usb/devices/3-9/power/persist libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/003/003, errno=13 libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes (process:48134): libfprint-device-DEBUG: 20:25:45.163: Device reported probe completion (process:48134): libfprint-device-DEBUG: 20:25:45.163: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:48134): libfprint-device-DEBUG: 20:25:45.163: Not updating temperature model, device can run continuously! libfprint-context-Message: 20:25:45.163: Ignoring device due to initialization error: USB error on device 27c6:609c : Access denied (insufficient permissions) [-3] ** (process:48134): WARNING **: 20:25:45.163: No devices detected. ``` </details> ``` sudo ./enroll ``` <details> <summary>Output:</summary> ``` This program will enroll the selected finger overwriting any print for the same finger that was enrolled previously. Fingerprint updates without erasing old data are possible on devices supporting that. Ctrl+C interrupts program execution. Choose the finger to enroll: [0] left thumb [1] left index [2] left middle [3] left ring [4] left little [5] right thumb [6] right index [7] right middle [8] right ring [9] right little > 6 (process:48146): libfprint-context-DEBUG: 20:25:50.173: Initializing FpContext (libfprint version 1.94.7+tod1) (process:48146): libfprint-tod-DEBUG: 20:25:50.173: Impossible to load the shared drivers dir Error opening directory ?/usr/lib/x86_64-linux-gnu/libfprint-2/tod-1?: No such file or directory (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0003 (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 32AC:0002 (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 8087:0032 (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0002 (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0003 (process:48146): libfprint-context-DEBUG: 20:25:50.177: No driver found for USB device 1D6B:0002 (process:48146): libfprint-device-DEBUG: 20:25:50.530: Device reported probe completion (process:48146): libfprint-device-DEBUG: 20:25:50.530: Completing action FPI_DEVICE_ACTION_PROBE in idle! (process:48146): libfprint-device-DEBUG: 20:25:50.530: Not updating temperature model, device can run continuously! Selected device UIDFBFDB229_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver (process:48146): libfprint-SSM-DEBUG: 20:25:50.774: [goodixmoc] FP_INIT_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.774: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.775: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-goodixmoc-DEBUG: 20:25:50.776: Firmware type: APP (process:48146): libfprint-goodixmoc-DEBUG: 20:25:50.776: Firmware version: 01000252 (process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_INIT_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.776: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.777: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_INIT_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:50.779: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.780: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.780: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_INIT_NUM_STATES completed successfully (process:48146): libfprint-device-DEBUG: 20:25:50.786: Device reported open completion (process:48146): libfprint-SSM-DEBUG: 20:25:50.786: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-device-DEBUG: 20:25:50.786: Completing action FPI_DEVICE_ACTION_OPEN in idle! (process:48146): libfprint-device-DEBUG: 20:25:50.786: Not updating temperature model, device can run continuously! Opened device. The device doesn't support fingerprint updates. Old prints will be erased. It's now time to enroll your finger. You will need to successfully scan your right index finger 12 times to complete the process. Scan your finger now. (process:48146): libfprint-device-DEBUG: 20:25:50.787: Not updating temperature model, device can run continuously! (process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] enroll entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.788: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] enroll entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:50.789: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.790: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.790: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] enroll entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:50.796: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.797: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.797: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] enroll entering state 3 (process:48146): libfprint-device-DEBUG: 20:25:50.799: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:50.799: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.800: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:50.800: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:54.889: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:54.890: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:54.890: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:54.891: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:55.757: Device reported enroll progress, reported 1 of 12 have been completed Enroll stage 1 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:55.757: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:55.758: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:55.759: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:55.759: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:56.198: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:56.198: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:56.200: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:56.201: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:57.122: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:57.123: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:57.123: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.124: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.125: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:57.135: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:57.136: Device reported enroll progress, reported 2 of 12 have been completed Enroll stage 2 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:57.136: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:57.137: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.138: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.139: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:57.374: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:57.374: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:57.375: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.376: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:57.377: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:58.412: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:58.412: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.414: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.414: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:58.425: Device reported enroll progress, reported 3 of 12 have been completed Enroll stage 3 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:58.425: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:58.426: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.427: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.428: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:58.632: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:58.633: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:58.633: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.635: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:58.635: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.155: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.155: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.156: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.157: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.158: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.168: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.169: Device reported enroll progress, reported 4 of 12 have been completed Enroll stage 4 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.169: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.171: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.171: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.335: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.336: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.336: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.338: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.338: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.782: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.782: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.784: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.785: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.795: Device reported enroll progress, reported 5 of 12 have been completed Enroll stage 5 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.795: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.796: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.797: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.798: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:25:59.870: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:25:59.871: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:25:59.871: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.873: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:25:59.873: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:00.366: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:00.367: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:00.367: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.369: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.369: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:00.380: Device reported enroll progress, reported 6 of 12 have been completed Enroll stage 6 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:00.380: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.382: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.382: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:00.455: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:00.455: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:00.456: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:00.456: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.458: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.458: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:00.964: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:00.965: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:00.965: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.967: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.967: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:00.978: Device reported enroll progress, reported 7 of 12 have been completed Enroll stage 7 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:00.978: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.980: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:00.980: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:01.165: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:01.165: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.167: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.167: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:01.704: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:01.704: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.706: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.707: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:01.717: Device reported enroll progress, reported 8 of 12 have been completed Enroll stage 8 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:01.717: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.719: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.720: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:01.884: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:01.884: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.886: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:01.887: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:02.581: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:02.581: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:02.582: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.583: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.584: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:02.594: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:02.595: Device reported enroll progress, reported 9 of 12 have been completed Enroll stage 9 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:02.595: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.597: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.597: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:02.639: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:02.640: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:02.640: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.642: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.642: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:02.942: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:02.943: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:02.943: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.945: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.945: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:02.956: Device reported enroll progress, reported 10 of 12 have been completed Enroll stage 10 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:02.956: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:02.957: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:02.957: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.958: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:02.959: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:03.143: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:03.143: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.145: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.145: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:03.628: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:03.628: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.630: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.630: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:03.641: Device reported enroll progress, reported 11 of 12 have been completed Enroll stage 11 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] enroll entering state 5 (process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:03.641: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.643: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.644: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:03.750: Device reported finger status change: FP_FINGER_STATUS_NEEDED (process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:03.750: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.752: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:03.752: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.178: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:04.179: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT (process:48146): libfprint-goodixmoc-DEBUG: 20:26:04.179: Capture sample poor quality(15): 78 or coverage(65): 59 (process:48146): libfprint-device-DEBUG: 20:26:04.179: Device reported enroll progress, reported 11 of 12 have been completed ** (process:48146): WARNING **: 20:26:04.179: Enroll stage 11 of 12 failed with error The finger was not centered properly, please try again. (process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] enroll entering state 3 (process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:04.179: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.181: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.181: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.472: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] enroll entering state 4 (process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:04.473: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:04.474: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.475: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.476: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.476: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-device-DEBUG: 20:26:04.477: Device reported enroll progress, reported 12 of 12 have been completed Enroll stage 12 of 12 passed. Yay! (process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] enroll entering state 6 (process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:04.477: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.479: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.479: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] SSM enroll failed in state 6 with error: Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison' (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] enroll entering state 8 (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 0 (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-SSM-DEBUG: 20:26:04.483: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.485: [goodixmoc] FP_CMD_NUM_STATES entering state 1 (process:48146): libfprint-SSM-DEBUG: 20:26:04.485: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] FP_CMD_NUM_STATES entering state 2 (process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] enroll completed with error: Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison' (process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported enroll completion (process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported finger status change: FP_FINGER_STATUS_NONE (process:48146): libfprint-SSM-DEBUG: 20:26:04.486: [goodixmoc] FP_CMD_NUM_STATES completed successfully (process:48146): libfprint-device-DEBUG: 20:26:04.486: Completing action FPI_DEVICE_ACTION_ENROLL in idle! (process:48146): libfprint-device-DEBUG: 20:26:04.486: Not updating temperature model, device can run continuously! ** (process:48146): WARNING **: 20:26:04.486: Enroll failed with error Finger was already enrolled as 'FP1-20251126-7-7ADCA84A-benjamin_loison' (process:48146): libfprint-device-DEBUG: 20:26:04.486: Device reported close completion (process:48146): libfprint-device-DEBUG: 20:26:04.487: Completing action FPI_DEVICE_ACTION_CLOSE in idle! (process:48146): libfprint-device-DEBUG: 20:26:04.487: Not updating temperature model, device can run continuously! ``` </details>
Author
Owner

printf("on_enroll_progress\n"); is called, but no enrolled.pgm is generated.

So my fingerprint reader definitely seems not to enable getting images.

`printf("on_enroll_progress\n");` is called, but no `enrolled.pgm` is generated. So my fingerprint reader definitely seems not to enable getting images.
Author
Owner

Note that if delete images in prints/ enroll do not regenerate some.

Note that if delete images in `prints/` `enroll` do not regenerate some.
Author
Owner
~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool help
Output:
Usage: /home/benjamin_loison/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool [--dev=n] [--interface=dev|i2c|lpc] [--i2c_bus=n][--name=cros_ec|cros_fp|cros_pd|cros_scp|cros_ish] [--ascii] <command> [params]

  --i2c_bus=n  Specifies the number of an I2C bus to use. For
               example, to use /dev/i2c-7, pass --i2c_bus=7.
               Implies --interface=i2c.

Commands:
  adcread <channel>
      Read an ADC channel.
  addentropy [reset]
      Add entropy to device secret
  apreset
      Issue AP reset
  autofanctrl <on>
      Turn on automatic fan speed control.
  backlight <enabled>
      Enable/disable LCD backlight
  battery
      Prints battery info
  batterycutoff [at-shutdown]
      Cut off battery output power
  batteryparam
      Read or write board-specific battery parameter
  boardversion
      Prints the board version
  button [vup|vdown|rec] <Delay-ms>
      Simulates button press.
  cbi
      Get/Set/Remove Cros Board Info
  chargecurrentlimit
      Set the maximum battery charging current
  chargecontrol
      Force the battery to stop charging or discharge
  chargeoverride
      Overrides charge port selection logic
  chargestate
      Handle commands related to charge state v2 (and later)
  chipinfo
      Prints chip info
  cmdversions <cmd>
      Prints supported version mask for a command number
  console
      Prints the last output to the EC debug console
  cec
      Read or write CEC messages and settings
  echash [CMDS]
      Various EC hash commands
  eventclear <mask>
      Clears EC host events flags where mask has bits set
  eventclearb <mask>
      Clears EC host events flags copy B where mask has bits set
  eventget
      Prints raw EC host event flags
  eventgetb
      Prints raw EC host event flags copy B
  eventgetscimask
      Prints SCI mask for EC host events
  eventgetsmimask
      Prints SMI mask for EC host events
  eventgetwakemask
      Prints wake mask for EC host events
  eventsetscimask <mask>
      Sets the SCI mask for EC host events
  eventsetsmimask <mask>
      Sets the SMI mask for EC host events
  eventsetwakemask <mask>
      Sets the wake mask for EC host events
  extpwrlimit
      Set the maximum external power limit
  fanduty <percent>
      Forces the fan PWM to a constant duty cycle
  flasherase <offset> <size>
      Erases EC flash
  flasheraseasync <offset> <size>
      Erases EC flash asynchronously
  flashinfo
      Prints information on the EC flash
  flashspiinfo
      Prints information on EC SPI flash, if present
  flashpd <dev_id> <port> <filename>
      Flash commands over PD
  flashprotect [now] [enable | disable]
      Prints or sets EC flash protection state
  flashread <offset> <size> <outfile>
      Reads from EC flash to a file
  flashwrite <offset> <infile>
      Writes to EC flash from a file
  forcelidopen <enable>
      Forces the lid switch to open position
  fpcontext
      Sets the fingerprint sensor context
  fpencstatus
      Prints status of Fingerprint sensor encryption engine
  fpframe
      Retrieve the finger image as a PGM image
  fpinfo
      Prints information about the Fingerprint sensor
  fpmode [capture|deepsleep|fingerdown|fingerup]
      Configure/Read the fingerprint sensor current mode
  fpseed
      Sets the value of the TPM seed.
  fpstats
      Prints timing statisitcs relating to capture and matching
  fptemplate [<infile>|<index 0..2>]
      Add a template if <infile> is provided, else dump it
  gpioget <GPIO name>
      Get the value of GPIO signal
  gpioset <GPIO name>
      Set the value of GPIO signal
  hangdetect <flags> <event_msec> <reboot_msec> | stop | start
      Configure or start/stop the hang detect timer
  hello
      Checks for basic communication with EC
  hibdelay [sec]
      Set the delay before going into hibernation
  hostsleepstate
      Report host sleep state to the EC
  hostevent
      Get & set host event masks.
  i2cprotect <port> [status]
      Protect EC's I2C bus
  i2cread
      Read I2C bus
  i2cwrite
      Write I2C bus
  i2cxfer <port> <slave_addr> <read_count> [write bytes...]
      Perform I2C transfer on EC's I2C bus
  infopddev <port>
      Get info about USB type-C accessory attached to port
  inventory
      Return the list of supported features
  kbfactorytest
      Scan out keyboard if any pins are shorted
  kbid
      Get keyboard ID of supported keyboards
  kbinfo
      Dump keyboard matrix dimensions
  kbpress
      Simulate key press
  keyscan <beat_us> <filename>
      Test low-level key scanning
  led <name> <query | auto | off | <color> | <color>=<value>...>
      Set the color of an LED or query brightness range
  lightbar [CMDS]
      Various lightbar control commands
  mkbpget <buttons|switches>
      Get MKBP buttons/switches supported mask and current state
  mkbpwakemask <get|set> <event|hostevent> [mask]
      Get or Set the MKBP event wake mask, or host event wake mask
  motionsense [CMDS]
      Various motion sense control commands
  panicinfo
      Prints saved panic info
  pause_in_s5 [on|off]
      Whether or not the AP should pause in S5 on shutdown
  pdcontrol [suspend|resume|reset|disable|on]
      Controls the PD chip
  pdchipinfo <port>
      Get PD chip information
  pdlog
      Prints the PD event log entries
  pdwritelog <type> <port>
      Writes a PD event log of the given <type>
  pdgetmode <port>
      Get All USB-PD alternate SVIDs and modes on <port>
  pdsetmode <port> <svid> <opos>
      Set USB-PD alternate SVID and mode on <port>
  port80flood
      Rapidly write bytes to port 80
  port80read
      Print history of port 80 write
  powerinfo
      Prints power-related information
  protoinfo
       Prints EC host protocol information
  pse
      Get and set PoE PSE port power status
  pstoreinfo
      Prints information on the EC host persistent storage
  pstoreread <offset> <size> <outfile>
      Reads from EC host persistent storage to a file
  pstorewrite <offset> <infile>
      Writes to EC host persistent storage from a file
  pwmgetfanrpm [<index> | all]
      Prints current fan RPM
  pwmgetkblight
      Prints current keyboard backlight percent
  pwmgetnumfans
      Prints the number of fans present
  pwmgetduty
      Prints the current 16 bit duty cycle for given PWM
  pwmsetfanrpm <targetrpm>
      Set target fan RPM
  pwmsetkblight <percent>
      Set keyboard backlight in percent
  pwmsetduty
      Set 16 bit duty cycle of given PWM
  rand <num_bytes>
      generate <num_bytes> of random numbers
  readtest <patternoffset> <size>
      Reads a pattern from the EC via LPC
  reboot_ec <RO|RW|cold|hibernate|hibernate-clear-ap-off|disable-jump> [at-shutdown|switch-slot]
      Reboot EC to RO or RW
  reboot_ap_on_g3
      Requests that the EC will automatically reboot the AP the next time
      we enter the G3 power state.
  rollbackinfo
      Print rollback block information
  rtcget
      Print real-time clock
  rtcgetalarm
      Print # of seconds before real-time clock alarm goes off.
  rtcset <time>
      Set real-time clock
  rtcsetalarm <sec>
      Set real-time clock alarm to go off in <sec> seconds
  rwhashpd <dev_id> <HASH[0] ... <HASH[4]>
      Set entry in PD MCU's device rw_hash table.
  rwsig <info|dump|action|status> ...
      info: get all info about rwsig
      dump: show individual rwsig field
      action: Control the behavior of RWSIG task.
      status: Run RW signature verification and get status.
{  rwsigaction (DEPRECATED; use "rwsig action")
      Control the behavior of RWSIG task.
  rwsigstatus (DEPRECATED; use "rwsig status"
      Run RW signature verification and get status.
  sertest
      Serial output test for COM2
  smartdischarge
      Set/Get smart discharge parameters
  stress [reboot] [help]
      Stress test the ec host command interface.
  sysinfo [flags|reset_flags|firmware_copy]
      Display system info.
  switches
      Prints current EC switch positions
  temps <sensorid>
      Print temperature.
  tempsinfo <sensorid>
      Print temperature sensor info.
  thermalget <platform-specific args>
      Get the threshold temperature values from the thermal engine.
  thermalset <platform-specific args>
      Set the threshold temperature values for the thermal engine.
  tpselftest
      Run touchpad self test.
  tpframeget
      Get touchpad frame data.
  tmp006cal <tmp006_index> [params...]
      Get/set TMP006 calibration
  tmp006raw <tmp006_index>
      Get raw TMP006 data
  typeccontrol <port> <command>
      Control USB PD policy
  typecdiscovery <port> <type>
      Get discovery information for port and type
  typecstatus <port>
      Get status information for port
  uptimeinfo
      Get info about how long the EC has been running and the most
      recent AP resets
  usbchargemode <port> <mode> [<inhibit_charge>]
      Set USB charging mode
  usbmux <mux>
      Set USB mux switch state
  usbpd <port> <auto | [toggle|toggle-off|sink|source] [none|usb|dp|dock] [dr_swap|pr_swap|vconn_swap]>
      Control USB PD/type-C [deprecated]
  usbpdmuxinfo
      Get USB-C SS mux info
  usbpdpower [port]
      Get USB PD power information
  version
      Prints EC version
  waitevent <type> [<timeout>]
      Wait for the MKBP event of type and display it
  wireless <flags> [<mask> [<suspend_flags> <suspend_mask>]]
      Enable/disable WLAN/Bluetooth radio
``` ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool help ``` <details> <summary>Output:</summary> ``` Usage: /home/benjamin_loison/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool [--dev=n] [--interface=dev|i2c|lpc] [--i2c_bus=n][--name=cros_ec|cros_fp|cros_pd|cros_scp|cros_ish] [--ascii] <command> [params] --i2c_bus=n Specifies the number of an I2C bus to use. For example, to use /dev/i2c-7, pass --i2c_bus=7. Implies --interface=i2c. Commands: adcread <channel> Read an ADC channel. addentropy [reset] Add entropy to device secret apreset Issue AP reset autofanctrl <on> Turn on automatic fan speed control. backlight <enabled> Enable/disable LCD backlight battery Prints battery info batterycutoff [at-shutdown] Cut off battery output power batteryparam Read or write board-specific battery parameter boardversion Prints the board version button [vup|vdown|rec] <Delay-ms> Simulates button press. cbi Get/Set/Remove Cros Board Info chargecurrentlimit Set the maximum battery charging current chargecontrol Force the battery to stop charging or discharge chargeoverride Overrides charge port selection logic chargestate Handle commands related to charge state v2 (and later) chipinfo Prints chip info cmdversions <cmd> Prints supported version mask for a command number console Prints the last output to the EC debug console cec Read or write CEC messages and settings echash [CMDS] Various EC hash commands eventclear <mask> Clears EC host events flags where mask has bits set eventclearb <mask> Clears EC host events flags copy B where mask has bits set eventget Prints raw EC host event flags eventgetb Prints raw EC host event flags copy B eventgetscimask Prints SCI mask for EC host events eventgetsmimask Prints SMI mask for EC host events eventgetwakemask Prints wake mask for EC host events eventsetscimask <mask> Sets the SCI mask for EC host events eventsetsmimask <mask> Sets the SMI mask for EC host events eventsetwakemask <mask> Sets the wake mask for EC host events extpwrlimit Set the maximum external power limit fanduty <percent> Forces the fan PWM to a constant duty cycle flasherase <offset> <size> Erases EC flash flasheraseasync <offset> <size> Erases EC flash asynchronously flashinfo Prints information on the EC flash flashspiinfo Prints information on EC SPI flash, if present flashpd <dev_id> <port> <filename> Flash commands over PD flashprotect [now] [enable | disable] Prints or sets EC flash protection state flashread <offset> <size> <outfile> Reads from EC flash to a file flashwrite <offset> <infile> Writes to EC flash from a file forcelidopen <enable> Forces the lid switch to open position fpcontext Sets the fingerprint sensor context fpencstatus Prints status of Fingerprint sensor encryption engine fpframe Retrieve the finger image as a PGM image fpinfo Prints information about the Fingerprint sensor fpmode [capture|deepsleep|fingerdown|fingerup] Configure/Read the fingerprint sensor current mode fpseed Sets the value of the TPM seed. fpstats Prints timing statisitcs relating to capture and matching fptemplate [<infile>|<index 0..2>] Add a template if <infile> is provided, else dump it gpioget <GPIO name> Get the value of GPIO signal gpioset <GPIO name> Set the value of GPIO signal hangdetect <flags> <event_msec> <reboot_msec> | stop | start Configure or start/stop the hang detect timer hello Checks for basic communication with EC hibdelay [sec] Set the delay before going into hibernation hostsleepstate Report host sleep state to the EC hostevent Get & set host event masks. i2cprotect <port> [status] Protect EC's I2C bus i2cread Read I2C bus i2cwrite Write I2C bus i2cxfer <port> <slave_addr> <read_count> [write bytes...] Perform I2C transfer on EC's I2C bus infopddev <port> Get info about USB type-C accessory attached to port inventory Return the list of supported features kbfactorytest Scan out keyboard if any pins are shorted kbid Get keyboard ID of supported keyboards kbinfo Dump keyboard matrix dimensions kbpress Simulate key press keyscan <beat_us> <filename> Test low-level key scanning led <name> <query | auto | off | <color> | <color>=<value>...> Set the color of an LED or query brightness range lightbar [CMDS] Various lightbar control commands mkbpget <buttons|switches> Get MKBP buttons/switches supported mask and current state mkbpwakemask <get|set> <event|hostevent> [mask] Get or Set the MKBP event wake mask, or host event wake mask motionsense [CMDS] Various motion sense control commands panicinfo Prints saved panic info pause_in_s5 [on|off] Whether or not the AP should pause in S5 on shutdown pdcontrol [suspend|resume|reset|disable|on] Controls the PD chip pdchipinfo <port> Get PD chip information pdlog Prints the PD event log entries pdwritelog <type> <port> Writes a PD event log of the given <type> pdgetmode <port> Get All USB-PD alternate SVIDs and modes on <port> pdsetmode <port> <svid> <opos> Set USB-PD alternate SVID and mode on <port> port80flood Rapidly write bytes to port 80 port80read Print history of port 80 write powerinfo Prints power-related information protoinfo Prints EC host protocol information pse Get and set PoE PSE port power status pstoreinfo Prints information on the EC host persistent storage pstoreread <offset> <size> <outfile> Reads from EC host persistent storage to a file pstorewrite <offset> <infile> Writes to EC host persistent storage from a file pwmgetfanrpm [<index> | all] Prints current fan RPM pwmgetkblight Prints current keyboard backlight percent pwmgetnumfans Prints the number of fans present pwmgetduty Prints the current 16 bit duty cycle for given PWM pwmsetfanrpm <targetrpm> Set target fan RPM pwmsetkblight <percent> Set keyboard backlight in percent pwmsetduty Set 16 bit duty cycle of given PWM rand <num_bytes> generate <num_bytes> of random numbers readtest <patternoffset> <size> Reads a pattern from the EC via LPC reboot_ec <RO|RW|cold|hibernate|hibernate-clear-ap-off|disable-jump> [at-shutdown|switch-slot] Reboot EC to RO or RW reboot_ap_on_g3 Requests that the EC will automatically reboot the AP the next time we enter the G3 power state. rollbackinfo Print rollback block information rtcget Print real-time clock rtcgetalarm Print # of seconds before real-time clock alarm goes off. rtcset <time> Set real-time clock rtcsetalarm <sec> Set real-time clock alarm to go off in <sec> seconds rwhashpd <dev_id> <HASH[0] ... <HASH[4]> Set entry in PD MCU's device rw_hash table. rwsig <info|dump|action|status> ... info: get all info about rwsig dump: show individual rwsig field action: Control the behavior of RWSIG task. status: Run RW signature verification and get status. { rwsigaction (DEPRECATED; use "rwsig action") Control the behavior of RWSIG task. rwsigstatus (DEPRECATED; use "rwsig status" Run RW signature verification and get status. sertest Serial output test for COM2 smartdischarge Set/Get smart discharge parameters stress [reboot] [help] Stress test the ec host command interface. sysinfo [flags|reset_flags|firmware_copy] Display system info. switches Prints current EC switch positions temps <sensorid> Print temperature. tempsinfo <sensorid> Print temperature sensor info. thermalget <platform-specific args> Get the threshold temperature values from the thermal engine. thermalset <platform-specific args> Set the threshold temperature values for the thermal engine. tpselftest Run touchpad self test. tpframeget Get touchpad frame data. tmp006cal <tmp006_index> [params...] Get/set TMP006 calibration tmp006raw <tmp006_index> Get raw TMP006 data typeccontrol <port> <command> Control USB PD policy typecdiscovery <port> <type> Get discovery information for port and type typecstatus <port> Get status information for port uptimeinfo Get info about how long the EC has been running and the most recent AP resets usbchargemode <port> <mode> [<inhibit_charge>] Set USB charging mode usbmux <mux> Set USB mux switch state usbpd <port> <auto | [toggle|toggle-off|sink|source] [none|usb|dp|dock] [dr_swap|pr_swap|vconn_swap]> Control USB PD/type-C [deprecated] usbpdmuxinfo Get USB-C SS mux info usbpdpower [port] Get USB PD power information version Prints EC version waitevent <type> [<timeout>] Wait for the MKBP event of type and display it wireless <flags> [<mask> [<suspend_flags> <suspend_mask>]] Enable/disable WLAN/Bluetooth radio ``` </details>
Author
Owner
Note:
  fpcontext
      Sets the fingerprint sensor context
  fpencstatus
      Prints status of Fingerprint sensor encryption engine
  fpframe
      Retrieve the finger image as a PGM image
  fpinfo
      Prints information about the Fingerprint sensor
  fpmode [capture|deepsleep|fingerdown|fingerup]
      Configure/Read the fingerprint sensor current mode
<details> <summary>Note:</summary> ``` fpcontext Sets the fingerprint sensor context fpencstatus Prints status of Fingerprint sensor encryption engine fpframe Retrieve the finger image as a PGM image fpinfo Prints information about the Fingerprint sensor fpmode [capture|deepsleep|fingerdown|fingerup] Configure/Read the fingerprint sensor current mode ``` </details>
Author
Owner
sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpcontext
Usage: fpcontext <context>
```bash sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpcontext ``` ``` Usage: fpcontext <context> ```
Author
Owner
sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpencstatus
Output:
EC result 1 (INVALID_COMMAND)
Get FP sensor encryption status failed.
```bash sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpencstatus ``` <details> <summary>Output:</summary> ``` EC result 1 (INVALID_COMMAND) Get FP sensor encryption status failed. ``` </details>
Author
Owner
sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpinfo
Output:
EC result 3 (INVALID_PARAM)
EC result 1 (INVALID_COMMAND)
```bash sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpinfo ``` <details> <summary>Output:</summary> ``` EC result 3 (INVALID_PARAM) EC result 1 (INVALID_COMMAND) ``` </details>
Author
Owner
sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpframe
Output:
EC result 3 (INVALID_PARAM)
EC result 1 (INVALID_COMMAND)
Failed to get FP sensor frame
```bash sudo ~/Desktop/bens_folder/dev/git/github/EmbeddedController/build/hx30/util/ectool fpframe ``` <details> <summary>Output:</summary> ``` EC result 3 (INVALID_PARAM) EC result 1 (INVALID_COMMAND) Failed to get FP sensor frame ``` </details>
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Benjamin_Loison/linux#91