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

-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!

I am using Ubuntu 22.04 and “sudo pam-auth-update” and enabling “fingerprint” worked for me.
Not very intuitive putting the * in the box to enable “fingerprint”. Use the arrow keys to select the box and then the spacebar to activate the feature and finally tab to save.

Update; the fingerprint reader has stopped working I think its something to do with a resent Ubuntu update.

I am running Debian sid, with KDE plasma 5. But using the current fingerprint is just not an option for me. What desktop env are you using?

When I enable fingerprint, I can no longer unlock my system with a password. Despite the screen asks for it, I have to type on wrong try and after that is denied I can use the fingerprint, not before. When logging into the system it doesnt even respond with s/t like “wrong password”. It simply does not proceed from the login screen, nor does the fingerprint auth work for the login at all.

I was using Gnome, default for Debian 11. I never did get the finger print reader to ‘verify’ anything. I could record prints fine. I could use the reader just fine in Windows 10, 11. But on Debian 11, and the default Gnome environment, and installing the driver/libraries, it never would verify. I could record prints fine.

But I did not have any issues using password, that always worked, for ‘su’ as well as initial login through GDM (login screen).

1 Like

No matter what I do I cannot get the fingerprint scanner to work on Ubuntu 22.04. I should not that I have had it working on Windows 10, 11, Ubuntu 18.04, Fedora 34 and 35. I just can’t seem to get it working now.

The python script to delete previous scanned fingers, just keeps giving me the udev error I mentioned earlier. Has anyone had any luck getting the scanner working after having similar issues?

1 Like

Hi! I’m running Ubuntu 22.01 LTS on my Framework and my fingerprint scanner is working fine.

Are you perhaps dual-booting between Ubuntu and Windows (or another OS) on the same SSD? In my experience, it seems like if I boot two or more OSs from the internal SSD, only one OS gets to “own” the fingerprint scanner, and the other OS can’t access it.

On my Framework I have Windows booting from the SSD and Ubuntu booting from a 256GB expansion card. Fingerprint authentication works fine on both OSs.

2 Likes

I had Windows on the nvme before the current Ubuntu install but never at the same time. There is definitely some kind of lock on it.

I am also dual-booting Ubuntu 22.01 & Windows 11. Windows has no problem using the fingerprint reader, however, ubuntu wont read as well. Seems as though the “owning” aspect of the fingerpring reader is the correct assumption.

Is there any way around this or is a security feature?