Troubleshooting the Fingerprint scanner
My Xperia X fingerprint scanner stopped working and I'd like to trouble shoot it to figure out if it's a hardware or software issue.
I read all about the 5-print limitation here, to the best of my knowledge I did not surpass that limit before the scanner stopped working, I did attempt to enroll a finger after that which for sure was beyond 5 fingers.
As far as I can tell from systemctl the daemon seems to be working and journalctl does not show any errors.
So:
Can you please give a trouble-shooting procedure?
Is it possible to reset what fingers are enrolled?
Thanks
Update:
I used the below procedure to reset the fingerprints enrolled, I enrolled 4 fingers after which everything was working fine for a day.
Today the fingerprint sensor again stopped working
systemctl status sailfish-fpd
showed that the service had crashed, a restart did not help.
After device reboot the configuration interface listed no enrolled fingers and I was able to enroll 1 finger after which the 5+ behavior happened (unable to enroll another finger). The re-enrolled finger works while the previously enrolled fingers do not, sadly reboot means that the previous logs seem to not have been preserved as far as I can tell but next time this happens I will first get logs of the failed service.
Update 2:
Well that didn't survive long (less then 5 hours), daemon crashed after manual restart no enrolled fingers are shown.
Here are some logs:
Dec 25 19:24:27 Sailfish sailfish-fpd[1642]: mrcontrol_fphal_timeout_cb: fp hal is stuck; terminating Dec 25 19:24:27 Sailfish fpslave[1652]: fpcontrol_mainloop: master poll hup Dec 25 19:24:27 Sailfish fpslave[1652]: fpdevice_quit: QUIRK: device.close() skipped Dec 25 19:24:27 Sailfish sailfish-fpd[1642]: *** SLAVE TERMINATE Dec 25 19:24:27 Sailfish systemd[1]: sailfish-fpd.service: Main process exited, code=exited, status=1/FAILURE Dec 25 19:24:27 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Dec 25 19:24:27 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'. Dec 25 19:24:28 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart. Dec 25 19:24:28 Sailfish systemd[1]: Stopped Fingerprint Daemon. Dec 25 19:24:28 Sailfish systemd[1]: Starting Fingerprint Daemon... Dec 25 19:24:28 Sailfish systemd[1]: Started Fingerprint Daemon. Dec 25 19:24:28 Sailfish fpslave[13860]: fpmodule_open_device: module.open() -> error=-22 Dec 25 19:24:28 Sailfish fpslave[13860]: fpdevice_init: failed to open fingerprint device Dec 25 19:24:28 Sailfish sailfish-fpd[13859]: mrcontrol_slave_rx_cb: error condition Dec 25 19:24:28 Sailfish sailfish-fpd[13859]: mrcontrol_slave_rx_cb: disable slave io watch Dec 25 19:24:28 Sailfish sailfish-fpd[13859]: main: sailfish-fpd terminating with exit value 1 Dec 25 19:24:28 Sailfish systemd[1]: sailfish-fpd.service: Main process exited, code=exited, status=1/FAILURE Dec 25 19:24:28 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Dec 25 19:24:28 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'. Dec 25 19:24:29 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart. Dec 25 19:24:29 Sailfish systemd[1]: Stopped Fingerprint Daemon. Dec 25 19:24:29 Sailfish systemd[1]: Starting Fingerprint Daemon... Dec 25 19:24:29 Sailfish systemd[1]: Started Fingerprint Daemon. Dec 25 19:24:29 Sailfish fpslave[13866]: fpmodule_open_device: module.open() -> error=-22 Dec 25 19:24:29 Sailfish fpslave[13866]: fpdevice_init: failed to open fingerprint device Dec 25 19:24:29 Sailfish sailfish-fpd[13864]: mrcontrol_slave_rx_cb: error condition Dec 25 19:24:29 Sailfish sailfish-fpd[13864]: mrcontrol_slave_rx_cb: disable slave io watch Dec 25 19:24:29 Sailfish systemd[1]: sailfish-fpd.service: Main process exited, code=exited, status=1/FAILURE Dec 25 19:24:29 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Dec 25 19:24:29 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'. Dec 25 19:24:30 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart. Dec 25 19:24:30 Sailfish systemd[1]: Stopped Fingerprint Daemon. Dec 25 19:24:30 Sailfish systemd[1]: Starting Fingerprint Daemon... Dec 25 19:24:30 Sailfish systemd[1]: Started Fingerprint Daemon. Dec 25 19:24:30 Sailfish fpslave[13874]: fpmodule_open_device: module.open() -> error=-22 Dec 25 19:24:30 Sailfish fpslave[13874]: fpdevice_init: failed to open fingerprint device Dec 25 19:24:30 Sailfish sailfish-fpd[13872]: mrcontrol_slave_rx_cb: error condition Dec 25 19:24:30 Sailfish sailfish-fpd[13872]: mrcontrol_slave_rx_cb: disable slave io watch Dec 25 19:24:30 Sailfish sailfish-fpd[13872]: main: sailfish-fpd terminating with exit value 1 Dec 25 19:24:30 Sailfish systemd[1]: sailfish-fpd.service: Main process exited, code=exited, status=1/FAILURE Dec 25 19:24:30 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Dec 25 19:24:30 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'. Dec 25 19:24:31 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart. Dec 25 19:24:31 Sailfish systemd[1]: sailfish-fpd.service: Start request repeated too quickly. Dec 25 19:24:31 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Dec 25 19:24:31 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'start-limit'.
Incidentally CSD runs its' check against the sailfish-fpd daemon so I'm not sure to what extent it can truly check for a hardware issue.
You get 'fpmodule_open_device: module.open() -> error=-22'. See this thread: https://together.jolla.com/question/193449/sailfish-fpd-wont-start-xperia-x-fingerprint/?answer=193527#post-id-193527
carmenfdezb ( 2018-12-29 09:17:16 +0200 )editI had the same issue as you, for some reason, fingerprints are missing after rebooting the device, but they are enrolled. You can't add more than 5 fingerprints, so you must reset fingerprint data before you add a fingerprint
carmenfdezb ( 2018-12-29 09:39:40 +0200 )editOK I think that actually merits a bug report because HAL failure should not cause SailfishOS side of things to fail permanently too...
Keeper-of-the-Keys ( 2019-01-07 00:59:09 +0200 )editSubmitted a summary which I hope will get the attention of Jolla sailors:
https://together.jolla.com/question/196877/bug-fingerprint-hal-failure-resullts-in-enrolled-fingers-lost-from-sfos-side/
Keeper-of-the-Keys ( 2019-01-07 01:14:45 +0200 )edit