Skip to content

Instantly share code, notes, and snippets.

Forked from foosel/
Created Apr 16, 2019
What would you like to do?
Getting the fingerprint reader of a Thinkpad x240 to work under Ubuntu 14.04

lsusb lists the fingerprint reader in the x240 as follows:

Bus 002 Device 003: ID 138a:0017 Validity Sensors, Inc.

There exists experimental driver support for this in a fork of libfprint for vfs5011 sensors, however you'll need to compile the driver yourself. To get the fingerprint sensor to work for lightdm login, su etc, follow these steps.

  1. Install fingerprint-gui:

    sudo add-apt-repository ppa:fingerprint/fingerprint-gui
    sudo apt-get update
    sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui
  2. Get your compilation tools and library dependencies:

    sudo apt-get install build-essential automake checkinstall shtool libtool libxv-dev libmagick++-dev
  3. Get the sources, compile and install them:

    git clone
    cd fprint_vfs5011
    sudo make install
  4. Make sure your user has permissions for accessing the fingerprint sensor device. Create a file /lib/udev/rules.d/40-libfprint0-custom.rules with the following contents:

    # Device Validity VFS5011
    ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0017", MODE="0664", GROUP="plugdev"
  5. Add your user to the plugdev group:

    sudo usermod -a -G plugdev <username>
  6. Restart udev:

    sudo service udev restart
  7. Log out of your session and log back in.

  8. Enroll your fingerprints with fingerprint-gui, verify them, then see if a sudo -s now suddenly asks you for your fingerprint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment