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

@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

Do keep us posted (in the ticket) - we’re also working on this at the engineering side of things as well.

For 13th gen laptops and new fingerprint readers I was given this option from support and I can confirm that my fingerprint reader now works. It also has changed the listed firmware version from 01000320 to 01000252.

  • Install and boot into Windows (either as a standard installation or with USB passthrough in a VM - I recommend the former)
  • Download and then run the Framework Laptop Driver Bundle installer for 13th gen. This has been shown to resolve the issue on other generations of Framework laptops dealing with the change in the provided fingerprint readers (replacement units in those instances).
  • Then reboot.
  • Now install Fedora 38 again and the firmware issue should be addressed. ← I use Fedora but this might work with Ubuntu or any other version of Linux.
1 Like

Waiting on my AMD 13 inch order to be delivered. Can I check if the scanner is the same make + model on the AMD setup please?

Curious, with the new fingerprint readers while still at “new/incompatible” firmware version 01000320: Do they still show up on the USB bus wiht the same ID as the OG device ID:

Bus 003 Device 008: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC

as the older-firmware ones?

(In other words, was this a “SKU change by firmware” situation that the Windows driver auto-mitigates?)

The line above is from the reader on my 11 gen batch 4 laptop (late 2021 vintage). According to fwupdmgr get-devices it’s at firmware 01000248.

From @Nolan_Clark’s post above it seems that there’s a later, still Linux-compatible, version, 01000252. I assume/hope goodix and/or Framework will make this available via LVFS at some point.

Anyway, I also have an AMD on order so I’m watching this thread, since FW engineering is plugged in now I’m confident we’ll have a solution. When I get my batch 5 I could break out ye olde Windows VM to fix this but I’d rather not :slight_smile:

Yes, they still enumerate the same on lsusb, even with the different firmware.

You can look at my post about this issue and my 11th gen batch 5 machine + dive into libfprint / fprintd / firmware.

My fingerprint scanner works fine with zero modifications. All i had to do was update to the newest version of ubuntu (currently 23.04, non-LTS)

Having the same issue on my new 13th gen Framework 13 with Fedora 38. Is there a workaround that doesn’t require Windows?

2 Likes

Same issue here on Fedora 38 with 13th Gen Intel Framwork 13, the previously working fixes seem to no longer work. :frowning: