O leitor de impressão digital VFS 495 não funciona no Ubuntu

12

Eu tenho o HP Probook 450 e ele integrou o leitor de impressão digital VFS 495 da Validity Inc. Eu tenho drivers Linux no site da HP. Agora eu quero fazê-lo funcionar no Ubuntu. Os drivers estão no formato rpm, então usei o conversor alienígena para convertê-lo em pacote deb e depois instalei.

Link para a página do driver HP: Driver

FYI: Este pacote de driver possui alguma biblioteca de wrapper fprint e também possui um arquivo HPUsbVFS495.img, mas não consegui descobrir como funciona.

Saída de lspci && lsusb:

00: 00.0 Ponte do host: Controladora DRAM do processador de terceira geração do Intel Corporation (rev 09)
00: 02.0 Controlador compatível com VGA: Controlador gráfico do processador Intel Corporation 3rd Gen Core (rev 09)
00: 14.0 Controlador USB: Família de chipsets Intel Corporation série 7 / Série C210 Controlador host xHCI USB (rev 04)
00: 16.0 Controlador de comunicação: Família de chipsets Intel Corporation série 7 / Série C210 Controlador MEI nº 1 (rev 04)
00: 1a.0 Controlador USB: Família de chipsets Intel Corporation série 7 / série C210 Controlador host avançado USB # 2 (rev 04)
00: 1b.0 Dispositivo de áudio: Controlador de áudio de alta definição da família de chipsets Intel Corporation série 7 / Série C210 (rev 04)
00: 1c.0 Ponte PCI: Intel Corporation Série 7 / família de chipsets C210 Porta raiz raiz PCI Express 1 (rev c4)
00: 1c.2 Ponte PCI: Intel Corporation Série 7 / Família de chipsets C210 Família PCI Express Root Port 3 (rev c4)
00: 1c.3 Ponte PCI: Família de chipsets Intel Corporation série 7 / Série C210 Porta raiz raiz PCI Express 4 (rev c4)
00: 1c.5 Ponte PCI: Intel Corporation Série 7 / família de chipsets C210 Família PCI Express Root Port 6 (rev c4)
00: 1d.0 Controlador USB: Família de chipsets Intel Corporation série 7 / série C210 Controlador host avançado USB # 1 (rev 04)
00: 1f.0 ponte ISA: Controlador LPC de chipset Intel Corporation HM76 Express (rev 04)
00: 1f.2 Controlador SATA: Família de chipsets Intel Corporation série 7 Controlador SATA de 6 portas [modo AHCI] (rev 04)
02: 00.0 Classe não atribuída [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 Leitor de cartão PCI Express (rev 01)
03: 00.0 Controlador de rede: Ralink corp. RT3290 Wireless 802.11n 1T / 1R PCIe
03: 00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
04: 00.0 Controlador Ethernet: Realtek Semiconductor Co., Ltd. Controlador Ethernet RTL8111 / 8168/8411 PCI Express Gigabit Ethernet (rev. 0c)
Dispositivo 002 do barramento 002: ID 8087: 0024 Hub de correspondência de taxa integrado da Intel Corp.
Dispositivo 001 do barramento 002: hub raiz do ID 1d6b: 0002 Linux Foundation 2.0
Dispositivo 004 do barramento 001: ID 04ca: 7022 Lite-On Technology Corp. 
Dispositivo 003 do barramento 001: ID 138a: 003f Validity Sensors, Inc. 
Dispositivo 002 do barramento 001: ID 8087: 0024 Hub correspondente da taxa integrada da Intel Corp
Dispositivo 001 do barramento 001: hub raiz do ID 1d6b: 0002 Linux Foundation 2.0
Dispositivo 001 do barramento 004: hub raiz do ID 1d6b: 0003 Linux Foundation 3.0
Dispositivo 002 do barramento 003: ID 09da: c10a A4 Tech Co., Ltd 
Dispositivo 001 do barramento 003: hub raiz do ID 1d6b: 0002 Linux Foundation 2.0
Ali Nawaz
fonte
Não funcionou se você não instalou o software?
Braiam
Eu instalei o driver, mas ele não funciona.
Ali Nawaz
Eu quis dizer se, sem instalar nada funcionou? Além disso, edite sua pergunta e adicione a saída de lspci && lsusb.
Braiam
Não, não funcionou sem instalar nada também. E eu atualizei a saída.
Ali Nawaz

Respostas:

9

Eu consegui trabalhar no 16.04 nesta máquina seguindo este guia, mas havia alguns problemas com os links, então aqui está exatamente o que eu fiz ...

(primeiro, você pode navegar para uma pasta vazia porque faremos alguns downloads, compilações e conversões. Os arquivos estarão por todo o lado)

mkdir temporary
cd ./temporary

agora que criamos uma pasta e navegamos até ela, podemos prosseguir ...

Primeiro, baixe este e colocá-lo em sua pasta vazia.

O guia é muito longo, mas o melhor é que ele deve funcionar se você o seguir seqüencialmente. Se você não entende o que está acontecendo, basta copiar e colar as linhas uma após a outra (ou perguntar em um comentário)

instale o driver:

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

Agora os links quebrados se separam. Aqui estão os links que devem funcionar:

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

Então apenas prossiga. Instale 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

Instale 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

Nesse ponto, podemos começar a registrar nossos dedos.

sudo /etc/init.d/vcsFPServiceDaemon start
sudo fprint_demo

... depois de registrar seu dedo, você pode treinar na guia "identificar". Ele exibirá sua impressão digital! É muito divertido: D às vezes eu só vou lá e continuo passando o XD

E apenas uma observação: não faça capturas de tela do seu dedo e compartilhe-as, a menos que você saiba o que está fazendo. Sua impressão digital é valiosa. Melhor mantê-lo apenas para seus olhos.

... de qualquer maneira, continue. Instale 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

Agora podemos começar a configurar a autenticação de impressão digital. Eu recomendo que você pare aqui porque eu o uso há um tempo e há vários problemas com ele. Até agora, seu driver está funcionando e tudo bem. Você pode experimentá-lo para autenticação e revertê-lo, se quiser, mas não é robusto para uso diário.

De qualquer forma, precisamos editar o /etc/pam.d/common-autharquivo. Tenha cuidado com este arquivo !! . Se você estragar tudo, precisará corrigi-lo no modo de recuperação.

Isso faria com que o ubuntu solicitasse sua impressão digital ou sua senha para conceder acesso root e também para login. Então você ainda pode usar sua senha para fazer login

sudo nano /etc/pam.d/common-auth

Precisamos adicionar as linhas:

# fingerprint authentication through fprintd
auth    sufficient                      pam_fprint.so

e modifique a linha que precisa pam_unix.so nullok_secure try_first_passtorná-la suficiente, assim:

auth    sufficient      pam_unix.so nullok_secure try_first_pass

Então, finalmente, aqui está a aparência do meu arquivo .

Observe que o comportamento dependerá de onde você colocará as linhas. Se você os colocar acima (o bloco "Primário"), ele primeiro solicitará sua impressão digital, sua senha e vice-versa.

Espero que alguém possa esclarecer ou dar um bom ponteiro sobre como exatamente esse arquivo funciona.

Finalmente...

cd ..
sudo cp vcsFPServiceDaemon /etc/init.d/
sudo update-rc.d vcsFPServiceDaemon defaults

e as coisas devem estar funcionando.

Mina Michael
fonte
3
Obrigado!! apenas pequena observação: você tem que copiar vcsFPServiceDaemon para /etc/init.d/ antes da primeira corrida de serviço e por isso, antes de executar fprint_demo
Denis
Isso funcionou, mas provou ser instável com um HP 640 G2 no sistema operacional elementar. Eu tive que desinstalá-lo. No entanto, é um guia perfeito, definitivamente vou usá-lo novamente em outro hardware ou em uma distribuição diferente. Obrigado!
Benoit Duffez 04/10
espero que tenham gostado: D
Mina Michael
Guia excelente e detalhado! Funcionou perfeitamente em um HP 470 G5 com Linux Mint 18.3. Tenho uma pergunta adicional: vi que ele solicita a impressão digital apenas na tela de login e, depois de bloquear a tela, sempre pede a senha. Como posso fazê-lo solicitar a impressão digital ao desbloquear a tela também?
Stefano Coletta
Ei, eu tenho acompanhado, mas quando chego ao ponto em que entro sudo /etc/init.d/vcsFPServiceDaemon start, diz-me que /etc/init.d/vcsFPServiceDaemon: 33: .: Can't open /etc/rc.status Mas o comando sudo fprint_demofunciona, mas diz que não há dispositivo. O que devo fazer aqui? Estou em um HP EliteBook 840, se isso ajudar, e 18.04 com Plasma instalado
DPS