Biometric service not starting in Debian Buster or Bullseye

inxi -Fxz

System:    Kernel: 5.10.0-3-amd64 x86_64 bits: 64 compiler: gcc v: 10.2.1 Desktop: Cinnamon 4.8.6 
           Distro: Debian GNU/Linux bullseye/sid 
Machine:   Type: Desktop Mobo: ASUSTeK model: ROG STRIX X570-E GAMING v: Rev X.0x serial: <filter> UEFI: American Megatrends 
           v: 1407 date: 02/24/2020 
CPU:       Info: 16-Core (2-Die) model: AMD Ryzen 9 3950X bits: 64 type: MT MCP MCM arch: Zen 2 rev: 0 L2 cache: 8 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 275194 
           Speed: 4297 MHz min/max: 2200/4300 MHz boost: enabled Core speeds (MHz): 1: 4297 2: 4323 3: 4324 4: 4305 5: 4310 
           6: 4303 7: 4294 8: 4287 9: 4311 10: 4252 11: 4276 12: 4297 13: 4323 14: 4272 15: 4306 16: 4297 17: 4293 18: 4296 
           19: 4301 20: 4293 21: 4275 22: 4305 23: 4297 24: 4307 25: 4280 26: 4300 27: 4336 28: 4315 29: 4306 30: 4310 
           31: 4301 32: 4325 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] vendor: XFX Pine 
           driver: amdgpu v: kernel bus ID: 09:00.0 
           Display: x11 server: X.Org 1.20.10 driver: loaded: amdgpu,ati unloaded: fbdev,modesetting,vesa 
           resolution: 2560x1440~60Hz 
           OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.40.0 5.10.0-3-amd64 LLVM 11.0.1) v: 4.6 Mesa 20.3.4 
           direct render: Yes 
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] vendor: XFX Pine driver: snd_hda_intel 
           v: kernel bus ID: 09:00.1 
           Device-2: ASUSTek Xonar SoundCard type: USB driver: hid-generic,snd-usb-audio,usbhid bus ID: 1-1:2 
           Device-3: Logitech C922 Pro Stream Webcam type: USB driver: snd-usb-audio,uvcvideo bus ID: 3-3:3 
           Sound Server: ALSA v: k5.10.0-3-amd64 
Network:   Device-1: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel port: f000 bus ID: 04:00.0 
           IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A 
Drives:    Local Storage: total: 4.64 TiB used: 727.28 GiB (15.3%) 
           ID-1: /dev/nvme0n1 vendor: Western Digital model: WDS100T2X0C-00L350 size: 931.51 GiB temp: 48.9 C 
           ID-2: /dev/sda vendor: Crucial model: CT1050MX300SSD1 size: 978.09 GiB 
           ID-3: /dev/sdb vendor: Western Digital model: WDS100T2B0B-00YS70 size: 931.51 GiB 
           ID-4: /dev/sdc vendor: Crucial model: CT2050MX300SSD1 size: 1.86 TiB 
Partition: ID-1: / size: 48.96 GiB used: 15.55 GiB (31.7%) fs: ext4 dev: /dev/nvme0n1p2 
           ID-2: /boot/efi size: 49.2 MiB used: 5.2 MiB (10.6%) fs: vfat dev: /dev/nvme0n1p1 
           ID-3: /home size: 736.42 GiB used: 287.74 GiB (39.1%) fs: ext4 dev: /dev/nvme0n1p3 
Swap:      ID-1: swap-1 type: partition size: 2 GiB used: 0 KiB (0.0%) dev: /dev/nvme0n1p4 
Sensors:   System Temperatures: cpu: 47.0 C mobo: N/A gpu: amdgpu temp: 42.0 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 782 
Info:      Processes: 521 Uptime: 1h 11m Memory: 62.78 GiB used: 6.24 GiB (9.9%) Init: systemd runlevel: 5 Compilers: 
           gcc: 10.2.1 Packages: 2287 Shell: Bash v: 5.1.4 inxi: 3.3.01 
mancho@Beauty:~$ 

dmesg --time-format iso -l err,crit,alert,emerg > dmesg-err_$(date +"%Y%m%d%H%M%S").log

dmesg --time-format iso -l err,crit,alert,emerg > dmesg-err_$(date +"%Y%m%d%H%M%S").log

both commands above displayed no output.

Boot log directed the following command:-

$ systemctl status biometric-authentication.service
● biometric-authentication.service - Authenticate by human biometric
     Loaded: loaded (/lib/systemd/system/biometric-authentication.service; enabled; vendor preset: enabled)
     Active: failed (Result: signal) since Sat 2021-03-06 09:57:29 GMT; 1h 51min ago
       Docs: https://github.com/ukui/biometric-authentication
    Process: 1187 ExecStart=/usr/lib/biometric-authentication/biometric-authenticationd (code=killed, signal=SEGV)
   Main PID: 1187 (code=killed, signal=SEGV)
        CPU: 13ms

Mar 06 09:57:29 Beauty systemd[1]: biometric-authentication.service: Scheduled restart job, restart counter is at 5.
Mar 06 09:57:29 Beauty systemd[1]: Stopped Authenticate by human biometric.
Mar 06 09:57:29 Beauty systemd[1]: biometric-authentication.service: Start request repeated too quickly.
Mar 06 09:57:29 Beauty systemd[1]: biometric-authentication.service: Failed with result 'signal'.
Mar 06 09:57:29 Beauty systemd[1]: Failed to start Authenticate by human biometric.

Steps to reproduce

  1. With Debian Linux Buster or Bullseye install:- biometric-auth, biometric-driver-community-multidevice, biometric-utils, libbiometric0, libpam-biometric, ukui-biometric-manager, ukui-polkit and libpam-fprintd

NOTE - I ran “sudo pam-auth-update” to manually enable fingerprint authentication with fprintd but I believe this should not be necessary, I only added it after the service failed to start.

  1. Reboot and observe error messages regarding Human authentication service not starting

Expected behaviour

  • The service should start with no errors and after registering fingerprints in the biometric manager software fingerprint authentication should be active.

Actual behaviour

  • The service does not start. Fingerprints may be registered using the manager software successfully but without the service running fingerprint id is not functional

Any pointers would be greatly appreciated. Thank you.

1 Like

Thank you very much for using the template from the FAQ. It helps a lot.

Could you please correct the following issues, so it can help even more:

  • Run this command:
dmesg --time-format iso > dmesg_$(date +"%Y%m%d%H%M%S").log
  • Run this command:
dmesg --time-format iso -l err,crit,alert,emerg > dmesg-err_$(date +"%Y%m%d%H%M%S").log
  • Edit your post and add the output of those commands to it. The output is saved in the files whose content is printed using a glob search in the following way:
for f in $(find . -maxdepth 1 -type f -name 'dmesg*.log'); do echo "$(<"${f}")"; done
  • Add the systemd service’s logs to your post, especially the part where it shows the errors about the service not starting correctly.

Thank you.

Thank you for adding some of the requested information to the post.

We are only missing one more step. Please add the output of the following commands to your original post:

dmesg --time-format iso > dmesg_$(date +"%Y%m%d%H%M%S").log # No output!
dmesg --time-format iso -l err,crit,alert,emerg > dmesg-err_$(date +"%Y%m%d%H%M%S").log # No output!
for f in $(find . -maxdepth 1 -type f -name 'dmesg*.log'); do echo "$(<"${f}")"; done # Will have output!

Thank you.

If you encounter an error that tells you something like Start request repeated too quickly., then you need to systemctl stop the service, wait 10 seconds, then systemctl start the service. Here is an exanple for how you can do that:

systemctl stop biometric-authentication
sleep 10
systemctl start biometric-authentication

Just copy all three commands at once and paste the whole clipboard into your terminal, then press ENTER.

Hi Akito, thanks for the suggestion but same result - the followingcopied from my terminal with 3 commands together then first and third separately:-

mancho@Beauty:~$ systemctl stop biometric-authentication
sleep 10
systemctl start biometric-authentication
Job for biometric-authentication.service failed.
See “systemctl status biometric-authentication.service” and “journalctl -xe” for details.
mancho@Beauty:~$ systemctl status biometric-authentication.service
● biometric-authentication.service - Authenticate by human biometric
Loaded: loaded (/lib/systemd/system/biometric-authentication.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Sat 2021-03-06 14:27:51 GMT; 32s ago
Docs: GitHub - ukui/biometric-authentication: A biometric identification framework.
Process: 281484 ExecStart=/usr/lib/biometric-authentication/biometric-authenticationd (code=killed, signal=SEGV)
Main PID: 281484 (code=killed, signal=SEGV)
CPU: 13ms

Mar 06 14:27:51 Beauty systemd[1]: biometric-authentication.service: Scheduled restart job, restart counter is at 5.
Mar 06 14:27:51 Beauty systemd[1]: Stopped Authenticate by human biometric.
Mar 06 14:27:51 Beauty systemd[1]: biometric-authentication.service: Start request repeated too quickly.
Mar 06 14:27:51 Beauty systemd[1]: biometric-authentication.service: Failed with result ‘signal’.
Mar 06 14:27:51 Beauty systemd[1]: Failed to start Authenticate by human biometric.
mancho@Beauty:~$ systemctl stop biometric-authentication
mancho@Beauty:~$ systemctl start biometric-authentication
Job for biometric-authentication.service failed.
See “systemctl status biometric-authentication.service” and “journalctl -xe” for details.
mancho@Beauty:~$ systemctl status biometric-authentication.service
● biometric-authentication.service - Authenticate by human biometric
Loaded: loaded (/lib/systemd/system/biometric-authentication.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Sat 2021-03-06 14:29:43 GMT; 9s ago
Docs: GitHub - ukui/biometric-authentication: A biometric identification framework.
Process: 283219 ExecStart=/usr/lib/biometric-authentication/biometric-authenticationd (code=killed, signal=SEGV)
Main PID: 283219 (code=killed, signal=SEGV)
CPU: 14ms

Mar 06 14:29:43 Beauty systemd[1]: biometric-authentication.service: Scheduled restart job, restart counter is at 5.
Mar 06 14:29:43 Beauty systemd[1]: Stopped Authenticate by human biometric.
Mar 06 14:29:43 Beauty systemd[1]: biometric-authentication.service: Start request repeated too quickly.
Mar 06 14:29:43 Beauty systemd[1]: biometric-authentication.service: Failed with result ‘signal’.
Mar 06 14:29:43 Beauty systemd[1]: Failed to start Authenticate by human biometric.
mancho@Beauty:~$

Hi Akito, many thanks for the suggestions and for your patience. I finally managed to display the results of the 2 dmesg commands but couldn’t edit it into the post because there is so much of it - about 3 times as much as the allowed limit.

The problem appears to be something internal as the service is trying to start. It’s frustrating because it worked fine until quite recently, perhaps starting with Debian Linux 10.8.0

Both together?

If the second one that has only possible error messages is small enough, you may still add it. If it contains a lot of similar or same errors, then just pick them a single time and it should fit into the post. :slightly_smiling_face:

The error you show is relatively common among services with bad restart options. If the service restart option is set to Always it will always restart the service, no matter what happened. This then leads to the service restarts happening to quickly, resulting in the actual error being overshadowed by the unnecessary Start request repeated too quickly. errors.

I would advise you to completely turn off the service, set the restart option within the service to no and then after a reboot, starting the service manually and see what happens.

You can edit the service like this:

nano -Iw /lib/systemd/system/biometric-authentication
  • Find the line starting with Restart=, change it to Restart=no.
  • CTRL + X
  • Y
  • ENTER
  • Reboot computer.
systemctl start biometric-authentication
systemctl status biometric-authentication

And add the output in this thread.

Thanks again. When I looked in biometric-authentication.service (as debian would have it) YES, the service restart option is set to Always however I noticed the next entry “RestartSec=0” so I tried setting it to 2 and rebooting. Not as many visible errors during the reboot but still a fail! Looking through the logs/displays etc I was further directed to - “journalctl -xe” which included the line = “PAM unable to dlopen(pam_biometric.so): /lib/x86_64-linux-gnu/security/pam_biometric.so: cannot open shared object file: No such file or directory” This is followed by the line “PAM adding faulty module: pam_biometric.so
" so it appears that the system attempts to repair the fault but rummaging around /lib/x86_64-linux-gnu/security there is no sign of a file “pam_biometric.so” which I think should be provided by the package " libpam-biometric_1.2.1-1_amd64.deb”. I believe I have all the prescribed libraries, all later versions than the minimum required, just no pam_biometric.so file.

You also have to make sure that all the libraries are compatible with each other. For example, if you have a set of libraris of version 1 and another one of version 2, the two sets might not be entirely compatible with each other.

I think you should remove all the packages related to this question and then step by step install each package, while making sure it is a compatible version. Try to find the versions that are confirmed to work with each other.

Hi Akito, many thanks for all your suggestions and support. I haven’t found a fix for this problem but I HAVE found that the older solution still works fine but isn’t as pretty (it has no gui). I’ll add the workaround (retrograde step?) to my original post but one last question before I do - how do I close the question? I can see no easy option to mark it completed. Excuse my ignorance, I only signed up this morning. :slight_smile: