We have moved to a new Sailfish OS Forum. Please start new discussions there.
3

sailfish-fpd won't start (Xperia X fingerprint)

asked 2018-11-14 13:04:08 +0300

alci gravatar image

updated 2018-11-14 19:19:57 +0300

I am playing with the fingerprint reader for some hours now, but to no avail...

Here is my sistuation:

  1. trying to enroll a new fingerprint fails, nothing happens in the screen
  2. CSD fp test fails with "Tiemout while communicating with fingerprint daemon"
  3. systemctl status sailfish-fpd gives me :

    ● sailfish-fpd.service - Fingerprint Daemon Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; enabled; vendor preset: enabled) Active: failed (Result: start-limit) since Wed 2018-11-14 11:41:23 CET; 12min ago Process: 15458 ExecStart=/usr/bin/sailfish-fpd --systemd (code=exited, status=1/FAILURE) Process: 15455 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/init-done || sleep 5 || : (code=exited, status=0/SUCCESS) Main PID: 15458 (code=exited, status=1/FAILURE)

    Nov 14 11:41:22 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Nov 14 11:41:22 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'. Nov 14 11:41:23 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart. Nov 14 11:41:23 Sailfish systemd[1]: sailfish-fpd.service: Start request repeated too quickly. Nov 14 11:41:23 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state. Nov 14 11:41:23 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'start-limit'.

I have read that /usr/lib/sailfish-fpd/ should contain a template subfolder, but I can't find it... The only file present in the directory is: fpslave. Maybe it's a problem.

Any idea ?

EDIT1: looking at phkirz comment, I tried this command line (as root): /usr/lib/sailfish-fpd/fpslave --log-to=syslog --log-level=4

Here is the result in journalctl :

Nov 14 14:26:21 Sailfish kernel: QSEECOM: qseecom_load_app: App (tzfingerprint) does'nt exist, loading apps for first time
Nov 14 14:26:21 Sailfish kernel: QSEECOM: qseecom_load_app: App with id 2228226 (tzfingerprint) now loaded
Nov 14 14:26:21 Sailfish fpslave[20262]: fpmodule_open_device: module.open() -> error=-22
Nov 14 14:26:21 Sailfish fpslave[20262]: fpdevice_init: failed to open fingerprint device
Nov 14 14:26:21 Sailfish kernel: QSEECOM: qseecom_unload_app: App id 2228226 now unloaded

EDIT2: after previous edit, which I thought was a failure, I tried again to start the service. Here is the result:

[root@Sailfish nemo]# systemctl start sailfish-fpd
[root@Sailfish nemo]# systemctl status sailfish-fpd
● sailfish-fpd.service - Fingerprint Daemon
   Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-11-14 14:59:51 CET; 48ms ago
  Process: 21810 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/init-done || sleep 5 || : (code=exited, status=0/SUCCESS)
 Main PID: 21813 (sailfish-fpd)
   CGroup: /system.slice/sailfish-fpd.service
           ├─21813 /usr/bin/sailfish-fpd --systemd
           └─21815 /usr/lib/sailfish-fpd/fpslave --log-to=syslog --log-level=4

Nov 14 14:59:51 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart.
Nov 14 14:59:51 Sailfish systemd[1]: Stopped Fingerprint Daemon.
Nov 14 14:59:51 Sailfish systemd[1]: Starting Fingerprint Daemon...
Nov 14 14:59:51 Sailfish systemd[1]: Started Fingerprint Daemon.

EDIT3: didn't last long. Couldn't even enroll a fingerprint, and :

[root@Sailfish nemo]# systemctl status sailfish-fpd
● sailfish-fpd.service - Fingerprint Daemon
   Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit) since Wed 2018-11-14 15:00:10 CET; 2min 58s ago
  Process: 21813 ExecStart=/usr/bin/sailfish-fpd --systemd (code=exited, status=1/FAILURE)
  Process: 21810 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/init-done || sleep 5 || : (code=exited, status=0/SUCCESS)
 Main PID: 21813 (code=exited, status=1/FAILURE)

Nov 14 14:59:51 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 14:59:51 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'.
Nov 14 15:00:10 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart.
Nov 14 15:00:10 Sailfish systemd[1]: sailfish-fpd.service: Start request repeated too quickly.
Nov 14 15:00:10 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 15:00:10 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'start-limit'.

EDIT4: tried carmenfdezb solution of resetting the fingerprints, but it didn't seem to work in my case

[nemo@Sailfish ~]$ devel-su 
Password: 
[root@Sailfish nemo]# systemctl stop sailfish-fpd.service
[root@Sailfish nemo]# /usr/lib/sailfish-fpd/fpslave --remove-all
[root@Sailfish nemo]# /usr/lib/sailfish-fpd/fpslave --flush-cache
[root@Sailfish nemo]# systemctl start sailfish-fpd.service

[root@Sailfish nemo]# systemctl status -l sailfish-fpd.service
● sailfish-fpd.service - Fingerprint Daemon
   Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit) since Wed 2018-11-14 18:15:31 CET; 10s ago
  Process: 14205 ExecStart=/usr/bin/sailfish-fpd --systemd (code=exited, status=1/FAILURE)
  Process: 14202 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/init-done || sleep 5 || : (code=exited, status=0/SUCCESS)
 Main PID: 14205 (code=exited, status=1/FAILURE)

Nov 14 18:15:30 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 18:15:30 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Start request repeated too quickly.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'start-limit'.
edit retag flag offensive close delete

Comments

1

Bonjour,

On my xperia X, fingerprint works and I also only have 'fpslave' in /usr/lib/sailfish-fpd

[root@Sailfish nemo]# systemctl status sailfish-fpd

● sailfish-fpd.service - Fingerprint Daemon

Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; disabled; vendor prese t: enabled)

Active: active (running) since mar. 2018-11-13 07:55:59 CET; 1 day 6h ago

Process: 744 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/in it-done || sleep 5 || : (code=exited, status=0/SUCCESS)

Main PID: 1691 (sailfish-fpd)

CGroup: /system.slice/sailfish-fpd.service ├─1691 /usr/bin/sailfish-fpd --systemd └─1694 /usr/lib/sailfish-fpd/fpslave --log-to=syslog --log-level=4

phklrz ( 2018-11-14 15:11:20 +0300 )edit

So basically, my directory seems ok. The problem must lie elsewhere...

alci ( 2018-11-14 15:23:45 +0300 )edit

Hi @alci, did you fix this issue?

carmenfdezb ( 2018-12-04 10:20:09 +0300 )edit

2 Answers

Sort by » oldest newest most voted
3

answered 2018-11-14 18:11:49 +0300

carmenfdezb gravatar image

updated 2018-11-14 18:16:49 +0300

I had the same issue as you, and you can read a post with similar issue: https://together.jolla.com/question/184624/xperia-x-fingerprint-sensor-does-not-work/

I recommend you to reset fingerprint data via Terminal:

devel-su

systemctl stop sailfish-fpd.service

/usr/lib/sailfish-fpd/fpslave --remove-all

/usr/lib/sailfish-fpd/fpslave --flush-cache

systemctl start sailfish-fpd.service

edit flag offensive delete publish link more

Comments

Humm... didn't work apparently:

[nemo@Sailfish ~]$ devel-su 
Password: 
[root@Sailfish nemo]# systemctl stop sailfish-fpd.service
[root@Sailfish nemo]# /usr/lib/sailfish-fpd/fpslave --remove-all
[root@Sailfish nemo]# /usr/lib/sailfish-fpd/fpslave --flush-cache
[root@Sailfish nemo]# systemctl start sailfish-fpd.service

[root@Sailfish nemo]# systemctl status -l sailfish-fpd.service
● sailfish-fpd.service - Fingerprint Daemon
   Loaded: loaded (/lib/systemd/system/sailfish-fpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit) since Wed 2018-11-14 18:15:31 CET; 10s ago
  Process: 14205 ExecStart=/usr/bin/sailfish-fpd --systemd (code=exited, status=1/FAILURE)
  Process: 14202 ExecStartPre=/bin/sh -c /usr/bin/test -f /run/systemd/boot-status/init-done || sleep 5 || : (code=exited, status=0/SUCCESS)
 Main PID: 14205 (code=exited, status=1/FAILURE)

Nov 14 18:15:30 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 18:15:30 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'exit-code'.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Service hold-off time over, scheduling restart.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Start request repeated too quickly.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Unit entered failed state.
Nov 14 18:15:31 Sailfish systemd[1]: sailfish-fpd.service: Failed with result 'start-limit'.
alci ( 2018-11-14 19:16:42 +0300 )edit

The other thing you can try is to reinstall fpd package (I did it too). Please, disable others repositories (openrepos) before doing that:

devel-su

systemctl stop sailfish-fpd.service

pkcon refresh

pkcon install sailfish-devicelock-fpd

pkcon install sailfish-fpd

pkcon install sailfish-fpd-slave-f5121

exit

reboot

carmenfdezb ( 2018-11-14 19:44:00 +0300 )edit
2

answered 2018-11-14 21:32:53 +0300

spiiroin gravatar image

That "fpmodule_open_device: module.open() -> error=-22" in the log basically means fp hal init fails and the rest of the sw has no chances of working.

First thoughts to arise: Incorrect / missing android libraries or otherwise broken install.

Can you run the following commands (as root):

ssu-sysinfo
find /system/ -name '*finger*so'
/usr/lib/sailfish-fpd/fpslave --log-to=stderr --log-level=debug --list
edit flag offensive delete publish link more

Comments

@spiiroin - could you elaborate on this https://together.jolla.com/question/193386/xperia-xa2-fingerprint-not-working/.

It seems that the fingerprint support for the XA2 was reported not to be working on the original release announcement, but in one of the latest revisions, it got removed. So should it work or not? (Sorry for going a bit off topic...)

I only got curious since the CSD tool in my XA2 gives the same error as OPs:

Timeout while communicating with fingerprint daemon

Pasting my resulst here just in case:

[root@Sailfish nemo]# ssu-sysinfo
model: h4113
designation: h4113
manufacturer: Sony
pretty_name: Xperia XA2 - Dual SIM

[root@Sailfish nemo]# find /system/ -name '*finger*so'
/system/lib64/android.hardware.biometrics.fingerprint@2.1.so
/system/lib/android.hardware.biometrics.fingerprint@2.1.so

[root@Sailfish nemo]# /usr/lib/sailfish-fpd/fpslave --log-to=stderr --log-level=debug --list
bash: /usr/lib/sailfish-fpd/fpslave: No such file or directory
raketti ( 2018-11-14 22:48:34 +0300 )edit

@raketti: Currently fingerprint scanner in XA2 is not supported. The CSD test will timeout just because the service is not (and should not) be installed on the device. The test should be augmented a bit to provide more sensible diagnostics in that case....

spiiroin ( 2018-11-15 15:51:21 +0300 )edit

Hi @spiiroin, I've noticed that I have this bug (sailfish-fpd sometimes doesn't start when I reboot my phone) since I've updated to Sailfish3. How can I send you a log to know what is causing that?

carmenfdezb ( 2018-11-16 21:20:49 +0300 )edit

Hi @spiiroin again, fingersprint doesn't work for me today again and I get "fpmodule_open_device: module.open() -> error=-22" in journalctl.

I've followed your instruccions and run the next commands:

[nemo@Sailfish ~]$ sudo ssu-sysinfo
Contraseña:
model: f5121
designation: f5121
manufacturer: Sony
pretty_name: Xperia X
[nemo@Sailfish ~]$ sudo find /system/ -name '*finger*so'
/system/lib/hw/fingerprint.suzu.so
/system/lib64/hw/fingerprint.suzu.so
[nemo@Sailfish ~]$ sudo /usr/lib/sailfish-fpd/fpslave --log-to=stderr --log-level=debug --list
T1:  0.000  +0.000 N: util_load: path=/etc/sailfish-fpd/50-settings-f5121.ini -> data=0x60d808; size=431
T1:  0.000  +0.000 N: fpsettings_set_str_prop: template_directory_owner_quirk: null -> system
T1:  0.000  +0.000 N: fpsettings_set_str_prop: template_directory_group_quirk: null -> system
T1:  0.000  +0.000 N: fpsettings_set_int_prop: template_directory_mode_quirk: 0 -> 448
T1:  0.000  +0.000 N: fpsettings_set_str_prop: fphal_module_name_quirk: null -> fingerprint
T1:  0.000  +0.000 N: fpsettings_set_int_prop: fphal_max_fingerprints_quirk: 0 -> 5
T1:  0.000  +0.000 N: fpsettings_set_int_prop: mass_remove_single_notify_quirk: 0 -> 1
T1:  0.000  +0.000 N: fpsettings_set_int_prop: skip_device_close_quirk: 0 -> 1
T1:  0.000  +0.000 N: fpsettings_set_int_prop: skip_post_enroll_quirk: 0 -> 1
T1:  0.001  +0.000 N: fpsettings_set_int_prop: skip_enumerate_quirk: 0 -> 1
T1:  0.001  +0.001 N: util_load: path=/etc/sailfish-fpd/90-db-init-workaround.ini -> data=0x60aed0; size=43
T1:  0.001  +0.000 N: fpsettings_set_int_prop: set_active_group_twice_quirk: 0 -> 1
T1:  0.002  +0.001 D: fpslave_setup_directory: /var/lib/sailfish-fpd is directory with owner:0 group:1000 mode:0770
T1:  0.003  +0.000 D: fpslave_setup_directory: /var/lib/sailfish-fpd/templates is directory with owner:1000 group:1000 mode:0700
T1:  0.003  +0.000 D: master_io_init: stdin is a tty: slave mode disabled
T1:  0.003  +0.000 N: main: fpslave starting up
T1:  0.003  +0.000 D: fpcache_load: read index
T1:  0.004  +0.001 N: util_load: path=/var/lib/sailfish-fpd/index.csv -> data=0x60d960; size=0
T1:  0.031  +0.028 D: fpmodule_init: fpmodule_hnd = 0xf6f5f004
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.tag = 0x48574d54
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.module_api_version = 0x200
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.hal_api_version = 0x100
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.id = fingerprint
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.name = Kitakami Fingerprint HAL
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.author = Shane Francis / Jens Andersen
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.methods = 0xf6f5f084
T1:  0.032  +0.000 D: fpmodule_init: fpmodule_hnd->common.dso = 0xf75727ac
T1:  0.131  +0.099 W: fpmodule_open_device: module.open() -> error=-22
T1:  0.131  +0.000 W: fpdevice_init: failed to open fingerprint device
T1:  0.131  +0.000 N: main: fpslave shutting down
T1:  0.131  +0.000 D: fpcache_synchronize: synchronize cache
T1:  0.131  +0.000 D: fpmodule_quit: unload module ...
T1:  0.131  +0.000 N: fpsettings_set_str_prop: template_directory_owner_quirk: system -> null
T1:  0.131  +0.000 N: fpsettings_set_str_prop: template_directory_group_quirk: system -> null
T1:  0.131  +0.000 N: fpsettings_set_int_prop: template_directory_mode_quirk: 448 -> 0
T1:  0.131  +0.000 N: fpsettings_set_str_prop: fphal_module_name_quirk: fingerprint -> null
T1:  0.131  +0.000 N: fpsettings_set_int_prop: fphal_max_fingerprints_quirk: 5 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: mass_remove_single_notify_quirk: 1 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: set_active_group_twice_quirk: 1 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: skip_device_close_quirk: 1 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: skip_post_enroll_quirk: 1 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: skip_enumerate_quirk: 1 -> 0
T1:  0.131  +0.000 N: fpsettings_set_int_prop: wakelock_duration_on_notify: 1000 -> 0
T1:  0.131  +0.000 N: main: fpslave exit value 1
carmenfdezb ( 2018-11-19 12:47:15 +0300 )edit

@carmenfdezb Everything looks ok until that android hal call returns error. It most likely logs something via android logging mechanism before that.

To gain some visibility, you could open one ssh connection to the device and run logcat (wait until it calms down and leave it running)

/system/bin/logcat

Then another ssh connection from which you do the same things as earlier and look for lines containing "FPC" that appear in logcat output about the same time as fpd fails.

spiiroin ( 2018-11-21 18:42:37 +0300 )edit
Login/Signup to Answer

Question tools

Follow
4 followers

Stats

Asked: 2018-11-14 13:04:08 +0300

Seen: 794 times

Last updated: Nov 14 '18