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

@Devyn_Cairns Don’t pass this up.

It’s too late, I’ve fallen for you now. I have a thing about guys with blue backgrounds

1 Like

For Debian, you need to add “gettext” to the initial dependencies (“apt install gettext”), and then the rest of the instructions work.

Edit: I spoke too soon. That’s enough to get the fingerprint reader to work, but there may be other work needed to actually use it for login, depending on the desktop you’re using.

Once again thanks! Totally works on Sway!

1 Like

Thank you! Excellent work.

I just got my Framework the other day and installed the latest Ubuntu on it - 21.10 with Gnome. I didn’t have the Wi-Fi issues that others were complaining about, thankfully; it just worked out of the box. Now, on to the fingerprint reader.

I used @Carlos_Fernandez_San’s shell script and was able to register several fingerprints via the GUI and it has worked perfectly for days now.

Today, however, after doing a sudo apt update && sudo apt upgrade -y, The fingerprint reader isn’t working anymore. Registering a new fingerprint gets almost to the end, then it says “Fingerprint device disconnected.” And I get the message “Failed to claim fingerprint device Goodix MOC Fingerprint Sensor: the device is already claimed by another process.”

What should I do to get it back again?

EDIT: After rebooting, I cannot even log into the computer anymore. I enter the password, all the while the message “Fingerprint reader not working” (or something like that) shakes below the password input box. After entering the password and hitting ENTER, nothing. Just a blank Ubuntu-colored screen. I think I’m going to need to reformat and reinstall Ubuntu.

Before I do, however, I need to know what to do (or not do) to avoid this happening again. If it’s because I upgraded all my APT packages, then I might as well avoid the fingerprint reader altogether because I need to be able to update the APT packages from time to time.

Does anyone know what I should do?

No need. You should be able to fix it as follows:

  1. When booting up, press <escape> so that the GRUB menu shows.
  2. Press e to edit the default entry.
  3. At the end of the linux /vmlinuz-... line, you should see something like ro quiet splash or so. At the end of that line, add init=/bin/bash.
  4. Press Ctrl-x to boot. This should land you in a root shell.
  5. Type mount -o remount,rw / to remount the root filesystem as read-write (so that you can make changes).
  6. Type pam-auth-update and untick “Fingerprint authentication”.
  7. Type sync.
  8. Press and hold Ctrl-Alt-Delete until it reboots (if it doesn’t do this, you can safely just hold the power button until it reboots).

This should at least allow you to login to figure out what’s going on.

As for why your fingerprint reader stopped working, can you post the content of /var/log/dpkg.log? That’ll tell us which packages were upgraded and help us narrow down what may have caused your fingerprint reader to stop working from the software side.

Thanks to Henry and Brett’s posts I have the fingerprint reader working on Pop_OS with one small catch.

The graphical login hangs indefinitely when using the fingerprint after a reboot or power cycle. This problem is intermittent with the fingerprint reader and never happens with a password login.

After using the fingerprint reader the login box disappears, and I am presented with a blank gray screen.

Checking syslog shows:

Nov 29 11:40:28 pop-os /usr/libexec/gdm-x-session[1108]: dbus-daemon[1108]: [session uid=110 pid=1108] Activating service name='org.freedesktop.systemd1' requested by ':1.13' (uid=110 pid=1202 comm="/usr/libexec/gsd-sharing " label="unconfined")
Nov 29 11:40:28 pop-os /usr/libexec/gdm-x-session[1108]: dbus-daemon[1108]: [session uid=110 pid=1108] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Nov 29 11:40:45 pop-os gdm3: Gdm: Tried to look up non-existent conversation gdm-password
Nov 29 11:40:45 pop-os gdm3: Gdm: Tried to look up non-existent conversation gdm-password
Nov 29 11:40:45 pop-os gdm3: Gdm: GdmSession: Tried to start session of nonexistent conversation gdm-password

Switching to a tty session (Ctrl+Alt+F2) and back will allow me to login with the fingerprint reader. The fingerprint reader works flawlessly ourside of this initial login after a power cycle.

Has anyone experienced anything similar to this?

1 Like

I got this far, but there’s no such entry on the PAM list. Only:

  • Pwquality password strength checking
  • Unix authentication
  • SSS authentication
  • Register user sessions in the systemd control group hierarchy
  • Create home directory on login
  • GNOME Keyring Daemon - Login keyring management
  • Inheritable Capabilities Management

Huh, can you check if the package libpam-fprintd is installed? You can find out by doing apt-cache policy libpam-fprintd?

It says it isn’t installed.

Hmmm…Is there a /usr/local/lib/x86_64-linux-gnu/security/pam_fprintd.so? And is there a result for grep pam_fprintd /etc/pam.d/*?

The only thing in /usr/local/lib is a python3.9 directory.

The results of the grep are gdm-fingerprint:auth required and gdm-fingerprint:password required.

Hi guys!
Thanks for all the guides. As it was quite fragmented across many posts and it took me a while to figure out, I thought I’d help the next one of you save some time.
For Ubuntu 21 I logged all the commands I ran to get the fingerprint reader working both for login and the terminal here: https://github.com/Alexis-BX/framework_setup
Hope it helps!

1 Like

Okay, so now I’m confused. How exactly did you install/setup fingerprint authentication? I figured that if you did it manually, the files would go in /usr/local, and if you installed the distro package the package would come up as installed (libpam-fprintd).

As I said in my original post, I used the shell script helpfully provided by @Carlos_Fernandez_San in his post above. Honestly, I’m not even sure if I needed to do that; I should have tested to see whether or not the latest Ubuntu (21.10) can use the fingerprint reader out-of-the box first. Well, I’ll get my chance today because I’m definitely going to re-install Ubuntu now.

What worries me most is if that if a simple sudo apt upgrade -y can kill the fingerprint reader, then I’m really in trouble.

Well, something’s odd, since libpam-fprintd isn’t installed, but the script installs it. What I suspect happened is that your upgrade removed libpam-fprintd because one of its dependencies conflicted with an upgraded package or so.

It’s one of the reasons I never add -y, since I want a chance to read over the actions that will be taken before actually doing the upgrade.

Unfortunately, your script did not seem to work for me on a fresh installation of Ubuntu 21.10. After running the shell script, the option to enroll fingerprints didn’t appear. Rebooted, ran the script again, and then the option appeared.

However, every attempt to enroll a fingerprint failed with the same messages I mentioned in a previous post:

Registering a new fingerprint gets almost to the end, then it says “Fingerprint device disconnected.” And I get the message “Failed to claim fingerprint device Goodix MOC Fingerprint Sensor: the device is already claimed by another process.”

I’ll try another flush-n-fill tomorrow with Carlos’s script again and see if that works again.

I’m getting real close to giving up and just installing Windows.

I had the same error but purging fprintd and libfprint before installation solved it for me. A forum also recommended this: sudo service fprintd stop to force it to release the reader.
Also maybe try 21.04 instead of 21.10?
Hope you can make it!

How does one “purge” those?

Also, an update: I’ve now reinstalled Ubuntu 21.10 three times. The most recent time, I followed @Henry_Luengas’s “Final Guide” to the letter (or, rather, to the version number). I kept running into one error or another during the first package building phase, and none of them were the “symbols” error that he said to expect. Also got an “E: You must put some ‘deb-src’ URIs in your sources.list” error message after running sudo apt build-dep libfprint. Maybe this is part of the problem, but I have no clue how to address it.

I’m trying one more time, with Ubuntu 21.04, which, by the way, was not easy to find. Ubuntu really doesn’t want you downloading that, apparently, so they buried it several small links deep.