Enabling ThinkPad fingerprint reader in Ubuntu 12.04.

This guide is intended for ThinkPad laptops using the Upek Biometric Touchchip/Touchstrip Fingerprint Sensor.

As it seems, there is a fingerprint reader application available for Debian-based distributions, which is called Fingerprint GUI. The problem is that in my case it works only if I run the application as root. I’m not sure if it’s a general issue or just something related to my ThinkPad T420 model. Anyway, here is what I did…

 

You can follow these steps to install the fingerprint reader application, and hopefully in your case it will work straight away.

 

1. Add this PPA to your sources:

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update

2. Install the packages:

sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

3. Log out of your session and log back in (the new session defaults need to be picked up). Just be aware that for some people it didn’t work so they had to reboot.

4. You can now start the application either by launching it from System > Preferences, or through a terminal:
andrei@nayu:~$ fingerprint-gui

 

In my case, when I reached the Scan/Verify step, the application complained, showing this message: “Could not open fingerprint device. Permission problem?“.

This led me straight away to suspect that the device was created with the wrong permissions. To find more details about the driver and device, you need to run the command lsusb.  You will then see something like this:

andrei@nayu:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 04f2:b221 Chicony Electronics Co., Ltd integrated camera
Bus 002 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader

 

The line in bold is the one we’re interested in. You can see the ID numer is 147e:2016, the bus is 001 and the device is 003. Using these numbers you will get the path for the device, which in this case is /dev/bus/usb/001/003.

Next, you can check the current permissions by issuing the following command:

andrei@nayu:~$ ls -la /dev/bus/usb/001/003
crw-rw– 1 root plugdev 189, 2 Apr 29 10:51 /dev/bus/usb/001/003

 

It seems that the group owner is plugdev. Now you have two choices: either add your user to the plugdev group, or modify the permissions to add read/write rights for others as well. I tried adding myself to the plugdev group and I still couldn’t get the application to work, so I went with plan B, modifying permissions:

andrei@nayu:~$: sudo chmod 666 /dev/bus/usb/001/003

 

Running fingerprint-gui again allowed me to reach the Scan/Verify step, and I successfully scanned and I enrolled my fingerprint(s).

Andrei

40 comments

  1. It worked great on 13.04, I dislike the animation that comes with it though. I know were to swipe the finger. Is there a way to remove it?

  2. “Thinkpad Carbon:
    I get stuck in the scan/verify screen, I can swipe and my fingerprint gets detected, but it asks for many swipes over and over again…”

    Same issue here with Lenovo T430 in ubuntu 12.04… Any ideas in how to set up the finger and end up infinity loop? Try group permissions and rebooting :S

  3. Many thanks;

    following yr instructions I managed to use my fingerprint reader on Thinkpad E220s with Ubuntu 13.04 64bit

  4. Thinkpad Carbon:
    I get stuck in the scan/verify screen, I can swipe and my fingerprint gets detected, but it asks for many swipes over and over again…
    Thanks

      1. Also, in driver name I get upeke2, thou I can scan my finger but it doesnot continue just looping the scan\verify step

  5. All I can say is vow! Very impressive!
    I got this working on my Lenovo T520 laptop with fresh installed Ubuntu 12.10 64-bit.

    Something that is different from Win7: in Ubuntu you have to select a user first and then it will let you scan your fingerprints. In Win7 you can start scanning and depending on the fingerprint it will login as one user or another.
    Nothing major, I can definitely live with that.

    Great work, Andrei!

  6. fingerprint-gui still does not detect my hp simplepass scanner. ( 138a:0018 Validity Sensors, Inc. )

    Any suggestions? Ive done everything in your post so far.

    1. It could be that your scanner hardware is not supported by fingerprint-gui. I’m sorry if that’s the case. This guide was meant for Upek devices.

      Andrei

  7. hi thanks for this worked flawlessly on a lenovo x61 however whilst seeming to work on my t60 it says it was unable to log in to my gnome keyring (this after login into my session) any thoughts would be greatfully recieved , im sure it must be something im doing wrong as its reading my fingerprints an login me in great i just need to associate the gnome keyring with it .

      1. thanks for the reply Andrei , no worries its still a marked improvement ill just keep checking back here periodicaly iin the hope someone can suggest a solution once again thanks .

  8. Hi Andrei,

    Unfortunately is not working on HP Pavilion dv7 x64.

    dragan@drPavilionDv7:~$ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 003: ID 138a:0018 Validity Sensors, Inc.
    Bus 001 Device 004: ID 04f2:b2f8 Chicony Electronics Co., Ltd
    Bus 002 Device 003: ID 8087:07da Intel Corp.
    Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
    dragan@drPavilionDv7:~$

    Fingerprint GUI 1.04 -> No Devices Found! :-(

    Any idea?

    1. BTW – procedure screwed my Ubuntu 12.04 and I have to rebuild but in my over 25 years in IT no big deal. LOL
      Anyway – after rebuild I tried another one from https://launchpad.net/~fingerprint/+archive/fingerprint-gui and didn’t worked either but good thing was when I was away my lock screen had on bottom option to swipe the finger (of course will not work since I didn’t have a chance to store it). I reboot right-away to see what will happened (:-() unfortunately not much -> just regular log-in and some error to report to Ubuntu team followed.
      I will keep you guys/gals posted.

  9. Worked great for me, didn’t even need to set permissions.
    Thank you for this really useful guide.

    I’m on a ThinkPad X220 running Ubuntu 12.04.1

  10. I sucessfully managed to get my T410 fingerprint to work. Had to do a reboot, but then now it works like a charm :).

  11. Your guide works for everything except for the login (Ubuntu 12.04 x64) where it gives an error saying something about an encrypted home. Does it not work if your home directory is encrypted?

    1. Same problem here, fresh install with fresh enrollment.
      Maybe if I get more time I will take a look at it, but thanx for this post anyway :)

  12. You could try adding your user to the plugdev group:
    usermod -a -G plugdev youruser.

    Also, you may want to check that you have these two libs installed:
    apt-get install libbsapi libbsapi-dev.

    When starting fingerprint-gui, click on “Show drivername” under the devices slector. It should show libbsapi. In my case, when it wasn’t working, it showed upek instead of libbsapi.

    I hope this helps. If it does help, please let me know so I can update the guide accordingly.

  13. Hello,

    I tried your guide and faced the permission problem as well, but the 666 permission didn’t fix my problem and I still have the problem. Can you help?

    Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

* Copy This Password *

* Type Or Paste Password Here *

     

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>