0

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: https://launchpad.net/~3v1n0/+archive/ubuntu/libfprint-vfs0090

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.

1

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 https://github.com/3v1n0/libfprint 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 https://github.com/3v1n0/libfprint
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 http://archive.ubuntu.com/ubuntu focal main restricted universe deb-src http://archive.ubuntu.com/ubuntu 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/libfprint.so.0 -> /usr/local/lib/libfprint.so.0.0.0 (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

Reboot

Enroll fingerprints:

fprintd-enroll 

Verify fingerprint matching:

fprintd-verify

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]  pam_fprintd.so max_tries=1 timeout=10
auth    [success=1 default=ignore]  pam_unix.so nullok_secure

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

auth    sufficient  pam_unix.so try_first_pass likeauth nullok
auth    sufficient  pam_fprintd.so

Good resources:

| improve this answer | |
  • Upvoted. Excellent work. – Sysadmin Aug 8 at 7:30
0
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: https://askubuntu.com/questions/1120849/installing-libfprint-0-99-0-using-meson-and-ninja

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

sudo update-initramfs -u

And check does it show missing firmware.

| improve this answer | |
  • Thanks very much for this! I'll give it a try and report back. – Jason Murphy Jul 23 at 6:48
  • Thanks for this. I've followed the steps above, but the device is not found by fprint_demo. I tried the sudo update-initramfs -u command, but there are no values returned. I also tried running dmesg and the output related to the validity reader is: [ 3.829596] usb 1-9: New USB device found, idVendor=138a, idProduct=0090, bcdDevice= 1.64 I'm thinking that this means the driver has not been loaded. – Jason Murphy Jul 23 at 7:21
  • Exactly. Give me two days, I will look for the driver and will provide guide how to install it. – Sysadmin Jul 24 at 5:33
  • That would be great. Thank you! I've been trying various things and continue to research, but have not been able to solve this yet. I'm very new to Linux, so it's been a good learning experience. – Jason Murphy Jul 25 at 0:19
  • Hi Sysadmin, did you get a chance to have a look? I've kept trying, but cannot get the fprind-demo to see the device. – Jason Murphy Aug 1 at 0:31
0

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
Reboot
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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.