我有 HP Probook 450,它集成了 Validity Inc. 的指纹读取器 VFS 495。我有 HP 网站上的 Linux 驱动程序。现在我想让它在 Ubuntu 中运行。驱动程序是 rpm 格式,所以我使用 alien 转换器将其转换为 deb 包,然后安装。
HP 驱动程序页面链接:司机
仅供参考:此驱动程序包包含一些 fprint 包装器库,还有一个文件 HPUsbVFS495.img,但我无法弄清楚它是如何工作的。
输出lspci && lsusb
:
00:00.0 主机桥:英特尔公司第三代酷睿处理器 DRAM 控制器(rev 09) 00:02.0 VGA 兼容控制器:英特尔公司第三代酷睿处理器图形控制器(rev 09) 00:14.0 USB 控制器:英特尔公司 7 系列/C210 系列芯片组系列 USB xHCI 主机控制器(修订版 04) 00:16.0 通信控制器:英特尔公司 7 系列/C210 系列芯片组家族 MEI 控制器 #1 (rev 04) 00:1a.0 USB 控制器:英特尔公司 7 系列/C210 系列芯片组系列 USB 增强型主机控制器 #2 (rev 04) 00:1b.0 音频设备:英特尔公司 7 系列/C210 系列芯片组系列高清晰度音频控制器(修订版 04) 00:1c.0 PCI 桥:英特尔公司 7 系列/C210 系列芯片组家族 PCI Express 根端口 1 (rev c4) 00:1c.2 PCI 桥:英特尔公司 7 系列/C210 系列芯片组家族 PCI Express 根端口 3 (rev c4) 00:1c.3 PCI 桥:英特尔公司 7 系列/C210 系列芯片组家族 PCI Express 根端口 4 (rev c4) 00:1c.5 PCI 桥:英特尔公司 7 系列/C210 系列芯片组家族 PCI Express 根端口 6 (rev c4) 00:1d.0 USB 控制器:英特尔公司 7 系列/C210 系列芯片组系列 USB 增强型主机控制器 #1 (rev 04) 00:1f.0 ISA 桥:英特尔公司 HM76 Express 芯片组 LPC 控制器(rev 04) 00:1f.2 SATA 控制器:英特尔公司 7 系列芯片组家族 6 端口 SATA 控制器 [AHCI 模式](修订版 04) 02:00.0 未分配的类别 [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express 读卡器 (rev 01) 03:00.0 网络控制器:Ralink corp. RT3290 无线 802.11n 1T/1R PCIe 03:00.1 蓝牙:Ralink 公司 RT3290 蓝牙 04:00.0 以太网控制器:瑞昱半导体有限公司 RTL8111/8168/8411 PCI Express 千兆以太网控制器(rev 0c) 总线 002 设备 002:ID 8087:0024 Intel 公司集成速率匹配集线器 总线 002 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线 001 设备 004:ID 04ca:7022 Lite-On Technology Corp. 总线 001 设备 003:ID 138a:003f Validity Sensors, Inc. 总线 001 设备 002:ID 8087:0024 Intel 公司集成速率匹配集线器 总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线 004 设备 001:ID 1d6b:0003 Linux Foundation 3.0 根集线器 总线 003 设备 002:ID 09da:c10a A4 Tech Co., Ltd 总线 003 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器
答案1
我在这台机器上的 16.04 上成功运行了本指南但链接方面存在一些问题,所以这就是我所做的……
(首先您可能需要导航到一个空文件夹,因为我们将进行一些下载、编译和转换。文件将遍布各处)
mkdir temporary
cd ./temporary
现在我们已经创建了一个文件夹并导航到它,我们可以继续......
首先,下载这并将其放在空文件夹中。
本指南很长,但好处是只要按顺序操作就可以了。如果你不明白发生了什么,只需逐行复制并粘贴(或在评论中提问)
安装驱动程序:
tar xf vfs495.tar
cd vfs495
sudo apt install alien
sudo alien Validity-Sensor-Setup-4.5-118.00.x86_64.rpm
sudo dpkg -i validity-sensor-setup_4.5-119_amd64.deb
现在讨论断开的链接部分。以下是应该有效的链接:
sudo apt install libssl1.0.0
ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.0.9.8
sudo apt-get install libcrypto++-dev
ln -s /usr/lib/libcrypto++.so.9 /usr/lib/libcrypto.so.0.9.8
然后继续。安装 libfprint
mkdir libfprint
cd libfprint
rpm2cpio ../libfprint-0.0.6-18.20.1.src.rpm | cpio -i --make-directories
tar xf libfprint-0.0.6.tar.bz2
cp ../libfprint-validity.patch ./libfprint-validity.patch
cd libfprint-0.0.6/
patch -p1 < ../libfprint-validity.patch
sudo apt-get install libusb-dev libcrypto++-dev libssl-dev libglib2.0-dev libmagickcore-dev checkinstall
./configure --prefix=/usr
make
sudo checkinstall -install=no make install
sudo dpkg -i libfprint_0.0.6-1_amd64.deb
安装 fprint_demo
cd ../..
sudo apt-get install libgtk2.0-dev
tar xf fprint_demo-0.4.tar.bz2
cd fprint_demo-0.4
./configure --prefix=/usr
make
sudo checkinstall -install=no make install
sudo dpkg -i fprint-demo_0.4-1_amd64.deb
此时,我们就可以开始登记手指了。
sudo /etc/init.d/vcsFPServiceDaemon start
sudo fprint_demo
...登记手指后,您可以在“识别”选项卡中进行训练。它会显示您的指纹!这太有趣了:D 有时我只是去那里继续滑动 XD
另外补充一下,不要截取手指的屏幕截图并分享当然,除非你知道自己在做什么。你的指纹非常宝贵。最好只供你自己查看。
...无论如何,继续。安装 pam_fprint
cd ..
tar xf pam_fprint-0.2.tar.bz2
cd pam_fprint-0.2/
sudo apt-get install libpam-dev
./configure --prefix=/usr
make
sudo checkinstall -install=no make install
sudo dpkg -i pam-fprint_0.2-1_amd64.deb
现在我们可以开始设置指纹认证。我建议你在这里停止,因为我已经使用它一段时间了并且存在几个问题。到目前为止,您的驱动程序运行正常。您可以尝试使用它进行身份验证,并根据需要将其恢复,但它对于日常使用来说不够强大。
无论如何,我们需要编辑该/etc/pam.d/common-auth
文件。小心处理此文件!!。如果你弄乱了它,你就必须从恢复模式修复它。
这会让 ubuntu 要求你你的指纹或密码授予您 root 访问权限并进行登录。因此您仍然可以使用密码登录
sudo nano /etc/pam.d/common-auth
我们需要添加以下行:
# fingerprint authentication through fprintd
auth sufficient pam_fprint.so
并修改该行以pam_unix.so nullok_secure try_first_pass
使其足够,如下所示:
auth sufficient pam_unix.so nullok_secure try_first_pass
最后这是我的文件的样子。
注意行为将取决于您将线条放在哪里。如果您将它们放在上方(“主要”块)部分,它将首先要求您输入指纹,然后要求您输入密码,反之亦然。
我希望有人可以澄清或给出关于这个文件究竟如何工作的良好指示。
最后...
cd ..
sudo cp vcsFPServiceDaemon /etc/init.d/
sudo update-rc.d vcsFPServiceDaemon defaults
一切应该正常进行。