Fingerprint reader on an IBM T43p in Gentoo Linux

What?

This document describes the process of setting up the fingerprint reader of a ThinkPad T43p under Gentoo Linux. There is documentation on the process in the ThinkWiki and the official site of the drivers. These two references were also the basis for the information in here.

Requirements

You need the following inofficial ebuilds from my portage overlay:

And, of course, a shiny T43p.. (this also works with other models?)

Step-by-step installation

Let's go then. Step-by-step along these lines:

  1. Download ebuilds above and extract into your local portage tree.
  2. Install the packages by running:
    emerge bioapi tfm-fingerprint pam_bioapi
  3. Put the users that want to do fingerprinting into groups usb and bioapi. You might want to check that the directory permission of /proc/bus/usb is writable for group usb.
  4. Create the fingerprint file for your user. Run QSample as user, select the "TouchChip" device and enroll your user id. This generates a .bir-file in the current directory.
  5. Change to root and install that .bir-file by running these commands:
    SERIAL=`BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"`
    echo $SERIAL
    If that last command did not print anything like {5550454b-2054-464d-2f45-535320425350}, do SERIAL={5550454b-2054-464d-2f45-535320425350}, then continue:
    mkdir -p /etc/bioapi/pam/$SERIAL
    cp <username.bir> /etc/bioapi/pam/$SERIAL
  6. Replace the contents of /etc/pam.d/system-auth with this here (a backup of the original file might be a good idea):
    account    required     pam_unix.so
    auth       sufficient   pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
    password   sufficient   pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
    auth       required     pam_unix.so nullok_secure
    session    required     pam_limits.so
    session    required     pam_unix.so

That's it buddy. Now login with your user (probably leave a root console open to be able to revert the changes..) and you will be prompted to swipe the finger. If you want to use the same finger for root, just copy the .bir-file to root.bir in the same directory.

If you compiled xlockmore with USE-flag pam you're even ready to unlock the locked screen by simply pressing enter on the password prompt and then swiping your nose over the reader...
See How to enable the fingerprint reader for information about making it work with xscreensaver (if it doesn't out of the box).

Questions and troubles?

Questions and comments about the ebuilds and this document go to: toe [at] toe [dot] ch.

Before contacting me in case of any problems, make sure you have read:

Thanks, cheerio and goodbye.