fprint hangs after first finger scan (fprintd-enroll - fprintd_demo)
Hi, I don't know if this problem is related to fprintd or libfprint, but I am happy to help debugging.
I have got an APC BIOPOD EC fingerprint reader, sporting an AuthenTec, Inc. AES3500 TruePrint Sensor (lsusb gives 08ff:5731).
My system is: LSB Version: core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic Kernel: 4.15.0-111-generic
Installed fprintd via APT and compiled libfprint after git cloning.
I looked around in the different open issues, and I saw it is a problem experienced by many. It doesn't matter if I use gnome fingerprint authentication setup (here journalctl -xe output opening gnome control center and trying to add a fingerprint):
lug 20 17:10:26 federico-XPS dbus-daemon[1038]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.2203' (uid=1001 pid=9081 comm="gnome-control-center user-accounts " label="unconfined")
lug 20 17:10:26 federico-XPS systemd[1]: Starting Fingerprint Authentication Daemon...
-- Subject: L'unità fprintd.service inizia la fase di avvio
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- L'unità fprintd.service ha iniziato la fase di avvio.
lug 20 17:10:27 federico-XPS dbus-daemon[1038]: [system] Successfully activated service 'net.reactivated.Fprint'
lug 20 17:10:27 federico-XPS systemd[1]: Started Fingerprint Authentication Daemon.
-- Subject: L'unità fprintd.service termina la fase di avvio
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- L'unità fprintd.service ha terminato la fase di avvio.
--
-- La fase di avvio è RESULT.
lug 20 17:10:27 federico-XPS fprintd[9102]: Launching FprintObject
lug 20 17:10:27 federico-XPS fprintd[9102]: D-Bus service launched with name: net.reactivated.Fprint
lug 20 17:10:27 federico-XPS fprintd[9102]: entering main loop
lug 20 17:10:27 federico-XPS gnome-control-c[9081]: Negative content width -95 (allocation 40, extents 115x20) while allocating gadget (node box, owner GtkBox)
lug 20 17:10:43 federico-XPS fprintd[9102]: user 'federico' claiming the device: 0
lug 20 17:10:43 federico-XPS fprintd[9102]: now monitoring fd 15
lug 20 17:10:43 federico-XPS fprintd[9102]: device 0 claim status 0
lug 20 17:10:43 federico-XPS fprintd[9102]: start enrollment device 0 finger 7
lug 20 17:10:46 federico-XPS fprintd[9102]: enroll_stage_cb: result 3
lug 20 17:11:02 federico-XPS fprintd[9102]: no longer monitoring fd 15
lug 20 17:11:02 federico-XPS fprintd[9102]: released device 0
frptind_demo (whether the scan result is bad or good) does similarly: after the first scan it hangs indefinitely.
from the examples of libfprint (with and without sudo) I tried img-capture:
federico@federico-XPS:~/libfprint/build/examples$ ./img-capture
libusb: warning [initialize_device] Unknown device speed: 10000 Mbps
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 17E9:4323
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 2230:0006
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 2230:0006
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 1D6B:0003
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 046D:C05A
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 109B:911F
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 2230:0006
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 2230:0006
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 1D6B:0002
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 1D6B:0003
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 0C45:670C
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 04F3:20D0
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 8087:0A2B
(process:9231): libfprint-context-DEBUG: 17:14:54.083: No driver found for USB device 1D6B:0002
Selected device 0 (AuthenTec AES3500) claimed by aes3500 driver
(process:9231): libfprint-image_device-DEBUG: 17:14:54.084: Image device open completed
(process:9231): libfprint-device-DEBUG: 17:14:54.084: Device reported open completion
(process:9231): libfprint-device-DEBUG: 17:14:54.084: Completing action FPI_DEVICE_ACTION_OPEN in idle!
Opened device. (process:9231): libfprint-image_device-DEBUG: 17:14:54.084: Activating image device
(process:9231): libfprint-aeslib-DEBUG: 17:14:54.084: write 56 regs
(process:9231): libfprint-aeslib-DEBUG: 17:14:54.085: all registers written
(process:9231): libfprint-image_device-DEBUG: 17:14:54.085: Image device activation completed
(process:9231): libfprint-image_device-DEBUG: 17:14:54.085: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON to FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON
(process:9231): libfprint-image_device-DEBUG: 17:14:56.059: Image device reported finger status: on
(process:9231): libfprint-image_device-DEBUG: 17:14:56.059: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON to FPI_IMAGE_DEVICE_STATE_CAPTURE
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e0
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e1
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e2
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e3
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e4
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e5
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e6
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.059: frame header byte e7
(process:9231): libfprint-image_device-DEBUG: 17:14:56.064: Image device internal state change from FPI_IMAGE_DEVICE_STATE_CAPTURE to FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_OFF
(process:9231): libfprint-image_device-DEBUG: 17:14:56.064: Image device captured an image
(process:9231): libfprint-image_device-DEBUG: 17:14:56.064: Image device reported finger status: off
(process:9231): libfprint-image_device-DEBUG: 17:14:56.065: Deactivating image device
(process:9231): libfprint-image_device-DEBUG: 17:14:56.065: Image device deactivation completed
(process:9231): libfprint-image-DEBUG: 17:14:56.127: Minutiae scan completed in 0.062555 secs
(process:9231): libfprint-device-DEBUG: 17:14:56.128: Device reported capture completion
(process:9231): libfprint-image_device-DEBUG: 17:14:56.128: Already deactivated, ignoring request.
(process:9231): libfprint-device-DEBUG: 17:14:56.128: Completing action FPI_DEVICE_ACTION_CAPTURE in idle!
(process:9231): libfprint-DEBUG: 17:14:56.128: written to 'finger.pgm'
(process:9231): libfprint-image_device-DEBUG: 17:14:56.130: Image device close completed
(process:9231): libfprint-device-DEBUG: 17:14:56.130: Device reported close completion
(process:9231): libfprint-image_device-WARNING **: 17:14:56.130: Driver reported session error, but device is inactive.
(process:9231): libfprint-image_device-WARNING **: 17:14:56.130: Translating to activation failure!
(process:9231): libfprint-image_device-CRITICAL **: 17:14:56.130: fpi_image_device_activate_complete: assertion 'action == FPI_DEVICE_ACTION_ENROLL || action == FPI_DEVICE_ACTION_VERIFY || action == FPI_DEVICE_ACTION_IDENTIFY || action == FPI_DEVICE_ACTION_CAPTURE' failed
(process:9231): libfprint-image_device-DEBUG: 17:14:56.130: Ignoring finger presence report as the device is not active!
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-aes3k-DEBUG: 17:14:56.130: frame header byte 00
(process:9231): libfprint-image_device-CRITICAL **: 17:14:56.131: fpi_image_device_image_captured: assertion 'priv->state == FPI_IMAGE_DEVICE_STATE_CAPTURE' failed
(process:9231): libfprint-image_device-DEBUG: 17:14:56.131: Ignoring finger presence report as the device is not active!
(process:9231): libfprint-device-DEBUG: 17:14:56.131: Completing action FPI_DEVICE_ACTION_CLOSE in idle!
enroll behaves like libfprint_demo, I have to press Ctrl + c to stop it
federico@federico-XPS:~/libfprint/build/examples$ ./enroll
This program will enroll the selected finger, unconditionally overwriting any print for the same finger that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C
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:9261): libfprint-context-DEBUG: 17:17:06.839: No driver found for USB device 17E9:4323
(process:9261): libfprint-context-DEBUG: 17:17:06.840: No driver found for USB device 2230:0006
(process:9261): libfprint-context-DEBUG: 17:17:06.840: No driver found for USB device 2230:0006
(process:9261): libfprint-context-DEBUG: 17:17:06.840: No driver found for USB device 1D6B:0003
(process:9261): libfprint-context-DEBUG: 17:17:06.840: No driver found for USB device 046D:C05A
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 109B:911F
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 2230:0006
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 2230:0006
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 1D6B:0002
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 1D6B:0003
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 0C45:670C
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 04F3:20D0
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 8087:0A2B
(process:9261): libfprint-context-DEBUG: 17:17:06.841: No driver found for USB device 1D6B:0002
Selected device 0 (AuthenTec AES3500) claimed by aes3500 driver
(process:9261): libfprint-image_device-DEBUG: 17:17:06.841: Image device open completed
(process:9261): libfprint-device-DEBUG: 17:17:06.842: Device reported open completion
(process:9261): libfprint-device-DEBUG: 17:17:06.842: Completing action FPI_DEVICE_ACTION_OPEN in idle!
Opened device. It's now time to enroll your finger.
You will need to successfully scan your right index finger 5 times to complete the process.
Scan your finger now.
(process:9261): libfprint-image_device-DEBUG: 17:17:06.843: Activating image device
(process:9261): libfprint-aeslib-DEBUG: 17:17:06.843: write 56 regs
(process:9261): libfprint-aeslib-DEBUG: 17:17:06.846: all registers written
(process:9261): libfprint-image_device-DEBUG: 17:17:06.847: Image device activation completed
(process:9261): libfprint-image_device-DEBUG: 17:17:06.847: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON to FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON
(process:9261): libfprint-image_device-DEBUG: 17:17:08.453: Image device reported finger status: on
(process:9261): libfprint-image_device-DEBUG: 17:17:08.453: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON to FPI_IMAGE_DEVICE_STATE_CAPTURE
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.454: frame header byte e0
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.454: frame header byte e1
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.454: frame header byte e2
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.454: frame header byte e3
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.455: frame header byte e4
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.455: frame header byte e5
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.455: frame header byte e6
(process:9261): libfprint-aes3k-DEBUG: 17:17:08.455: frame header byte e7
(process:9261): libfprint-image_device-DEBUG: 17:17:08.460: Image device internal state change from FPI_IMAGE_DEVICE_STATE_CAPTURE to FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_OFF
(process:9261): libfprint-image_device-DEBUG: 17:17:08.460: Image device captured an image
(process:9261): libfprint-image_device-DEBUG: 17:17:08.461: Image device reported finger status: off
(process:9261): libfprint-image_device-DEBUG: 17:17:08.462: Awaiting finger on
(process:9261): libfprint-image-DEBUG: 17:17:08.548: Minutiae scan completed in 0.085104 secs
(process:9261): libfprint-device-DEBUG: 17:17:08.548: Device reported enroll progress, reported 1 of 5 have been completed
(process:9261): libfprint-DEBUG: 17:17:08.548: written to 'enrolled.pgm'
Wrote scanned image to enrolled.pgm
Enroll stage 1 of 5 passed. Yay!
(process:9261): libfprint-image_device-DEBUG: 17:17:08.548: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_OFF to FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON
^C(process:9261): libfprint-device-DEBUG: 17:17:10.786: Idle cancelling on ongoing operation!
(process:9261): libfprint-image_device-DEBUG: 17:17:10.786: Deactivating image device
(process:9261): libfprint-device-DEBUG: 17:17:10.786: Device reported generic error (Device operation was cancelled) during action; action was: FPI_DEVICE_ACTION_ENROLL
(process:9261): libfprint-device-DEBUG: 17:17:10.787: Device reported enroll completion
(process:9261): libfprint-image_device-DEBUG: 17:17:10.787: Image device deactivation completed
(process:9261): libfprint-device-DEBUG: 17:17:10.787: Completing action FPI_DEVICE_ACTION_ENROLL in idle!
(process:9261): libfprint-WARNING **: 17:17:10.787: Enroll failed with error Operation was cancelled
(process:9261): libfprint-image_device-DEBUG: 17:17:10.787: Image device close completed
(process:9261): libfprint-device-DEBUG: 17:17:10.787: Device reported close completion
(process:9261): libfprint-device-DEBUG: 17:17:10.787: Completing action FPI_DEVICE_ACTION_CLOSE in idle!
Obviously verify and manage-prints don't work.
Please, let me know if I'm doing something wrong or if I can be useful in debugging.
Thanks for your help