有没有办法安装 VFS495 指纹读取器的驱动程序?

有没有办法安装 VFS495 指纹读取器的驱动程序?

我有一台笔记本电脑,配有 Validity Sensors VFS495 指纹读取器。当我进入设置时,有一个指纹认证选项,但当我点击它时它不起作用。它说我应该联系我的系统管理员寻求帮助。GitHub 上有一个关于这款指纹读取器的项目 -(关联)- 但这个版本已经过时了,支持 Ubuntu 18.10,不支持 20.04。我尝试安装它,并且能够sudo fprint_demo毫无问题地使用指纹注册。但是,当我尝试登录时,它说Could not locate any suitable fingerprints matched with available hardware.

有没有办法安装此指纹读取器的驱动程序?如果没有,是否有一些通用驱动程序可用于此设备?

答案1

Ubuntu 20.04 的解决方案

司机我上面链接的内容适用于此设备。我只是使用不当。

使用此驱动程序时,您应该记住一些事项。

  • 它只在内核中起作用低于 5.2。我只在 中测试过5.2,所以我不知道它是否在 这样的版本中工作5.3。从我的其他测试来看,内核 5.4 及更新版本使此驱动程序非常滞后且几乎无法使用。
  • 始终检查您如何登记指纹。sudo fprint_demo 不一样fprint_demo。我遵循的指南建议您使用sudo fprint_demo,它将为 root 用户注册您的指纹。这实际上是我得到 的原因Could not locate any suitable fingerprints matched with available hardware.。是的,这是因为我没有注册任何指纹。我只为 注册了它们root

以下是安装的分步指南:

  1. 确保您的内核版本是5.2 或更高版本

    uname -r

    如果不是,请从内核主线 PPA。您可以按照说明这里

  2. 按照以下步骤操作。它们适用于 Ubuntu 18.04/18.10,但无需太多修改即可与 20.04 配合使用。

  3. 第一步是安装所需的依赖项:

    sudo apt install libssl1.0.0 libusb-dev libssl-dev libglib2.0-dev libmagickcore-dev libgtk2.0-dev libpam-dev

  4. 运行这些命令按此顺序

    mkdir vfs && cd vfs
    wget https://github.com/PetreBoboc/vfs495_ubuntu/raw/master/Packages/libcrypto%2B%2B9_5.6.1-6%2Bdeb8u3_amd64.deb
    sudo apt install ./libcrypto++9_5.6.1-6+deb8u3_amd64.deb
    rm libcrypto++9_5.6.1-6+deb8u3_amd64.deb
    wget https://github.com/PetreBoboc/vfs495_ubuntu/raw/master/Packages/1704/libMagickCore-6.Q16.so.2.0.0
    sudo mv libMagickCore-6.Q16.so.2.0.0 /usr/lib/
    sudo ln /usr/lib/libMagickCore-6.Q16.so.2.0.0 /usr/lib/libMagickCore-6.Q16.so.2
    wget https://github.com/PetreBoboc/vfs495_ubuntu/blob/master/Packages/validity-sensor-setup_4.5-119_amd64.deb?raw=true
    wget https://github.com/PetreBoboc/vfs495_ubuntu/blob/master/Packages/libfprint_0.0.6-1_amd64.deb?raw=true
    wget https://github.com/PetreBoboc/vfs495_ubuntu/blob/master/Packages/fprint-demo_0.4-1_amd64.deb?raw=true
    wget https://github.com/PetreBoboc/vfs495_ubuntu/blob/master/Packages/pam-fprint_0.2-1_amd64.deb?raw=true
    sudo dpkg -i *.deb
    sudo apt-mark hold fprint-demo
    sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so.0.9.8
    sudo ln -s /usr/lib/libcryptopp.so.9 /usr/lib/libcrypto.so.0.9.8
    wget https://raw.githubusercontent.com/PetreBoboc/vfs495_ubuntu/master/vcsFPServiceDaemon
    sudo mv vcsFPServiceDaemon /etc/init.d/
    sudo chmod 0755 /etc/init.d/vcsFPServiceDaemon
    sudo update-rc.d vcsFPServiceDaemon defaults
    sudo /etc/init.d/vcsFPServiceDaemon start
    wget https://raw.githubusercontent.com/PetreBoboc/vfs495_ubuntu/master/fingerprint_auth/modified/common-auth
    sudo mv common-auth /etc/pam.d
    
  5. 现在,原始指南建议使用sudo fprint_demo,但请记住这将为 root 用户注册指纹。如果您想为您的用户注册指纹,请使用以下方法之一:

    1. fprint_demo

      您应该会看到类似这样的窗口: fprint_demo 窗口 单击Enroll旁边的Right index finger并注册您的手指。

    2. 另一种方法是从命令行注册指纹:运行pam_fprint_enroll并按enter。然后注册您的指纹。

  6. 重启。

  7. 在登录屏幕上,当它要求您输入密码时,按下enter并扫描您的手指。(这适用于 KDE Plasma 和 GNOME,其他 DE 可能有不同的方式)

故障排除

以下是我在使用该驱动程序时遇到的一些问题:

  • 从挂起/休眠状态恢复后,扫描会在登录时挂起。

    /etc/pm/sleep.d/ValidityServiceSuspend.sh解决方案:用您喜欢的文本编辑器打开:

    sudo nano /etc/pm/sleep.d/ValidityServiceSuspend.sh

    编辑它,使它看起来像这样:

    #!/bin/bash
    
    . /usr/lib/pm-utils/functions
    
    suspend_FPS() {
        # Signal the vcsFPService about the suspend/hiberante
            echo " Sending Suspend Event"
            pkill -SIGUSR1 vcsFPService
    }
    
    case "$1" in
            hibernate|suspend)
                    suspend_FPS
                    ;;
            resume)
                    /etc/init.d/vcsFPServiceDaemon restart
                    ;;
            *)
                    ;;
    esac
    
    exit $?
    

保存文件并尝试暂停:)

  • 扫描挂起并导致锁定屏幕无法使用升级后

    这是因为您的内核已升级。您需要降级(例如,通过启动旧内核并移除新内核)才能让指纹读取器重新工作。

这些步骤已在HP Probook 470 G4Ubuntu 20.04-KDE Plasma(Kubuntu 桌面)和 GNOME(Ubuntu 桌面)

相关内容