The current binary does not work with FreeBSD 7…not even with 6 anymore because of a gettext library bump. I contacted UPEK a while ago, had an conversation with one of the guys there. I was even given a beta driver that worked, but then our communication seemed to halt.

I was just about to send them another mail when I stumbled on fprint, a GPL based fingerprint abstraction layer that includes reversed engineered drivers for the UPEK devices. The drivers live in user land and the USB bus is accessed through libusb which already is ported to FreeBSD. So, getting a more stable support for fingerprint devices than the binary-only UPEK drivers should only be a matter of porting this library to FreeBSD.

Woho…no more BioAPI-hell (worst. library. ever.). I’m not yet motivated enough to do a port myself, maybe if I get some more free time.

Update: Apparently they did a release, but two people have reported problems with Undefined symbol “GuiCallback”.  I’ll take a look and see if I’m able to use it. At least the beta driver I was given worked, but I never tested it together with the PAM module.

9 Responses to “Update on UPEK fingerprint drivers for FreeBSD”
  1. Benjamin Saunders says:

    UPEK has actually recently updated their drivers, and an allegedly compatible driver is now available from http://www.upek.com/solutions/pc_and_networking/sdks/linux/
    However, I’ve been unable to get this to work. (installed by modifying the existing port to take the updated .zip) There’s something going on with an undefined symbol “GuiCallback,” but that could, however unlikely, be a problem on my end.

  2. fli says:

    That’s interesting…at least my contact guy could have told me that the did a release. I’m going to see if I can get the release from their website to work and update the port if it works. I was given a driver a while back that did work, at least the console one.

  3. Simon Barner says:

    I also had the `GuiCallback’ problem with the binary
    driver from UPEK.

    I did a port of fprint suite today [1], and it works
    just fine for me. However, BioAPI’s design for
    fingerprint management seems to be more mature: fprint
    simply uses the first fingerprint found in ~/.fprint, but
    it’s still a very young project.

    Comments on the ports welcome (barner at FreeBSD dot org), I plan to commit them as soon has I have some positive feedback. Tests were done with my T61’s UPEK finger print sensor.

    [1] home.leo.org/~barner/freebsd/fprint.tar.gz

  4. I have a usb fingerprint reader from upek, named eikon. i don’t know model, it’s have three diferents codes “E234672″, “A1H6A0″ and “TCRD4C”.

    and i have this result:
    rcuevas# bbdm -l bsp
    UUID {ffffffff-ffff-ffff-ffff-ffffffffffff}
    Example Vendor libbioapi_dummy100.so (BioAPI v1.1 Dummy BSP)
    UUID {263a41e0-71eb-11d4-9c34-124037000000}
    BioAPI Consortium libpwbsp.so (BioAPI Password BSP)
    UUID {5550454b-2054-464d-2f45-535320425350}
    UPEK, Inc. libtfmessbsp.so (TouchChip TFM/ESS Fingerprint BSP)

    when I make this, I have this result

    rcuevas# bbdm -b “{263a41e0-71eb-11d4-9c34-124037000000}” -m plain -c test
    Please enter your password for enrollment:
    123
    Please verify record
    Please enter your password for verification:
    123
    Record for “test” created successfully

    but if I make this:
    rcuevas# bbdm -b “{5550454b-2054-464d-2f45-535320425350}” -m plain -c test
    /usr/local/lib/compat/libpthread.so.2: Undefined symbol “__malloc_lock”bbdm: Failed to initate BSP {5550454b-2054-464d-2f45-535320425350}

    my usb reader it’s here, dmesg show me:
    ugen0: on uhub0

    and usbdevs show me
    rcuevas# usbdevs
    addr 1: UHCI root hub, Intel
    addr 3: Biometric Coprocessor, UPEK

    what i’m doing wrong?

  5. gary says:

    I am looking to start offering this to clients, I will watching this close. Thanks.

  6. kenny says:

    Hello.

    And in FreeBSD 8.0-RELEASE does it work?

    I have a problem:

    bbdm-b “(5550454b-2054-464d-2f45-535320425350)”-m plain-c test
    bbdm: Failed to initate BSP (5550454b-2054-464d-2f45-535320425350)

    [root @ laptop / home / glimm] # bbdm-l bsp
    UUID (ffffffff-ffff-ffff-ffff-ffffffffffff)
    Example Vendor libbioapi_dummy100.so (BioAPI v1.1 Dummy BSP)
    UUID (263a41e0-71eb-11d4-9c34-124037000000)
    BioAPI Consortium libpwbsp.so (BioAPI Password BSP)
    UUID (5550454b-2054-464d-2f45-535320425350)
    UPEK, Inc. libtfmessbsp.so (TouchChip TFM / ESS Fingerprint BSP)

    And fprint_demo not find my sensor.

  7. Charles Beckham says:

    i am seeing similar problems with FreeBSD 7. although i recieve no additional error information.
    same result using ports and the latest driver on upek’s website.

    moosiq# bbdm -m filedb -b ‘{5550454b-2054-464d-2f45-535320425350}’ -c cb
    bbdm: Failed to initate BSP {5550454b-2054-464d-2f45-535320425350}

    moosiq# bbdm -l bsp
    UUID {ffffffff-ffff-ffff-ffff-ffffffffffff}
    Example Vendor libbioapi_dummy100.so (BioAPI v1.1 Dummy BSP)
    UUID {263a41e0-71eb-11d4-9c34-124037000000}
    BioAPI Consortium libpwbsp.so (BioAPI Password BSP)
    UUID {5550454b-2054-464d-2f45-535320425350}
    UPEK, Inc. libtfmessbsp.so (TouchChip TFM/ESS Fingerprint BSP)

    usbdevs -a 2 -v reports:
    Controller /dev/usb0:
    Controller /dev/usb1:
    addr 2: full speed, power 100 mA, config 1, Biometric Coprocessor(0×2016), STMicroelectronics(0×0483), rev 0.01

    package versions..
    bioapi-1.2.2_5 BioAPI library implementation
    pam_bsdbioapi-1.5.1 PAM module for BioAPI

    uname -a…
    FreeBSD moosiq.urbox.org 7.2-STABLE FreeBSD 7.2-STABLE #0: Wed Jan 20 01:51:03 PST 2010 cb@moosiq.urbox.org:/usr/obj/usr/src/sys/GENERIC i386

    any advice would be greatly appreciated, i am also wondering if i could use the scanner to generate a password for non-pam usage… e.g. to create a private key using a password which is “Generated” from the fingerprint scanner.
    this way i could create a crypted filesystem and using my fingerprint as the password..

    i’m guessing bioapi would provide functionality for this..

  8.  
Leave a Reply