[TRACKING] Fingerprint scanner compatibility with linux (ubuntu, fedora, etc)

Delighted to hear it! :slight_smile:

Thank you so much. :pray: :bowing_man: cannot thank you enough, I was about to give up :smile:

I have Mint on my framework and it didn’t work out of the box, but after installing fprintd and libpam-fprintd it worked great.

1 Like

Great to hear it works with Linux Mint @Owen :blush:

1 Like

Hello everyone! I’m dual-booting Fedora 38 and Windows 11. Have the problem of “corrupted header” so I’ve used the AppImage by @Devyn_Cairns ; I can now register and sign in with fingerprint successfully on Fedora but not any more on Windows: fingerprints are successfully enrolled but not deleted (I can use the remove option in Windows settings but when trying to set up with the same finger, it says “similar fingerprint already set”). Furthermore, signing in with fingerprint not available even when it is set. Thanks in advance for the help.

A specific fingerprint finger can only be assigned to one OS installation. I suggest to clean all stored fingerprints with the given script (from Fedora) and if you really need fingerprints in both Windows and Linux, make sure each OS has its own set of fingers, i.e. if you want to use the real pointer finger for login, store its finger print as the pointer finger in windows and the middle finger in Linux or something like that. (If it complains about a similar finger being already set, you might need to use different fingers for login, i.e. use the pointer finger in windows and the middle finger for linux or something like that)

2 Likes

Hello @Jonathan_Haas. Thanks for the answer! I did that, but it didn’t solve the problem: even with a fingerprint added, the login option no longer appears on the Windows login screen; and when I delete that fingerprint and try to set it again, it says that a similar record already exists (no fingerprint set on Fedora).

How are you deleting the fingerprint? If you are dual-booting, you might try running this tool (Linux AppImage), then reboot, see if this helps Window at all. The idea being to clear all fingerprint storage completely.

Once this is done in Linux and rebooted back into Windows (if this is where you want to enroll the fingerprint, you will need to re-enroll again.

@Matt_Hartley, well, well… I did that, it didn’t work… I thought resetting Windows or reinstalling Fedora would solve the problem (I did both, resetting Windows first and trying to add the fingerprint, but at some point it stopped working). After reinstalling Fedora, it didn’t work anymore (I used the AppImage again) : I now have an unlimited ‘enroll-retry-scan’ after the first scan when using fprintd-enroll. On Windows, Windows Hello kept crashing after the first scan (‘Something went wrong, retry later’; in the event viewer, there’s a Windows Biometrics Service error: ‘failed to delete record from the sensor’).
That’s the situation now! :tired_face::tired_face: Don’t know if anyone can help me :upside_down_face:.

@Marveille_ZINZIN At this point, I’d wipe Windows alltogther as it suspect it’s creating issues where there doesn’t need to be. Format, install only Ubuntu 22.04. Then do the AppImage again. It does work, I use it all the time. But it sounds like something in the shared OS environment is doing creative things (yet another reason I do not officially support dual-booting - it’s a YMMV endeavor.).

Once this is done and be aware the AppImage will give errors (normal), you can immediately try enrolling again only on Ubuntu.

Follow this guide very closely (again, Windows wiped out completely, fresh install of Ubuntu).

@Matt_Hartley hi. Sorry for the late reply. I’ll give it a try, thanks!

1 Like

Sounds good, no worries! :slight_smile:

i had to change up the command a bit for it to work for me on NixOs.
Here is what i did step, by step to get this working on NixOs 23…05:

$ sudo touch /root/fprintclear.py
$ sudo nano /root/fprintclear.py #paste code from the link above
$ sudo su
# cd #gets me to /root/
# nix-shell -p pkgs.libfprint gobject-introspection gusb 'python3.withPackages(ps : with ps; [ pygobject3 ])'
# python3 fprintclear.py

in case the post above gets removed for some reason, here is the code i got from @Shy_Guy:

#!/usr/bin/env python3

import gi
gi.require_version('FPrint', '2.0')
from gi.repository import FPrint

ctx = FPrint.Context()

for dev in ctx.get_devices():
    print(dev)
    print(dev.get_driver())
    print(dev.props.device_id);

    dev.open_sync()

    dev.clear_storage_sync()
    print("All prints deleted.")

    dev.close_sync()

Thanks for the share! I tossed this into this dedicated Nix thread as well.

1 Like

@Matt_Hartley, hello!
Screenshot from 2023-06-23 09-47-56
Finally did it. Unfortunately, it didn’t work. I don’t know, maybe I messed up the reader itself! Still having enroll-retry-scan (as on the screenshot) when trying to enroll. Well, :smiling_face_with_tear: :walking_woman:

For those who uses Nix/NixOS, I made a flake just to slightly simplify @Shy_Guy’s solution with 2 lines of command:

$ sudo nix develop "github:nixvital/fprint-clear"

# After entering the environment

$ fprint-clear

You can find the code in GitHub - nixvital/fprint-clear: Quick solution to clear your fprint storage flake.nix.

1 Like

Can you walk me through how you did it? From the looks of it, your reader works fine (based on the image) but is not recognizing the fingerprint itself - worth trying different days, etc. I’ve seen this before across various laptops and companies.

Just got my 13th gen framework and I’m having some issues getting Fedora 38 to even talk to the fingerprint reader.
Fprintd is failing to claim the reader and is asking for a firmware update through fwupd but fwupd is claiming there is no available firmware. The listed firmware version is 01000320 when doing fwupdmgr get-devices.

I have tried unplugging it and plugging it back in, a forced refresh of fwupd, and force stopping and restarting fprintd in all sorts of combinations.

This is a fresh fedora 38 install on a new 13th gen intel laptop. Everything else works and is recognized but the fingerprint reader feature itself.

finished running this and this is the output if that helps anyone

Looking for fingerprint devices.
libusb: error [udev_hotplug_event] ignoring udev action change
<__gi__.FpiDeviceGoodixMoc object at 0x7f2c0e607340 (FpiDeviceGoodixMoc at 0x55f0351841e0)>
goodixmoc
UIDXXXXXXXX_XXXX_MOC_B0
libusb: error [udev_hotplug_event] ignoring udev action change
Traceback (most recent call last):
  File "/tmp/.mount_fprintLY6IjY//opt/fprint_clear_storage.py", line 18, in <module>
libusb: error [udev_hotplug_event] ignoring udev action change
    dev.open_sync()
gi.repository.GLib.Error: fp - device - error - quark: Please update firmware using fwupd (1)
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: warning [libusb_exit] application left some devices open

Hello!
I deleted the Linux (Fedora) partitions first (on Windows), booted from the formatted drive, and at the time of partitioning in the installer (Fedora), I asked it to delete the Windows partitions, create the new ones, format the EFI partition too…

I’m planning to test Ubuntu.

update on this, Support finally got back to me and there seems to be an issue with a new revision of the fingerprint scanner, I have a hacky workaround from support but I have not had a chance go test it out yet, when I do I will add an update