Get your fingerprint reader to work in Ubuntu

Project fprint homepage: http://reactivated.net/fprint/wiki/Main_Page
Packages for fprint: http://www.madman2k.net/comments/105

The fprint project aims to plug a gap in the Linux desktop: support for consumer fingerprint reader devices.


Previously, Linux support for such devices has been scattered amongst different projects (many incomplete) and inconsistent in that application developers would have to implement support for each type of fingerprint reader separately. For more information on where we came from, see the project history page.

We're trying to change that by providing a central system to support all the fingerprint readers we can get our hands on. The software is open source and in the long term we're shooting for adoption by distributions, integration into common desktop environments, etc.
Note: These instructions are intended for Ubuntu Hardy. I have not personally tried this on Gutsy, but if it works, let me know.

First off, remember that fprint is not entirely stable, and may not work all the time. A list of supported devices is here, and the list of unsupported devices is here.

1. First thing to do is add the [third-party] fprint repository to your sources file:
echo -e "# Fingerprint reader support (fprint)\ndeb http://ppa.launchpad.net/madman2k/ubuntu hardy main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list

2. Next, update your sources and install fprint:
sudo apt-get update
sudo apt-get install fprint-demo libfprint-dev libfprint0 libpam-fprint

3. Now you can enroll your fingers using either the terminal or a graphical user interface.
Terminal:
pam_fprint_enroll
GUI:
fprint_demo
4. Last thing to do is configure PAM so that the fingerprint reader can be useful. Open up your PAM authentication file and edit it:
sudo gedit /etc/pam.d/common-auth
5. Edit it to contain:
auth sufficient pam_fprint.so
auth required pam_unix.so nullok_secure

6. Enjoy your fingerprint reader support!

Steps 4 and 5 tell Ubuntu to check your fingerprint, and if that fails, then ask your password. This rule has some exceptions, one that I have encountered is on the login screen. I have to scan my fingerprint before typing my password. One thing I did notice is that when you use sudo in the terminal, it asks for your fingerprint, which I thought was pretty cool. One disadvantage is that anything using gksu does not seem to work properly, specifically because it does not tell you to scan your finger when needed.

Troubleshooting:
The one problem I ran into when using fprint was that I could not run fprint_demo without sudo. It failed with the error message below:

uru4000:error [dev_init] interface claim failed
fp:error [fp_dev_open] device initialisation failed, driver=uru4000


I decided to post my problem here on the forums.
Here is the solution. You have to add yourself to the plugdev group and then change the permissions of the usb folder to allow access to the plugdev group. You can verify you are in the plugdev group by using groups:
sudo usermod -a -G plugdev $USER
groups | grep plugdev # Make sure there is output from this
sudo chgrp -R plugdev /dev/bus/usb/

Then try running fprint_demo, and hopefully it will work:
fprint_demo

This content was found on the Ubuntu forums, please see here for updates

Clicky Web Analytics