Leitor de impressão digital VFS 495 não funciona no Ubuntu

7

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

Link para a página do driver da HP: Driver

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

Saída de lspci && lsusb :

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)
00:1c.5 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 6 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 04ca:7022 Lite-On Technology Corp. 
Bus 001 Device 003: ID 138a:003f Validity Sensors, Inc. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 09da:c10a A4 Tech Co., Ltd 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
por Ali Nawaz 03.12.2013 / 12:10

1 resposta

5

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

(primeiro você pode querer navegar para uma pasta vazia, porque faremos alguns downloads & amp; compilação & conversões. Os arquivos serão o lugar todo)

mkdir temporary
cd ./temporary

agora criamos uma pasta e navegamos para ela, podemos prosseguir ...

Primeiro, faça o download this e coloque-o na sua pasta vazia.

O guia é muito longo, mas o que é bom é que ele funcione se você segui-lo sequencialmente. Se você não entender o que está acontecendo, apenas copie e cole as linhas uma após a outra (ou pergunte 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 a parte dos links quebrados. 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 é só prosseguir. Instalar o 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 o 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

Neste 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". Vai mostrar sua impressão digital! É muito divertido: às vezes eu só vou lá e fico passando XD

E apenas uma nota lateral, não tire capturas de tela do seu dedo e compartilhe-a com , a menos que você saiba o que está fazendo. Sua impressão digital é valioso. Melhor mantê-lo apenas para seus olhos.

... de qualquer maneira, continue. Instalar o 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 tenho usado por um tempo e há vários problemas com ele. Até agora, o 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 arquivo /etc/pam.d/common-auth . Cuidado com este arquivo !! . Se você errar, terá que consertar no modo de recuperação.

Isso faria com que o ubuntu solicitasse sua impressão digital ou sua senha para lhe conceder acesso root e também para login. Então você ainda pode usar sua senha para fazer o 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 tem pam_unix.so nullok_secure try_first_pass para torná-lo suficiente, assim:

auth    sufficient      pam_unix.so nullok_secure try_first_pass

Então, finalmente aqui está o meu arquivo .

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

Espero que alguém possa esclarecer ou dar uma boa indicação de como esse arquivo funciona exatamente.

Finalmente ...

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

e as coisas devem estar funcionando.

    
por Mina Michael 12.06.2017 / 05:35