Enrollment always fails with: libfprint-WARNING **: Enroll stage 0 of 12 failed with error Please try again.
27c6:639c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Following up from issue 482.
The terminal 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:25120): libfprint-context-DEBUG: 07:22:20.719: Initializing FpContext (libfprint version 1.94.5)
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 1D6B:0003
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 8087:0029
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 0C45:6725
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 1D6B:0002
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 1D6B:0003
(process:25120): libfprint-context-DEBUG: 07:22:20.723: No driver found for USB device 1D6B:0002
(process:25120): libfprint-device-DEBUG: 07:22:21.281: Device reported probe completion
(process:25120): libfprint-device-DEBUG: 07:22:21.281: Completing action FPI_DEVICE_ACTION_PROBE in idle!
(process:25120): libfprint-device-DEBUG: 07:22:21.281: Not updating temperature model, device can run continuously!
Selected device UIDC7D7A9C3_XXXX_MOC_B0 (Goodix MOC Fingerprint Sensor) claimed by goodixmoc driver
libusb: error [udev_hotplug_event] ignoring udev action change
(process:25120): libfprint-SSM-DEBUG: 07:22:21.567: [goodixmoc] FP_INIT_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.568: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.568: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.568: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.569: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.569: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-goodixmoc-DEBUG: 07:22:21.569: Firmware type: APP
(process:25120): libfprint-goodixmoc-DEBUG: 07:22:21.569: Firmware version: 01000262
(process:25120): libfprint-SSM-DEBUG: 07:22:21.569: [goodixmoc] FP_INIT_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.569: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.569: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:21.570: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.571: [goodixmoc] FP_CMD_NUM_STATES entering state 1
libusb: error [udev_hotplug_event] ignoring udev action change
(process:25120): libfprint-SSM-DEBUG: 07:22:21.571: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.572: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.572: [goodixmoc] FP_INIT_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.572: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.572: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:21.572: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.573: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.573: [goodixmoc] FP_CMD_NUM_STATES entering state 2
libusb: error [udev_hotplug_event] ignoring udev action change
(process:25120): libfprint-SSM-DEBUG: 07:22:21.576: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.577: [goodixmoc] FP_INIT_NUM_STATES completed successfully
(process:25120): libfprint-device-DEBUG: 07:22:21.577: Device reported open completion
(process:25120): libfprint-SSM-DEBUG: 07:22:21.577: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-device-DEBUG: 07:22:21.577: Completing action FPI_DEVICE_ACTION_OPEN in idle!
(process:25120): libfprint-device-DEBUG: 07:22:21.577: 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.
libusb: error [udev_hotplug_event] ignoring udev action change
(process:25120): libfprint-device-DEBUG: 07:22:21.577: Not updating temperature model, device can run continuously!
(process:25120): libfprint-SSM-DEBUG: 07:22:21.577: [goodixmoc] enroll entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.577: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.578: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] enroll entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:21.579: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.580: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.581: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.583: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.584: [goodixmoc] enroll entering state 3
(process:25120): libfprint-SSM-DEBUG: 07:22:21.584: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.584: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:21.584: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.585: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.585: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.587: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:21.587: [goodixmoc] enroll entering state 4
(process:25120): libfprint-device-DEBUG: 07:22:21.587: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:25120): libfprint-SSM-DEBUG: 07:22:21.587: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:21.587: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:21.587: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.588: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:21.588: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:22.861: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-device-DEBUG: 07:22:22.861: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(process:25120): libfprint-SSM-DEBUG: 07:22:22.861: [goodixmoc] enroll entering state 5
(process:25120): libfprint-SSM-DEBUG: 07:22:22.861: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:22.861: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:22.861: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:22.863: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:22.863: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:22.868: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-device-DEBUG: 07:22:22.868: Device reported enroll progress, reported 0 of 12 have been completed
(process:25120): libfprint-WARNING **: 07:22:22.868: Enroll stage 0 of 12 failed with error Please try again.
(process:25120): libfprint-SSM-DEBUG: 07:22:22.868: [goodixmoc] enroll entering state 6
(process:25120): libfprint-SSM-DEBUG: 07:22:22.868: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:22.868: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:22.868: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:22.870: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:22.870: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-SSM-DEBUG: 07:22:23.456: [goodixmoc] FP_CMD_NUM_STATES entering state 2
(process:25120): libfprint-device-DEBUG: 07:22:23.456: Device reported finger status change: FP_FINGER_STATUS_NEEDED
(process:25120): libfprint-SSM-DEBUG: 07:22:23.456: [goodixmoc] enroll entering state 4
(process:25120): libfprint-SSM-DEBUG: 07:22:23.456: [goodixmoc] FP_CMD_NUM_STATES entering state 0
(process:25120): libfprint-SSM-DEBUG: 07:22:23.456: [goodixmoc] FP_CMD_NUM_STATES completed successfully
(process:25120): libfprint-SSM-DEBUG: 07:22:23.456: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:23.457: [goodixmoc] FP_CMD_NUM_STATES entering state 1
(process:25120): libfprint-SSM-DEBUG: 07:22:23.458: [goodixmoc] FP_CMD_NUM_STATES entering state 2
I've already cleaned the fingerprint sensor properly and the enrollment is done with clean fingers. The error displayed is sometimes centering error when the finger isn't centred properly otherwise it's always this error.
I've tried with the libfprint (1.94.5+tod1-1.3) from the package manager and the library compiled from the latest master branch. Always the same error is produced.
I've also tried to clear the storage with the app image mentioned here and with this python script
# Import PyGObject
# PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.
from gi import require_version
# for arguments
from sys import argv
from os import geteuid
if geteuid() != 0:
exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.")
# Load FPrint gi module
require_version('FPrint', '2.0')
# Import FPrint
from gi.repository import FPrint
# Get FPrint Context
fprint_context = FPrint.Context()
# Loop over FPrint devices
for fprint_device in fprint_context.get_devices():
# Print device info
print(fprint_device)
print(fprint_device.get_driver())
print(fprint_device.props.device_id)
# Open the device synchronously.
fprint_device.open_sync()
# Get list of enrolled prints
enrolled_fingerprints = fprint_device.list_prints_sync()
print("Device has %d enrolled fingerprints." % len(enrolled_fingerprints))
# Loop through enrolled fingerprints
for fingerprint in enrolled_fingerprints:
# Print fingerprint info
date = fingerprint.props.enroll_date
print(' %04d-%02d-%02d valid: %d' % (date.get_year(), date.get_month(), date.get_day(), date.valid()))
print(' ' + str(fingerprint.props.finger))
print(' ' + str(fingerprint.props.username))
print(' ' + str(fingerprint.props.description))
# check for delete flag
if (len(argv) > 1 and argv[1] == "-d"):
# Delete print
print('Deleting print:')
fprint_device.delete_print_sync(fingerprint)
print('Deleted')
# Close the device synchronously.
fprint_device.close_sync()
both of these clear the storage successfully but the problem is still present.
Custom test present in tests/goodixmoc/custom.py fails with enrollment issue.