01 May 2010

Upek Biometric Touchchip/Touchstrip Fingerprint Support on Ubuntu 10.04

This Fingerprint sensor is usual to see nowadays. I have on of these in my Thinkpad SL400 (yeah, Lenovo doesn't uses thinkfinger anymore). Let's play

  1. Install this packages
    $ sudo apt-get install libfakekey0 libfprint0 libqca2 libqca2-plugin-ossl libqca2-plugin-gnupg

  2. Add uinput at /etc/modules
    $ echo uinput >> /etc/modules

  3. Download finguerprint-gui binary for your platforme here and install using regular parameters (and Yes to install the 3rd party driver). If you have any doubt, just consult the pdf provided with package called install-step-by-step (also, this Howto are based on it).
  4. See your device in lsusb and set permissions in device /dev/bus/usb/xxx/yyy where "xxx" is BUS and "yyy" Device numbers. In my example:
    $ lsusb | grep -i Upek
    005 Device 003: ID 147e:1000 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
    $ sudo chmod 777 /dev/bus/usb/005/003
  5. Create a directory /var/upek and chmod 777 on him
    $ sudo mkdir /var/upek
    $ sudo chmod 777 /var/upek -R

  6. Put yourself in plugdev group
    $ sudo usermod -a -G plugdev $USER

  7. Create a file named /etc/upek.cfg with this contents: nvm-prefix="/var/upek/.NVM"
  8. Reboot
  9. Start fingerprint-gui and select your device on the list (If you get some error at this point, just look at /var/log/auth.log)

  10. Select what finger you will scan

  11. Scan your finger
  12. Ok, at this point, you have some fingerprints in /var/lib/fingerprint-gui/$USER/libbsapi
  13. Set a root password and at least one fingerprint to user root.
  14. Make a copy of /etc/pam.d/common-auth to /etc/pam.d/common-auth.fingerprint
    $ sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.fingerprint
  15. Edit /etc/pam.d/common-auth.fingerprint and put this code on the top of file:
    auth sufficient pam_fingerprint-gui.so debug
  16. Now we need make pam know that we can use fingerprints to login. First, open an extra terminal if something goes wrong. Now, let's make su, sudo, gdm and login authenticate. Change in every file below the line @include common-auth to @include common-auth.fingerprint. (For GDM, make sure you don't have auto-login). Oh, also.. if you use kdm, you can edit /etc/pam.d/kdm.
  17. For gnome-screensaver, open gconf-editor and put "/usr/local/bin/fingerprint-plugin -d" in /apps/gnome-screensaver/embedded_keyboard_command.
  18. Edit /etc/pam.d/gnome-screensaver and do the same procedure from 16.

Ok, now you're able to use fingerprints to login into your system.

This module can also provide an option to save your passwords using a pendrive, so you'll only be able to login into the system if you have the pendrive with certs and, of course, your fingers.


  1. Very useful post Menelkir, thank you =]

    I was able to successfully configure the fingerprint device on Ubuntu 11.10 on my new T420S machine. Just a comment: command line authentication works (for example sudo ), but it shows a couple of warnings, like:

    /* - - - - - - - - - - - - - - - - - - - - - -*/
    (process:6025): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
    Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
    QGtkStyle was unable to detect the current GTK+ theme.
    /* - - - - - - - - - - - - - - - - - - - - - -*/

    Probably some environment related issue.

  2. And for ubuntu 11.10 ??? thank's!

  3. It works out of the box on my T520, thank you a lot !!

  4. Hi, I am a new linux user trying to set up my upek touchstrip and following your instructions i get this response after entering the command listed in Step 2: 'Permission denied'. I'm using Ubuntu 12.04. got any advice for me?

    1. You just skip some parts of the text about permissions, right? :P

  5. Anonymous21.8.12

    Hi! I use Ubuntu 12.4 on a thinkpad X220. I can`t complete step 1 in terminal becaus it says unknown command....

    1. sudo and apt-get?! Its default to every single ubuntu install. o_O

    2. Anonymous26.9.12

      Do you have copied the $ sign? :D

  6. Anonymous9.11.12

    Did you support Eikon mini? Plans for support it?

    1. I'm not the developer, I just make the howto for upek.