El lector de huellas digitales VFS 495 no funciona en Ubuntu

12

Tengo el HP Probook 450 y tiene un lector de huellas dactilares integrado VFS 495 de Validity Inc. Tengo controladores de Linux del sitio de HP. Ahora quiero que funcione en Ubuntu. Los controladores están en formato rpm, así que utilicé un conversor alienígena para convertirlo en un paquete deb y luego lo instalé.

Enlace a la página del controlador de HP: Controlador

FYI: este paquete de controladores contiene una biblioteca de contenedor de fprint y también tiene un archivo HPUsbVFS495.img, pero no pude averiguar cómo funciona.

Salida de lspci && lsusb:

00: 00.0 Puente de host: Controlador DRAM del procesador Intel Core de 3.a generación de Intel Corporation (rev 09)
00: 02.0 Controlador compatible con VGA: Controlador de gráficos de procesador Intel Corporation 3rd Gen Core (rev 09)
00: 14.0 Controlador USB: Intel Corporation 7 Series / C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00: 16.0 Controlador de comunicación: Intel Corporation 7 Series / C210 Series Chipset Family MEI Controller # 1 (rev 04)
00: 1a.0 Controlador USB: Intel Corporation Serie 7 / Serie C210 Chipset Familia Controlador de host mejorado USB # 2 (rev 04)
00: 1b.0 Dispositivo de audio: Controlador de audio de alta definición de la familia de chipsets Intel Corporation serie 7 / serie C210 (rev 04)
00: 1c.0 Puente PCI: Intel Corporation 7 Series / C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00: 1c.2 Puente PCI: Intel Corporation 7 Series / C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00: 1c.3 Puente PCI: Intel Corporation 7 Series / C210 Series Chipset Family PCI Express Root Port 4 (rev c4)
00: 1c.5 Puente PCI: Intel Corporation 7 Series / C210 Series Chipset Family PCI Express Root Port 6 (rev c4)
00: 1d.0 Controlador USB: Intel Corporation Serie 7 / Serie C210 Chipset Familia Controlador de host mejorado USB # 1 (rev 04)
00: 1f.0 Puente ISA: Controlador LPC Intel Corporation HM76 Express Chipset (rev 04)
00: 1f.2 Controlador SATA: Intel Corporation Serie 7 Chipset Familia Controlador SATA de 6 puertos [modo AHCI] (rev 04)
02: 00.0 Clase no asignada [ff00]: Realtek Semiconductor Co., Ltd. Lector de tarjetas PCI Express RTS5229 (rev 01)
03: 00.0 Controlador de red: Ralink corp. RT3290 inalámbrico 802.11n 1T / 1R PCIe
03: 00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
04: 00.0 Controlador Ethernet: Realtek Semiconductor Co., Ltd. Controlador RTL8111 / 8168/8411 PCI Express Gigabit Ethernet (rev 0c)
Bus 002 Dispositivo 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Dispositivo 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub
Bus 001 Dispositivo 004: ID 04ca: 7022 Lite-On Technology Corp. 
Bus 001 Dispositivo 003: ID 138a: 003f Validity Sensors, Inc. 
Bus 001 Dispositivo 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Dispositivo 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub
Bus 004 Dispositivo 001: ID 1d6b: 0003 Linux Foundation 3.0 root hub
Bus 003 Dispositivo 002: ID 09da: c10a A4 Tech Co., Ltd 
Bus 003 Dispositivo 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub
Ali Nawaz
fuente
¿No funcionó si no instaló el software?
Braiam
He instalado el controlador pero no funciona.
Ali Nawaz
Quise decir si sin instalar nada funcionó? Además, edite su pregunta y agregue la salida de lspci && lsusb.
Braiam
No, tampoco funcionó sin instalar nada. Y he actualizado la salida.
Ali Nawaz

Respuestas:

9

Lo hice funcionar en 16.04 en esta máquina siguiendo esta guía, pero tenía algunos problemas con los enlaces, así que esto es exactamente lo que hice ...

