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

Just wanted to come back to clarify that my first instance of Pop_OS (the one I ran the app image on the first time successfully) was also on a USB (installed onto a USB), which I think rules out the idea of the problem being located on the EFI partition which is an idea I saw floated (have had ample opportunity to look in there over the course of removing grub records from my earlier same-disk dual boots but couldn’t actually tell if fingerprints were in there somewhere, I feel fairly confident now though that this is not the case). I actually installed refind a little earlier from within Pop_OS and it installed it to the EFI partition on the USB, not anywhere on the drive with Windows. So I definitely think fingerprints get written to a chip on the fingerprint reader.

If I hypothetically attached a new one, could I really just attach it and use that to log in to Windows now? I am slightly curious. Actually that is dumb I’m sure it will ask for a password. I am just thinking of the times it made me enter long strings of digits because it encrypted my hard drive by default (?) and I turned off secure boot. This is a slight digression though.

Edit: I ran it again in my new installed-on-USB Pop OS that I replaced the last one with, tried to register a print on Windows same error (this is before I registered any new prints after running app third time), BUT I went back into Linux, was able to add the print, and not only did it add it, it’s asking me for fingerprint authentication for sudo now Hallelujah. So it’s starting to look like the error is that only one OS can be “in charge” of fingerprints, which I think someone already said but this seems like confirmation. But then I think other people were saying they got fingerprints working on both Windows and (Fedora? Ubuntu?) on dual boots so then that’s not it either.

Would you mind letting me know which dependencies you had to install? I may be able to make sure they’re in the appimage and rebuild it.

Hey @Devyn_Cairns , I used toolbox for almost all of it. Is there a log that would store all of the output? All I can retrieve is my history of what I attempted to install, and I don’t know which was successful (I had to guess what the dependency was called). After I installed the dependencies to where it didn’t error out anymore, the final step threw up an error not dependency related. I don’t recall exactly what that error was.

That’s when I continued to read and saw the appimage. I ran it, and success. But now I’m thinking I didn’t need to install any of the depedencies because appimage contains all of that. But unfortunately I can’t test it unless it’s on a fresh machine. If there is a log, I’ll be happy to dig through it and list what it said.

FYI this fixed the issue in Windows for me: https://www.askvg.com/fix-that-fingerprint-has-already-been-set-up-on-another-account-try-a-different-finger-error-in-windows-10/

1 Like

Thank you everyone for this post. I started looking into meson and realized that dependencies were missing. A bit of sudo apt-get lib*... got me there.

I’m not a newbie but I’m also nothing without the community.

Fun tip: if you can’t find a package on apt-get, the package name has lib on it

ex: nsslibnss*

1 Like

I think dnf history would probably help. If you can paste whatever section you have in there that seems relevant, it’ll probably help.

Ah yes, that does help. I didn’t realize that existed. That’s cool.
Here is the relevant output:

ID | Command line | Date and time | Action(s) | Altered

17 | install fprintd                                          | 2021-11-13 12:10 | Install        |    3   
16 | install gdb                                              | 2021-11-13 12:05 | Install        |    9   
15 | install gtk-doc                                          | 2021-11-13 12:05 | Install        |   12   
14 | install libgudev-devel                                   | 2021-11-13 12:02 | Install        |    2   
13 | install nss-devel                                        | 2021-11-13 12:01 | Install        |    5   
12 | install gobject-introspection-devel                      | 2021-11-13 12:00 | Install        |   24   
11 | install cairo-devel                                      | 2021-11-13 11:57 | Install        |   20   
10 | install libgusb-devel                                    | 2021-11-13 11:57 | Install        |    2   
 9 | install glib2-devel                                      | 2021-11-13 11:52 | I, U           |   16   
 8 | install cmake                                            | 2021-11-13 11:50 | Install        |    7   
 7 | install gcc-c++                                          | 2021-11-13 11:43 | Install        |    2   
 6 | install gcc                                              | 2021-11-13 11:37 | Install        |   13   
 5 | install meson                                            | 2021-11-13 11:34 | Install        |    5   

I hope that helps out. Most of the time spent was just trying to figure out which one to install from dnf search. I’m not sure if meson was part of it, but it may have been, as I haven’t really played with toolbox much before that.

Edit: There also may be some things on that list that didn’t need to be there. I remember at least one of them installed and didn’t change the output errors. But I can’t go back and see those errors unfortunately.

@devyn_cairns Is it wrong that I feel fully ready to marry you just on the basis of what you’ve accomplished here? Then again I once married someone for British citizenship (and then didn’t even follow through, and then Britain left the EU…) so the bar might not be terribly high

Okay I will stop distracting you from whatever you are trying to learn with your seemingly superfluous investigation into dependencies. Also dnf history sounds pretty good but is this going to be another thing my OS uses to track me now?

2 Likes

@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/*?