Driver for Validity Sensors Fingerprint scanner

prakhar@pr3d4tOr:~$ lsusb -s 001:003 -v

Bus 001 Device 003: ID 138a:0018 Validity Sensors, Inc. Fingerprint scanner
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass        17 
  bDeviceProtocol       255 
  bMaxPacketSize0         8
  idVendor           0x138a Validity Sensors, Inc.
  idProduct          0x0018 Fingerprint scanner
  bcdDevice            0.78
  iManufacturer           0 
  iProduct                0 
  iSerial                 1 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4

I have searched high and low but I cannot get this to work. All questions related to 138a:0018 are either unanswered or old. Any help guys?


Ok, so after a lot of hair pulling and googling, I finally got my fingerprint sensor to work:

EDIT (03/01/2015): Building the package from source. You might need to set up a build environment first. Make sure that you have packages $sudo apt-get install autoreconf libusb libusb-dev libnss3 libgdk-pixbuf2 git libtool:

Script for auto build and install (written by me and shared from my Dropbox). cd to wherever you downloaded the script to and and run it with superuser:

$ chmod +x install.sh
$ sudo ./install.sh

And voila. Go to user accounts, and you'll see a fingerprint login option.

If you're using ecryptfs (What is this?) for /home, you will encounter this issue at login. Fix.

EDIT (08/10/2014): You can also build your own driver by compiling libfprint patched with 138a:0018 and 138a:0017 drivers (see 03/01/2014). Their licenses apply, obviously. I don't know for sure, but you can probably build this on a 32-bit system as well.

EDIT (02/10/2014): After switching to Arch Linux, I recently found out that this driver (libfprint-vfs5011-git) is present in AUR. You can download the updated version from AUR for this package (I'll update this answer soon to include instructions as well). EDIT: Added instructions, see 03/01/2014.

EDIT (13/09/2014): After recent updates to fprint, the fingerprint recognition is pretty awesome :P

Pre-built. (See the 03/01/2014 edit for the latest git version):

  1. Open up a terminal (Ctrl+Alt+T) and add the PPA for fprintd.

    $ sudo add-apt-repository ppa:fingerprint/fprint

  2. Update your installation.

    $ sudo apt-get update && sudo apt-get upgrade

  3. Get the required packages.

    $ sudo apt-get install fprintd libpam-fprintd

  4. Download the driver for the fingerprint scanner (shared via my Dropbox). Add a comment if the download is not working. See the latest edit (02/10/2014) for a repository version.

  5. cd to wherever you downloaded the driver to.

  6. Install the driver.

    $ sudo dpkg -i fprint-vfs5011_0-1_amd64.deb


I had the same issue and this worked for me:

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update
sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

You have to log out of your session and log back in afterwards.

Supported readers (run command lsusb to find out the ID of your reader)

 045e:00bb    08ff:1683    08ff:2580    08ff:268d    147e:2020
 045e:00bc    08ff:1684    08ff:2660    08ff:268e    147e:3001
 045e:00bd    08ff:1685    08ff:2680    08ff:268f    1c7a:0603
 045e:00ca    08ff:1686    08ff:2681    08ff:2691
 0483:2015    08ff:1687    08ff:2682    08ff:2810
 0483:2016    08ff:1688    08ff:2683    08ff:5501
 05ba:0007    08ff:1689    08ff:2684    08ff:5731
 05ba:0008    08ff:168a    08ff:2685    138a:0001
 05ba:000a    08ff:168b    08ff:2686    138a:0005
 061a:0110    08ff:168c    08ff:2687    138a:0008
 08ff:1600    08ff:168d    08ff:2688    138a:0011
 08ff:1660    08ff:168e    08ff:2689    138a:0017
 08ff:1680    08ff:168f    08ff:268a    138a:0018
 08ff:1681    08ff:2500    08ff:268b    147e:1000
 08ff:1682    08ff:2550    08ff:268c    147e:2016

and

 0483:2015    147e:1003    147e:3000
 0483:2016    147e:2015    147e:3001
 147e:1000    147e:2016    147e:5002
 147e:1001    147e:2020    147e:5003
 147e:1002

from “Fingerprint readers integration” team on launchpad