Validity Fingerprint 138a:0090 reader

elementary OS Asked by Jason Murphy on August 28, 2021

wondering if anyone has got the Validity Fingerprint reader 138a:0090 working with elementary OS? I’m running 5.1.6 and a noob. Have fumbled through the instructions found here:

Seems like I may be missing something, or have done things out of sequence. (first tried installing fprint demo, via the Appcenter). Have been able to initialise the reader with validity-sensors-tools but that is as far as I can get. When running Fingerprint GUI, the message: no devices found! appears.

Any pointers would be very welcome, especially from anyone who has got this working.

My machine is the ThinkPad X1.

3 Answers

Ok, have got fingerprint authentication working now in Hera 5.1, with the Thinkpad X1. Maybe others will be luckier than me, but following the instructions on did not work for me. I tried many variations, but always the same error with fingerprint-gui and fprint-demo: No Device Found.

While this method works, it will not work with either of those GUI applications.

Huge thanks to sysadmin here, @himekifee over on Gitter, and Marco Trevisan for his work on all this.

Here are the steps to get things working.

Install snap:

sudo apt-get install snapd

Install Validity tools and initialise the device:

sudo snap install validity-sensors-tools
sudo snap connect validity-sensors-tools:raw-usb
sudo snap connect validity-sensors-tools:hardware-observe
sudo validity-sensors-tools.initializer

Compile libfprint:

git clone
meson libfprint libfprint/_build && sudo ninja -C libfprint/_build install

Install libfprint

Install fprintd

Install fprintd from focal release 20.04: (the bionic version would not work)

echo 'deb focal main restricted universe deb-src focal main restricted universe' | sudo tee /etc/apt/sources.list.d/ubuntu-focal.list

echo 'APT::Default-Release "bionic"' | sudo tee /etc/apt/apt.conf.d/01ubuntu-bionic

sudo apt-get install -y -t focal fprintd

Install PAM:

sudo apt-get install libpam0g-dev libpam-fprintd

Configure PAM:

sudo pam-auth-update

Include fingerprint reader as authentication option. Click ok.

Update symbolic link /usr/lib/ -> /usr/local/lib/ (to libfprint)

Allow fingerprint enrolling to user:

Create /lib/udev/rules.d/40-libfprint0-custom.rules as follows:

ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0090", MODE="0664", GROUP="plugdev"

**Add your $USER to plugdev group:**

usermod -a -G plugdev $USER


Enroll fingerprints:


Verify fingerprint matching:


Add fingerprint authentication configuration for login:

Edit /etc/pam.d/common-auth for editing (sudo nano /etc/pam.d/common-auth).

Add: first line

auth    [success=2 default=ignore] max_tries=1 timeout=10
auth    [success=1 default=ignore] nullok_secure

Can also edit /etc/pam.d/sudo (include at the top):

auth    sufficient try_first_pass likeauth nullok
auth    sufficient

Good resources:

Answered by Jason Murphy on August 28, 2021

I think I've got closer to finding the issue with this. I've tried this:

purged everything fprint related, rebooted and started from scratch.

Initialised with validity tools
sudo add-apt-repository ppa:3v1n0/libfprint-vfs0090
sudo apt-get update
sudo apt install fprint_demo

Rebooted and ran dpkg -l 'fprint'

The output is without errors:

Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=====================-===============-===============-================================================ ii fprint-demo 20080303git-6 amd64 simple GTK+ testing libfprint's functions ii libfprint0 1:0.7.0-git2018 amd64 fingerprint library of fprint project, shared li

Ran lsusb and the output includes the fingerprint sensor: Bus 001 Device 004: ID 138a:0090 Validity Sensors, Inc.

I think this tells me the sensor is recognised by the system, however fprint-demo (and fingerprint gui) do not recognise the device.

Running fprint-demo and still get 'no devices found'.

I then found these instructions:

You need to add a new udev 110 rule to allow access to the device. My rule was ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0011", MODE="0664", GROUP="plugdev" but you need to change some parameters. GROUP must be a group your user is in. ATTRS{idVendor}:ATTRS{idProduct} describe your device and can be found with lsusb

However, this is the extent of my knowledge and unsure how to follow these instructions. Will keep chipping away at it.

Answered by Jason Murphy on August 28, 2021

sudo add-apt-repository ppa:3v1n0/libfprint-vfs0090 
sudo apt-get update
sudo apt install fprint_demo

I guess the last command, because I do not know the name of the package.

The second solution is here:

However I would like to ask you to open terminal and type:

sudo update-initramfs -u

And check does it show missing firmware.

Answered by Sysadmin on August 28, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP