elanspi ELAN7001 issus
Hello developers, this is the first time I'm reporting an issue so please let me know if you need more information.
I tried to use fprintd on my brand new Asus Expertbook P2451FA with the ELAN7001 fingerprint sensor but no matter how much I tried fprintd-verify
always gave me verify-no-match
, when I dug into the problems at first I discovered the following errors form journalctl -u fprintd.service
:
Nov 01 16:03:50 eden-asusexpertbookp2451fap2451fa systemd[1]: Starting Fingerprint Authentication Daemon...
Nov 01 16:03:50 eden-asusexpertbookp2451fap2451fa systemd[1]: Started Fingerprint Authentication Daemon.
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: Deactivating image device while it is not idle, this should not happen.
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_get_cancellable: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_get_cancellable: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_get_cancellable: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_get_cancellable: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_get_cancellable: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: Driver reported session error, but device is inactive.
Nov 01 16:04:12 eden-asusexpertbookp2451fap2451fa fprintd[8013]: fpi_device_action_error: assertion 'priv->current_action != FPI_DEVICE_ACTION_NONE' failed
I tried to understand it and fix it myself but I couldn't, then I posted a post in manjaro forums - https://forum.manjaro.org/t/fingerprint-verification-fails/88731, which got no comments.
I've uninstalled fprintd and libfprint in order to compile libfprint from source and exam things with the examples.
When I tried to fix it myself I discovered that the swipes that libfprint is enrolling are rotated in pi/2 radience, there are photos attached.
It might just be that my sensor attached when rotated but I'm sure that there is a way to rotate it in the code, as for now I couldn't find the code of the capturing algorithm and fix it myself. Even when I swipe my fingers when they are rotated sudo ./verify
writes
(process:72607): libfprint-device-DEBUG: 13:53:47.681: Device reported verify result (process:72607): libfprint-DEBUG: 13:53:47.683: written to 'verify.pgm' Print image saved as verify.pgm (process:72607): libfprint-DEBUG: 13:53:47.683: Match report: Finger not matched NO MATCH!
My system is linux manjaro with kde.
** It might be relevant that the finger recognition system worked well in windows.
I'm attaching fingerprints scans and the log of journalctl -u fprintd.service
, the debugging is on from some point.
Hope that my report is helpful and thanks in advance, Eden Granot.
scan_when_finger_is_rotated.pgm scan_when_finger_not_rotated.pgm jrnl.txt