Thinkpad X240在Centos 7下使用ID 138a:0017或者vfs5011指纹识别

我的笔记本是ThinknPad X240,自带的指纹识别器,通过命令lsusb可以查看:

[zz@zz ~]$ lsusb
Bus 001 Device 002: ID 24ae:2003  
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
**Bus 001 Device 004: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader**
Bus 001 Device 005: ID 0bda:8761 Realtek Semiconductor Corp. 
Bus 001 Device 006: ID 04f2:b39a Chicony Electronics Co., Ltd 
Bus 003 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

其中的Bus 001 Device 004: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader是我的指纹识别器,也有名称叫做VFS5011。
使用这个指纹识别器,需要fprintd、fprintd-devel、fprintd-pam和libfprint,如果需要界面显示,则需要安装fingerprint-gui链接就是可以使用的rpm包,要使用fedora 20而不是fedora 21的rpm包,因为以来的libstdc++库版本不一致。
centos 7自带的fprintd、fprintd-devel、fprintd-pam和libfprint都是0.5.0版本,其中libfprint不支持此识别设备,因此需要下载libfprint 0.6.0版本,源代码下载链接本文中有。
这里需要说明的只有一点,就是编译libfprint需要注意的事项,我一开始也安装的不正确,导致无法使用,此处写出方便各位。
调用源代码包内的autogen.sh之后,在make之前,需要调用configure,命令如下:

[root@zz ~]# ./configure --bindir=/bin --libdir=/lib64 --includedir=/usr/include
  • 1

这样执行的目的就是为了替换掉老就的0.5.0版本的libfprint,如果没有成功替换,使用fprintd-list还是会说没有设备的。
成功替换之后就可以看到有设备了:

[root@zz libfprint-0.6.0]# fprintd-list zz
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
  • 1
  • 2
  • 3
  • 4

然后调用fprintd-enroll命令就可以录入指纹了。
如果需要带GUI界面的,下载安装fingerprint-gui就可以了。

http://blog.csdn.net/taolinke/article/details/49869355

原文地址:https://www.cnblogs.com/chen110xi/p/5804400.html