```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`.
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>
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>
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
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.
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.
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".
```
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).
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
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
(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.
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>
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) ...
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.
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.
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:]
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>
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.
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.
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`.
/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>
/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>
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>
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>
[libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/README.md](https://gitlab.freedesktop.org/libfprint/libfprint/-/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/README.md) does not help compiling.
[libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/HACKING.md](https://gitlab.freedesktop.org/libfprint/libfprint/-/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/HACKING.md) does not seem to help.
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>
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>
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>
/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
/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);
(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>
(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>
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>
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.
~/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>
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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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:
Output:
on my Linux Mint 22.2 Cinnamon Framework 13.
I only censored with
Y.does not return anything.
Output:
sudoavoids asking for the password again and again for my tests.However, it assigns the fingerprint to
root:Output:
Output:
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.Output:
Output:
Output:
does not return anything, related to #37.
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.
DuckDuckGo and Google search Linux /var/lib/fprint/ to image.
Output:
Output:
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).
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
DuckDuckGo search
"gi.require_version".https://pygobject.gnome.org/guide/api/api.html#gi.require_version
DuckDuckGo search
"require_version" "Namespace" "not available".Output:
Output:
Python script:
Output:
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
https://lazka.github.io/pgi-docs/FPrint-2.0/classes/Device.html looks too complex.
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
Output:
Output:
Output:
So it does not seem interesting.
Output:
Output:
Output:
Output:
Output:
Output:
Output:
Output:
Output:
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.
does not return anything.
DuckDuckGo and Google search
"fprint.h: No such file or directory".RogueScholar/fingerprint-gui/issues/4#issuecomment-668893264 helps.
Output:
Output:
Output:
Output:
Output:
DuckDuckGo search
"gio.h: No such file or directory".poliva/lightum/issues/52#issuecomment-261789469
Output:
Google search
"gio.h: No such file or directory".Output:
Source: the Stack Overflow comment 32521945
Note
storage.h.Output:
Output:
Output:
Output:
meson.build:Output:
prints/README:The images are fingerprints.
libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/README.md does not help compiling.
libfprint/libfprint/blob/596b5f803238dd877c2c262833a7dfcf14f4ed91/HACKING.md does not seem to help.
Output:
Output:
Output:
Output:
Output:
Source: the Ask Ubuntu answer 145545
Output:
Output:
DuckDuckGo and Google search
"fpi-compat.h: No such file or directory".Output:
Output:
If change
storage.cwith a relative path:Output:
Output:
does not return anything.
Output:
Output:
Output:
Output:
Output:
Output:
printf("on_enroll_progress\n");is called, but noenrolled.pgmis generated.So my fingerprint reader definitely seems not to enable getting images.
Note that if delete images in
prints/enrolldo not regenerate some.Output:
Note:
Output:
Output:
Output: