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

Xperia XA2: fingerprint process at 100% CPU, draining battery

Tracked by Jolla (Rejected)

asked 2019-11-28 07:48:49 +0300

Jolly H gravatar image

updated 2019-11-28 08:36:50 +0300

The battery has been draining surprisingly quickly on this Xperia XA2 running Sailfish Even with the phone mostly locked and resting, battery went from fully charged to 70% in 4 hours. Finally, I logged in over ssh and ran top. A process with "fingerprint" in its name is running at full throttle. That would do it.

 3109 system    20   0   11972   2396   1788 R  98.0   0.1   1:13.67 android.hardwar  

The name of that process in its full glory:

$ ps lp 3109
4  1000  3109  2807  20   0  11972  2396 -      Rl   ?          1:21 /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.sony

The model number of the phone is H3123. The ZIPs that I used for flashing were SW_binaries_for_Xperia_Android_8.1.6.4_r1_v16_nile.zip and Sailfish_OS-Jolla-

When I was setting up the phone after flashing, I did not configure finger unlocking. Suspecting that perhaps the unconfigured thing gets itself stuck in a loop, I tried to set it up now through settings (Device lock -> Add fingerprint), but I could not get past the "Place and lift your finger" screen: it never detecting me placing the finger.

I do not know if that is relevant, but I will note that I did not install the android subsystem.

I do not know if the fingerprint sensor worked at all before I flashed the phone to Sailfish, I did not test that aspect.

The parent process of this runaway process is /sbin/droid-hal-init. I found /vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.sony.rc. According to this README.md, these files understand an option called disabled, so I added that to the .rc file and rebooted. That worked.

Since then, the battery percentage has stayed the same for at least 20 minutes by now. So that fixed it.

For the benefit of whoever find themselves in the same situation and do not care for the fingerprint unlock either, here is the change that I made (under devel-su) in order to disable that process:

--- /home/nemo/android.hardware.biometrics.fingerprint@2.1-service.sony.rc.ORIG
+++ /vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.sony.rc
@@ -1,7 +1,8 @@
 service fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.sony
     # "class hal" causes a race condition on some devices due to files created
     # in /data. As a workaround, postpone startup until later in boot once
     # /data is mounted.
+    disabled
     class late_start
     user system
     group system input
edit retag flag offensive close delete


This happened to me as well with "Nuuksio". It worked before the only thing i can remember that i done before this started was disable NFC and used CSD but i don't know if it's related. It doesn't matter if i reboot that process is still 100%. I didn't have a fresh install and had been using my phone for some time. Isn't there a way to disable that without editing the config file?

abc123 ( 2020-01-03 14:28:32 +0300 )edit

I can confirm the bug. However, it does not always occur. If it does, then it has a CPU load of 100% at the beginning, which weakens to 56% in the course of about 6 hours. Editing the .rc-File helps a lot.

(Nuuksio / XA2 Plus)

Volker_S ( 2020-01-09 18:43:26 +0300 )edit

Please update on this, since promises to fix, but EA update didn't fix this on my XA2+ dual-sim

ar0 ( 2020-04-03 23:17:33 +0300 )edit

I removed disabled from /vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.sony.rc with Fingerprint still doesn't seem to work and after some time i had 100% again. My conclusion is that it's still not fixed for existing sailfish installations.

abc123 ( 2020-04-16 01:16:28 +0300 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-03-08 12:47:10 +0300

nitarkin gravatar image

updated 2020-03-08 12:52:58 +0300

I confirm the bug. The problem is related to firmware from Android 9, after downgrade on Android 8 fingerprint works. The system process android.hardware.biometrics.fingerprint no longer loads the CPU at 100%.

Revert to the firmware ver.50.1.A.13.123 on android 8 by Emma utility, and the problem will be solved.

edit flag offensive delete publish link more


As a linux user I'm not used to Emma utility. Does it reload android to the device so i need to reinstall sailfish OS or does it only revert firmware and it doesn't effect my current Sailfish install? Can this also be done from Linux?

abc123 ( 2020-03-08 23:34:33 +0300 )edit

Interesting is that on the official guideline, it is said : "Both Android 9 and Android 8.1 are now okay as the starting point for installing Sailfish OS 3.2.0".

Anyway,, thanks a lot.

mousse04 ( 2020-03-09 11:04:20 +0300 )edit

Yeah, from my recent experience, Android 9 is absolutely not okay if you want the fingerprint reader to work. If you allowed the phone to upgrade to it, you have to use Emma to downgrade to Android 8 (and you probably also need to boot the downgraded Android to ensure all the firmwares are properly flashed, before trying to install Sailfish again). Sadly, Emma seems to be Windows-only. Just don't allow the phone to upgrade to Android 9 in the first place.

ovekaaven ( 2020-03-09 15:11:47 +0300 )edit

I think my XA2 shipped >Android 8.0. Reflashing android and then reflashing Sailfish OS and setting it up as i want it and adding manual backups (an official backup isn't enough) is to much work to make an badly positioned fingerprint reader work. Then i rather wait for that bug to be solved in an update.

abc123 ( 2020-03-09 15:51:14 +0300 )edit

Here is the comment that Android 9 might not be the cause of that

ar0 ( 2020-04-20 02:08:41 +0300 )edit
Login/Signup to Answer

Question tools



Asked: 2019-11-28 07:48:49 +0300

Seen: 851 times

Last updated: Mar 08 '20