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

I can’t get this to run. It is complaining about not being able to find stuff

/home/committed88/Downloads/libfprint_delete_device_prints.py: 3: from: not found
/home/committed88/Downloads/libfprint_delete_device_prints.py: 6: from: not found
/home/committed88/Downloads/libfprint_delete_device_prints.py: 7: from: not found
/home/committed88/Downloads/libfprint_delete_device_prints.py: 10: Syntax error: word unexpected (expecting ")")

Thoughts?

Looks like it’s missing the

#!/usr/bin/python3

at the top of the file.

Try running it directly with python

$> python3 libfprint_delete_device_prints.py

Yes that’s correct, I accidentally left python out of the command. You’ll need sudo as well:
sudo python3 libfprint_delete_device_prints.py

Thanks, even though I’m a software guy, I admittedly have not messed with Python in the slightest.

Now the output I’m getting is:

<gi.FpiDeviceGoodixMoc object at 0x7f043672a280 (FpiDeviceGoodixMoc at 0x1ada0a0)>
goodixmoc
UID342C7CF8_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:117261): libfprint-ERROR **: 17:44:35.342: parse fingerlist error
Trace/breakpoint trap

I’ve been having issues getting the fingerprint reader to work under Ubuntu 21.04 with Windows installed as well and using the fingerprint reader.

My guess is that this has something to do with it as well.

1 Like

@2disbetter did you verify that you had the latest libfprint installed for your distro? You can get some of the package versions with sudo dpkg --get-selections | grep fprint.

image

what I compiled was 1.92 so I guess one of the recent updates bumped it up.

Anyway, should I try to roll the versions back?

If so, would someone be able to give me a hand with that? I’m pretty familiar with Linux but have never had a need to do any of this.

I got the fingerprint sensor to work on Ubuntu 21.04, but the sensor itself is very hot to the touch. Anyone else experiencing this?

@Shdenison which libfprint version are you on? There was a fix for the hot sensor issue in v1.94.0

@Henry_Luengas The link to your script times out, could you post it again/somewhere else? I’d like to give it a try but can’t access it.

Here’s a github repo:
framework_scripts
It still seems to be up for me on the original webserver, can you tell me more about what error you’re getting?

4 Likes

@Henry_Luengas It shows me a “Page not found” error after around three minutes. Thank you for the repo! This script worked for me! I was able to delete several fingerprints that have persisted across installs. Thanks again.

Welp, this has gone highly pearshaped.

After following much of the great advice here, I managed to get fprintd built and installed. When I ran fprintd-enroll my terminal hung with no output, and I thought, sure, maybe I should restart first.

Well, the system now cannot be logged into, both in text mode and graphical mode, nothing shows up on the login page, I don’t even get a prompt to login in text mode.

Hard to do any debugging at this point, so I’m planning on wiping the machine (it was a new install anyway), but anyone have tips on how to recover from this, and also important, avoid it in the future?

1 Like

:grimacing:

Oh wow. That sounds very bad.

I was going to try to get it working, now I think I’ll wait a bit.

Any chance you had some pending package updates that were waiting on a reboot that might have conflicted?

What distro and version were you testing with, and did you use the GitHub repository with the scripts for building?

Pending package updates waiting on a reboot. I don’t believe so. It was a new image, so I bother doing updates, so I don’t think there would have been anything pending.

I was testing on Ubuntu 21.10, I was waiting for it to come out before doing a proper setup, although it’s turned out to be a lot buggier than the Kubuntu 21.04 I installed just to try things out.

Yeah, I pulled directly from the repository, using the instructions above, but I did pull using the tag to get the right version, vs. pulling from head.

I am also getting a version mismatch when trying to compile fprintd

meson.build:92:0: ERROR: Invalid version of dependency, need 'libfprint-2' ['>=1.94.0'] found '1.92.1'.

I have tried to set the CFLAGS, CC, and LD_LIBRARY_PATH without success…

running ubuntu 21.10

1 Like

@Charlie_Hoover, did you pass install to ninja?
e.g. ninja -C builddir install
That worked for me when I got this error.

I also was only able to get this all to work compiling straight from the original git repo located here: https://gitlab.freedesktop.org/libfprint, FWIW.

[Debian 11, kernel 5.14.0-2-amd64]

1 Like

I compiled it slightly differently (on Debian unstable, but this also seemed to work in a docker container running Debian stable).

If you don’t already have it, this needs git-buildpackage installed. Then we fetch the sources:

  1. gbp clone --pristine-tar https://salsa.debian.org/debian/libfprint.git
  2. cd libfprint
  3. git remote add upstream https://gitlab.freedesktop.org/libfprint/libfprint.git
  4. git fetch upstream

Next we pull down the new version.

  1. uscan --verbose

That will have downloaded a .orig.tar.bz2, which we need to load. But first we need to fix some things.

  1. Edit debian/update-udev-triggers.sh and change the line autosuspend_file="/tmp/autosuspend.hwdb" to autosuspend_file="${srcdir}/data/autosuspend.hwdb"
  2. Edit debian/libfprint-2-2.install to change lib/udev/hwdb.d/ to just lib/udev/.
  3. Commit these changes: git commit -am 'Make it build'

Now we’re ready to import the new version.

  1. gbp import-orig --pristine-tar ../libfprint_1.94.1.orig.tar.bz2 (use the correct version number, of course).

Now to build:

  1. sudo apt-get build-dep libfprint
  2. One is missing: sudo apt-get install libgudev-1.0-dev
  3. DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc
    • The “DEB_BUILD_OPTIONS=nocheck” stops it from running the package’s tests, I don’t know why but three fail for me.

The build will fail because we didn’t update that symbol file. Fortunately it prints a patch.

  1. patch -p0 <<EOF and enter. Then copy-paste the patch. Then type EOF after the last line. Then do step 12 again.

After that, fprintd is similar but easier.

  1. Install the libfprint debs you just built.
  2. Much as above, but without any manual fixups needed:
    gbp clone --pristine-tar https://salsa.debian.org/debian/fprintd.git
    cd fprintd
    git remote add upstream https://gitlab.freedesktop.org/libfprint/fprintd.git
    git fetch upstream
    uscan --verbose
    gbp import-orig --pristine-tar ../fprintd_1.94.0.orig.tar.bz2
    sudo apt-get build-dep fprintd
    DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -u -bc
    

This is amazing, thank you so much.

Thanks to @Brett_Kosinski, @Henry_Luengas and @SeaMonkey for their excellent guides.

I got this working perfectly on Linux Mint Cinnamon 20.2.

A few notes:

  • Instead of the debhelper-compat dependency error when using build-dep I got a cryptic You must put some 'source' URIs in your sources.list error. Finding this, I then figured out I had to go to the Software Sources GUI and enable Optional Sources - Source code repositories.

  • apt-source --download-only worked fine for me but it downloaded “fprintd_1.90.9-1~ubuntu20.04.1.debian.tar.xz” and not “fprintd_1.90.9-1.debian.tar.xz” so adjust your tar command appropriately or it won’t find the file.

  • sudo systemctl enable fprintd.service resulted in an odd error but it doesn’t seem to matter, the next start command worked fine and the service gets restarted on reboot.

  • I had to figure out that it’s fprintd-enroll -f right-index-finger (or middle-finger or ring-finger or little-finger), at first I just put right-index and it didn’t work, but it tells you what input is valid

Works perfectly any time the system asks for authentication, including sudo, and I now realize just how often that is. :slightly_smiling_face: It works quickly, faster than I could type my password.

Complete and working fine! It actually works better than my old fingerprint scanner in Windows on my corporate laptop.