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

Nope Sill getting
`<gi.FpiDeviceGoodixMoc object at 0x7fe60f751e80 (FpiDeviceGoodixMoc at 0x18b91a0)>
goodixmoc
UID6F8D6759_XXXX_MOC_B0
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change

(process:43299): libfprint-ERROR **: 20:56:01.991: parse fingerlist error
Trace/breakpoint trap`

@Declan_Li-Carney - hmm. What distro are you running, what version is it, and what versions of the fprint components do you have?

From my system, Pop!_OS 21.10:

sudo apt list --installed | grep fprint

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

fprintd/impish,now 1.90.9-1build1 amd64 [installed,automatic]
gir1.2-fprint-2.0/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed,automatic]
libfprint-2-2/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed,automatic]
libfprint-2-dev/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed]
libpam-fprintd/impish,now 1.90.9-1build1 amd64 [installed]

Edit to add - I get the same initial udev errors, but then it lists my enrolled prints. I didn’t run with -d to delete as things are working ok in my setup and I’d rather not delete the prints.

@lbkNhubert
I’m alson on Pop 21.10
my fprint versions are:
printd-doc/now 1:1.94.0-1 all [installed,local]
fprintd/now 1:1.94.0-1 amd64 [installed,local]
gir1.2-fprint-2.0/now 1:1.94.1-1 amd64 [installed,local]
libfprint-2-2/now 1:1.94.1-1 amd64 [installed,local]
libfprint-2-doc/now 1:1.94.1-1 all [installed,local]
libpam-fprintd/now 1:1.94.0-1 amd64 [installed,local]

Throwing stuff at the wall here - maybe try installing libfprint-2-dev and see if that helps? If not, it may be a version issue since I’m on 1.90.x.

Nope :frowning: still getting no device found/script does not work

fprintd-doc/now 1:1.94.0-1 all [installed,local]
fprintd/impish,now 1.90.9-1build1 amd64 [installed]
gir1.2-fprint-2.0/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed,automatic]
libfprint-2-2/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed,automatic]
libfprint-2-dev/impish-updates,now 1:1.90.7+git20210222+tod1-0ubuntu4~21.10.2 amd64 [installed]
libfprint-2-doc/now 1:1.94.1-1 all [installed,local]

Has anyone had any luck resolving the udev_hotplug_event error? Mine also follows an error regarding power/persist - here’s the output of fprintd status:

Feb 01 14:20:47 fedora systemd[1]: Starting Fingerprint Authentication Daemon…
Feb 01 14:20:47 fedora fprintd[35044]: Failed to open /sys/bus/usb/devices/3-9/power/persist
Feb 01 14:20:47 fedora fprintd[35044]: libusb: error [udev_hotplug_event] ignoring udev action change
Feb 01 14:20:47 fedora systemd[1]: Started Fingerprint Authentication Daemon.
Feb 01 14:20:47 fedora fprintd[35044]: libusb: error [udev_hotplug_event] ignoring udev action change
Feb 01 14:20:48 fedora fprintd[35044]: libusb: error [udev_hotplug_event] ignoring udev action change
Feb 01 14:20:48 fedora fprintd[35044]: libusb: error [udev_hotplug_event] ignoring udev action change

I just want to note that the fingerprint reader IS WORKING currently on Fedora 35, just curious about these errors…

@Declan_Li-Carney - the error is from line 391 here:

Do you get the same error when you run the script with the -d flag? Warning, that will delete any enrolled fingerprints if it does work. Have you ever had the fingerprint reader working? I noticed that you are on v1.94 - is there a reason that you need that version? The default one in 21.10 is working fine for me - I understand that you may need it, just asking.

-d did not work, I had old versions of the libs before, but I just tried the newest, I had the fingerprint working on windows before, and pop is 12.04 before that

Have the same parse fingerlist error. I’m pretty sure fingerprint worked once when was using Fedora 34. But now I’m using Manjaro and it doesn’t work. Then I switched back to Fedora, and Fedora also failed

For anyone interested I’ve just installed ubuntu 22.04 and all I needed to do was sudo pam-auth-update to enable fingerprints and fprintd-enroll

5 Likes

Thank you for your work @Devyn_Cairns. I managed to corrupt storage my goodixmoc even without a dual boot setup, and calling clear_storage_sync while having a version of libfprint with your patch merged in (1.94.3) solved my issue.

Hello everyone!

Last week, I set up my new Framework using Ubuntu 20.4.4 and everything including the fingerprint scanner was working fine. Then, I decided to install Mint 20.3 and also managed to set up the fingerprint using binaries for libfprint-2-2_1.94.1, fprintd_1.94.0 and libpam-fprintd_1.94.0 which were mentioned earlier in this post here.

Without my intervention, after a day or so, the fingerprint scanner stopped working completely. I reinstalled Ubuntu 20.4.4 but the problem persists. fprint-enroll still gives me

Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

and the fingerprint device does not seem to be recognized anymore since lsusb only reports:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 32ac:0002 Framework HDMI Expansion Card
Bus 003 Device 009: ID 8087:0032 Intel Corp. 
Bus 003 Device 002: ID 046d:c539 Logitech, Inc. USB Receiver
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Do you think think this is a hardware issue? I’ve tried reinserting the fingerprint cable as described in the fingerprint replacement guide but that did not help, unfortunately.

I would greatly appreciate your help!

There’s a great script which deletes all registered fingerprints and lets you start over (with enrolling fingerprints again):

Thanks for pointing that out @Fraoch. I forgot to mention that I successfully used that script to clear the fingerprints from the sensor’s memory after moving from Ubuntu to Mint. However, since the device is now no longer accessible, the script is also not able to accomplish much.

It seems to just skip the loop since there are no fprint_devices returned by print_context.get_devices() which is consistent with lsusb not listening any.

Is there another way I can check whether the device is still functioning? I find it hard to believe that it just stopped working altogether.

Wow, this has to be the single best, discussion on enabling finger print sensor configuration for Linux that I have seen. I followed the recommendations here, and was able to get it working (for the most part) on Debian 11 AMD64. I have a few questions:

I compiled the latest versions of libfprint and fprintd found via git. But when I look for what is installed, how do I validate that? The ninja install seems to place the updated binaries in the correct location? But I am not sure where?

Next, fprind-enroll works for the most part, I captured a finger, and enabled sensor for pam, so Gnome login sees the finger print sensor option at login. But the recording of finger prints works fine, only once in a while it gives up. How can I improve this?

At logn attempt, timeout or number of attempts seems low, I can’t seem to get the authentication completed, just keep getting rejections? I can’t seem to use fprintd-verify very well, very low verification success? Am I doing something wrong?

Last I am not sure how the fprintd service is used? It appears to be running but randomly dies, goes inactive?

1 Like

The fingerprint scanner is now working nicely with Solus 4.3 Budgie.

Is anyone aware of an official Framework statement / update / response / follow-up to this?

This is how I got mine working. There’s some “it just depends” with your given setup, so use this as a guide and not a hard and fast recipe.

How to enable the fingerprint reader on a Framework laptop running Debian

I have spent three months distro hopping and deciding which works best for me. I have found these packages allow the fingerprint reader to work. Your system might already have these packages at the revisions below. It might have older versions. If you have older versions, remove them, and install the one below. There’s no one size fits all that I can tell. It works fine on Debian-based systems. I couldn’t get it to work on Ubuntu-based systems, but give it a shot, you might find a way to make it work.

Edit: I was able to use the fingerprint reader on Linux Mint EDGE which is Ubuntu-based. I was unable to make it work on Ubuntu, Xubuntu, or Kubuntu.

Install software

I had to install gir1.2-fprint-2.0

sudo apt install -y gir1.2-fprint-2.0

Download required packages

wget http://ftp.de.debian.org/debian/pool/main/libf/libfprint/libfprint-2-2_1.94.2-1_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/f/fprintd/fprintd_1.94.2-1_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/libu/libusb-1.0/libusb-1.0-0_1.0.26-1_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/f/fprintd/libpam-fprintd_1.94.2-1_amd64.deb

I find it’s best to navigate to these files using your file browser and installing through the GUI versus using the command line.

Enable and enroll

Once your fingerprint reader is recognized, go ahead and configure the PAM configuration sudo pam-auth-update.

Now enroll your fingerprints sudo fprintd-enroll

1 Like

I’ve been trying this and every time I try either fprintd-enroll or sudo fprintd-enroll I get the following error message:
Failed to get Fprintd manager: Error calling StartServiceByName for net.reactivated.Fprint: Timeout was reached
Any idea how to get around this?

this worked for me, thanks!