About me and the project

Who I am

My name is Wolfgang Ullrich. I'm somewhat like a "hobby programmer" for a couple of years now. In real life I was working in the IT business as a project manager. Meanwhile I'm retired. In my other projects of "hobby programming" I used Java only. The Figerprint GUI is my first project where C++ is used. While coming from Java I use the Netbeans IDE for C++ programming too. The GUI was made using the Qt4 Designer.

The Project

After converting my poor old IBM R52 notebook to Ubuntu Desktop 8.04 and using Windows XP pro only in a virtual machine (for a lot of programs that I need and that require Windows) I was looking for a solution to use the built in UPEK TouchStrip fingerprint reader, at least for login.

I was "googleing" all about fingerprint recognition on Linux systems and found absolutely nothing useful for "users". I renounce comments about the usefulness of programs I found, but came across the "libfprint" project, that seemed to be well documented, stable and thus a useful base for development (My thanks to the contributors!). So I decided to try to make my own.

The License

"Fingerprint GUI" is free software. You can use, modify, copy and distribute it under the terms and conditions of the GNU General Public License (GNU GPLv3). See "http://www.gnu.org" for more information.

What it is aimed to

From my usage of Windows on my notebook I know about the IBM fingerpint software that came along with the preinstalled system. The final goal of the project is to make a software for *nix systems that has the same functionality. The longer I work out this project I come to the realization that it is not as easy as I thought before:

  • C++ programming is a horror for "Java people". All that pointer stuff not needed at all for a modern language (My point of view only!).
  • The missing "identify" function in the UPEK Linux driver for the 0483:2016 UPEK TouchStrip in the libfprint driver "upekc". After I asked UPEK inc. for the API documentation of their device they made public the "BSAPI SDK for Linux" for download on their homepage ( http://www.upek.com/solutions/pc_and_networking/sdks/linux/). I decided to include their proprietary library "libbsapi.so" optional into my project as well as "libfprint".
  • Some weird effects when gui components are started by PAM called from KDM, polkit-gnome-manager etc.
  • The "normal Linux configuration chaos".
  • For my own use it is running well now. I can login with gdm, and authenticate with sudo, su, gksu etc. But I know: In this state the real hard work begins. It must be tested in several environments and with as much different devices as possible. To make the project more stable and reliable running in further environments I need some help from people who have special knowledge about the applications it is not running well with and test results from users having other fingerprint devices. See the "Hacking.html" tutorial.

    If you can help please contact me. If you can't help, but find it worth to support, please donate.