UPEK TouchStrip Sensor-only (147e:2016) on Linux

As part of my fprint fingerprint scanning on Linux efforts, I have completed a new driver for a popular bit of hardware that has been unsupported on Linux until now: the UPEK TouchStrip sensor-only variant with USB ID 147e:2016.

We have already supported another variant including a biometric co-processor for some time now, but in the absence of the co-processor, the sensor-only variant required a completely different driver. Support for the sensor-only devices is a significant step forward as this hardware can be found in a lot of laptops. I’ve already received some success reports – thanks!

The driver is only available in libfprint development repositories (not any released versions). System76 have created an installation guide which may be useful for keen users.

32 Responses to “UPEK TouchStrip Sensor-only (147e:2016) on Linux”

Congrats, Daniel, and good job! I know that there are lots of laptops out there with this chip; it was my single biggest (minor) worry when I was looking at ThinkPads several months ago. Everyone from Lenovo to HP has been building laptops with these readers; good to know that Linux users aren’t left out in the cold anymore. Thanks again for your efforts.

root@aqua:/opt/fpr/fprint_demo-0.4# pam_fprint_enroll
This program will enroll your finger, unconditionally overwriting any selected print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C

Upeksonly: The device sits on the USB bus with USB ID 147e:2016. The driver does not support the TouchStrip variants which include a biometric co-processor. Those ones are instead supported by the upekts driver.

Upekts: The driver does not support the TouchStrip fingerprint reader with USB ID’s 147e:2016 found in some of the newer ThinkPads. This version of the device is just a sensor (no biometric coprocessor) and is instead supported by the upeksonly driver.

Not sure that I understand your confusion, since both of those are correct. upeksonly says “I support 147e, the other variant is upekts.” upekts says “I don’t support 147e, use upeksonly”

but I took a guess at what is a little unclear and changed upeksonly to read as follows:
This driver supports fingerprint readers found embedded into many commercial laptops, including some System76 laptops and IBM/Lenovo ThinkPads. The device sits on the USB bus with USB ID 147e:2016. The driver does not support the TouchStrip variants which include a biometric co-processor. The co-processor variants have a different USB ID and are instead supported by the upekts driver.

As for it not working, you need to be using the latest git sources, not any released version. If you still have troubles, please use the mailing list.

Installed fprint and companions (and libusb-1) and got it work – at least almost. As has already been mentioned a few times, I could rarely verify the fingerprint that I’ve enrolled. When can I expect a better scanning and/or interpretation of the image.

It took me some time to figure out how to use get able to use the latest software release. A hint on which file contains the utilities required (e.g. configure) and thus has to be “patched” in order to allow “making” the executable software would have saved me quite some time.

Thanks for the open source software – UPEK’s libraries are unusable for my notebook running under Linux x86_64, and they don’t have a 64 bit version – so much for the worth of closed source software.

I’ve got the 147e:2016 on Kubuntu 64bit 8.10 with kernel 2.6.27-7. I was able to install right from the repositories but I can’t get the fprint_demo application to recognize the hardware. I get the same “no devices detected” that others have reported.

I’ve got 147e:2016 on my Thinkpad R61. Thanks to this project my fingerprint reader works now.
It is still experimental, so it is not too reliable, but something started. Thank for the authors.
It would be good to have more then only one possibilities to read the fingerprint. Now if it is unsuccesfull (which is very often), gives up immediately.

could sombebody help me?I run a Ubuntu 9.04 on a MSI PR201 everything works fine but i have 147e:1000 TouchStrip fingerprint reader and i cant use it. under Vista is ok but i hate M$. Please help. I googled a couple days but i cant find usable information about this device.

Cool! I got fprint_demo working on my Malibal Satori laptop (ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor), seems to work pretty well. Took me a while to figure out that all the config steps were in autogen.sh (stupidity on my part), I had to configure –prefix=/usr –libdir=/usr/lib64 to make it play nice with 64-bit Mandriva.

I have MSI pr201 too @ Xubuntu 9.04 and same issue. I tried to compile 1.0 pre2 but when i try to ./configure no libcrypto is found and no package is available on synaptics. Any tip? I installed libcypto++ with no change. Also libmagick9 is not available in synaptics.