(primero es posible que desee navegar a una carpeta vacía porque haremos algunas descargas, compilaciones y conversiones. Los archivos estarán por todas partes)

mkdir temporary
cd ./temporary

ahora que creamos una carpeta y navegamos a ella, podemos continuar ...

Primero, descargue esto y colóquelo en su carpeta vacía.

La guía es muy larga, pero lo bueno es que debería funcionar si la sigues secuencialmente. Si no comprende lo que está sucediendo, simplemente copie y pegue las líneas una tras otra (o pregunte en un comentario)

instale el controlador:

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

Ahora los enlaces rotos parten. Aquí están los enlaces que deberían 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

Entonces solo proceda. Instalar 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

Instalar 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

En este punto, podemos comenzar a registrar nuestros dedos.

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

... después de registrar su dedo, puede entrenar en la pestaña "identificar". ¡Mostrará tu huella digital! Es muy divertido: D a veces solo voy allí y sigo deslizando XD

Y solo una nota al margen, no tome capturas de pantalla de su dedo y compártalas a menos que, por supuesto, sepa lo que está haciendo. Tu huella digital es valiosa. Mejor guárdelo solo para sus ojos.

... de todos modos, continúa. Instalar 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

Ahora podemos comenzar a configurar la autenticación de huellas digitales. Te recomiendo que pares aquí porque lo he estado usando por un tiempo y hay varios problemas con él. Hasta ahora su controlador está funcionando y está bien. Puede probarlo para la autenticación y revertirlo si lo desea, pero no es robusto para el uso diario.

De todos modos, necesitamos editar el /etc/pam.d/common-autharchivo. ¡Ten cuidado con este archivo! . Si lo arruinas, tendrás que arreglarlo desde el modo de recuperación.

Esto haría que ubuntu le pida su huella digital o su contraseña para otorgarle acceso de root y también para iniciar sesión. Entonces aún puede usar su contraseña para iniciar sesión

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

Necesitamos agregar las líneas:

# fingerprint authentication through fprintd
auth    sufficient                      pam_fprint.so

y modifique la línea que tiene pam_unix.so nullok_secure try_first_passque hacerla suficiente, así:

auth    sufficient      pam_unix.so nullok_secure try_first_pass

Entonces, finalmente, así es como se ve mi archivo .

Tenga en cuenta que el comportamiento dependerá de dónde colocará las líneas. Si los coloca arriba (el bloque "Principal") primero le pedirá su huella digital, luego su contraseña y viceversa.

Espero que alguien pueda aclarar o dar un buen puntero sobre cómo funciona exactamente este archivo.

Finalmente...

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

y las cosas deberían estar funcionando.

Mina Michael
fuente
3
¡¡Gracias!! solo un pequeño comentario: debe copiar vcsFPServiceDaemon a /etc/init.d/ antes de la primera ejecución del servicio y así, antes de ejecutar fprint_demo
Denis
Esto funcionó pero demostró ser inestable con una HP 640 G2 en el sistema operativo Elementary. Tuve que desinstalarlo. Sin embargo, guía perfecta, definitivamente la usaré nuevamente en otro hardware o en una distribución diferente. ¡Gracias!
Benoit Duffez
espero que lo hayas disfrutado: D
Mina Michael
¡Guía excelente y detallada! Funcionó perfectamente en una HP 470 G5 con Linux Mint 18.3. Tengo una pregunta adicional: he visto que solo solicita la huella digital en la pantalla de inicio de sesión, mientras que después de bloquear la pantalla, siempre solicita la contraseña. ¿Cómo puedo hacer que le pida la huella digital al desbloquear la pantalla también?
Stefano Coletta
hey, he estado siguiendo, pero cuando llego al punto donde entro sudo /etc/init.d/vcsFPServiceDaemon start, me dice que /etc/init.d/vcsFPServiceDaemon: 33: .: Can't open /etc/rc.status Pero el comando sudo fprint_demofunciona, pero no dice ningún dispositivo. ¿Qué debo hacer aquí? Estoy en un HP EliteBook 840 si eso ayuda, y 18.04 con Plasma instalado
DPS