IBM指纹扫描器驱动安装

来自Ubuntu中文
跳到导航跳到搜索

IBM 指纹扫描器驱动安装指南

本文作者:Xtire

授权许可:创作共用协议

编辑人员:FireHare

校对人员:FireHare

适用版本:

文章状态:

参考文献:


基本安装

安装bioapi framework

wget http://www.qrivy.net/~michael/temp/bioapi_1.2.3_i386.deb
sudo dpkg -i bioapi_1.2.3_i386.deb
注:安装时可以忽略关于找不到"/usr/lib/lib/libqtpwbsp.so"的警告。

安装并配置指纹驱动

mkdir fingerprint-driver
wget http://www.ng-lab.org/webapp/v5/drupal/files/TFMESS_BSP_LIN_1.0.zip
sudo apt-get install unzip
cd fingerprint-driver
unzip ../TFMESS_BSP_LIN_1.0.zip
sudo sh install.sh /usr/lib

下载并安装pam_bioapi

cd ..
wget http://www.qrivy.net/~michael/blua/pam_bioapi/pam_bioapi-latest.tar.bz2
wget http://badcode.de/downloads/fingerprint.patch
sudo apt-get install libpam0g-dev
tar xvfj pam_bioapi-latest.tar.bz2
cd pam_bioapi-0.2.1
sudo apt-get install patch
patch -p0 < ../fingerprint.patch
sudo apt-get install gcc g++
./configure
make
sudo make install

用户指纹登记

显示指纹模块ID

sudo BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"
注:我这里是"{5550454b-2054-464d-2f45-535320425350}",T43与T60的相同。
sudo mkdir -p /etc/bioapi1.10/pam/{5550454b-2054-464d-2f45-535320425350}


指纹比对文件的生成

cd ..
cd fingerprint-driver/NonGUI_Sample
vi main.c
找到:
将其注释掉,象这样:
//#include "port/bioapi_port.h"
保存退出。

编译:

gcc -o Sample main.c -L/usr/local/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN
sudo ./Sample

选"e",之后会要求输入你登陆的用户名,输入完毕后又要求登记指纹三次(登记方法与windows下IBM提供的指纹软件类似),之后选"q"退出。 在当前目录下你会发现一个以你的用户名命名并且以.bir为后缀的文件。例如我这里就是xtire.bir

sudo cp xtire.bir /etc/bioapi1.10/pam/{5550454b-2054-464d-2f45-535320425350}    #把这里的"xtire"换成你的用户名 

修改PAM配置

sudo vi /etc/pam.d/gdm
在@include common-auth这行前加入:
auth       sufficient /usr/local/lib/security/pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.10/pam/

保存退出。 重新登陆gnome,在输入用户名后就可以使用指纹功能了。 如果想实现控制台的指纹登陆,可以用上面的方法修改/etc/pam.d/login这个文件。 注:在实现sudo指纹的时候遇到一些问题,希望大家一起来实现。

目前可以不用编译,直接安装源里的二进制程序来实现


1. 从源中搜索thinkfinger,发现三个软件包,装之。 sudo apt-get install thinkfinger-tools libpam-thinkfinger libthinkfinger0 网上有人说自己编译安装,我觉得何苦呢。

2. 启用指纹功能 sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable 网上有文说需手动修改某些配置文件,我打开那配置文件后却发现早已改好,无须人工干预。

3. 重启系统 否则进行后续步骤时可能会报如下三种错误: Undefined error occured (0xff). 或 Warning: usb_bulk_read expected to read 0x40 (read 0x10 bytes). 亦或 Could not acquire fingerprint (communication with fingerprint reader failed) 无数人报了以上这三种错误,我也都一一遇到了。但最终发现此步骤时重启一下,便好了。

4. 录制指纹 sudo tf-tool --acquire 网上有文说此处不加sudo,但我若不加sudo,总是失败。于是只好先sudo录之,然后把生成的指纹文件的属主由root改为当前用户。例如我的用户名为sanhe,便如此输入: sudo chown sanhe:sanhe ~/.thinkfinger.bir

5. 检验指纹 tf-tool --verify 此处不加sudo,因为那个指纹的文件已经被改为当前用户的了。若提示验证通过,则至此设置全部完成。