How to use fingerprint unlocking - How to set up Fprintd (English)

Hello,

I’m a bit of a noob on Linux and NixOS, but I’ve been trying to work out the fingerprint reader.

I’ve installed fprintd and it seems to be working, without any error messages.
I can enrol a finger both via terminal (fprintd-enrol) and via the GUI on Gnome (System > Users)

But when it prompts for the password, my fingerprint will NOT work.

If I try to do fprintd-verify, it doesn’t give me any errors, but it goes straight through:

[thisuser@nix:~]$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
** - #0: right-index-finger**
Verify started!
Verifying: right-index-finger
Verify result: verify-disconnected (done)

[thisuser@nix:~]$

Do anyone experience this? Or have any tips for me?

Thank you!
Cheers

It should look like this:

$ fprintd-verify 
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
Verify started!
Verifying: right-index-finger
Verify result: verify-match (done)

I suspect your device might be dropping out or something, check dmesg and journal.

Hi mate,

Thanks for that.
I ran dmesg and this is what i found regarding the fingerprint reader:

[ 1.642504] usb 5-3: new full-speed USB device number 4 using xhci_hcd
[ 1.780673] usb 5-3: New USB device found, idVendor=0483, idProduct=2016, bcdDevice= 0.01
[ 1.780678] usb 5-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.780680] usb 5-3: Product: Biometric Coprocessor
[ 1.780682] usb 5-3: Manufacturer: STMicroelectronics

Enrolling fingerprints works fine, but it doesn’t “read” it when doing the fprintd-verify OR just when a password is needed.

Do you think it could be a driver issue?

Thank again,

Cheers

Check the log while you’re doing it; snip before and after.

I don’t know what the cause might be, you have to use logs etc. to figure this out.

For those with Dell laptops (presumably using the tod.driver = pkgs.libfprint-2-tod1-broadcom; package), is your fingerprint reader currently working?

fprintd is working for me, but it does not detect my fingerprint reader, despite that package being explicitly made for Dell Latitude 7300. Checking Bus 001 Device 003: ID 0a5c:5842 Broadcom Corp. 58200, I do have the correct fingerprint reader.

# Fingerprint sensor
## https://wiki.archlinux.org/title/Fprint
services.fprintd = {
  enable = true;
  package = pkgs.fprintd-tod;
  tod.enable = true;
  # Search for "libfprint" in packages to find other drivers
  tod.driver = pkgs.libfprint-2-tod1-broadcom;
};

this is the full snippet in my configuration.nix