Rechercher dans ce blog

mardi 21 avril 2015

HP Elitebook 8470p fingerprint reader validity


Procédure pour activer le lecteur d'empreintes digitales sur HP elitebook 8470p sous UBUNTU 14.04


Uninstallation
===========
GNOME users: The package policykit-

1-fingerprint-gui replaces GNOME's standard PolicyKit daemon (contained in package policykit-1-gnome). However, when you decide to uninstall Fingerprint GUI (and hence remove policykit-1-fingerprint-gui), policykit-1-gnome will not get automatically installed back, hence there won't be any PolicyKit daemon in the system, and APT will try to remove all the packages that depend on it. Therefore, if you want to remove Fingerprint GUI, make sure you install policykit-1-gnome back first.
   sudo apt-get install policykit-1-gnome
   sudo apt-get remove fingerprint-gui


Je donne toutes les démarches à faire pour obtenir le fonctionnement, mais on peut simplifier en installant directement installer le pkg et copier le fichier de démarrage et ensuite on peut passer toutes les étapes de la compilation en récupérant la libfprint0 déjà compilée comme le pkg et le script sur mon drive google (https://drive.google.com/fingerprint_reader_files).

uname -a :

Linux uranix 3.13.0-49-generic #83-Ubuntu SMP Fri Apr 10 20:11:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

lsusb -s 001:003 -v :

Bus 001 Device 003: ID 138a:003d Validity Sensors, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass        17
  bDeviceProtocol       255
  bMaxPacketSize0         8
  idVendor           0x138a Validity Sensors, Inc.
  idProduct          0x003d
  bcdDevice            1.04
  iManufacturer           0
  iProduct                0
  iSerial                 1 0030d8cdc38f
  bNumConfigurations      1






... cut ...








Le plus simple est d'installer :

sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

Cela devrait installer automatiquement : libfprint0

Si nécessaire installer d'abord :

sudo apt-add-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update


Attention : la version 1.07 de fingerprint ne fonctionne pas correctement aussi je maintiens la version 1.07. Comme les packages ne sont pas disponible dans cette version via le ppa je mets les pkg version 1.06 sur le drive google avec les autres fichiers. A suivre lorsqu'il y aura une mise à jour fingerprint...

Dans cet état le fingerprint reader ne fonctionne pas.

Il faut installer une libfprint0 qui le reconnaisse et qui est (si je comprends bien) un wrapper pour le pilote que HP a développé pour la distribution Suse. Je suis ici les indications données sur le blog (merci à lui) mais en les modifiant et les complétant là où c'est nécessaire :

http://blog.pasqualefiorillo.it/post/hp-probook-4540s-validity-sensors-driver-su-linux-mintdebian/


1 - télécharger le pilote :

ftp://ftp.hp.com/pub/softpaq/sp57001-57500/sp57317.tar
 
2 -  tar xvf sp57317.tar

3 - On obtient un paquet .rpm

Validity-Sensor-Setup-4.4-100.00.x86_64.rpm

On le convertit en paquet debian

sudo alien -d Validity-Sensor-Setup-4.4-100.00.x86_64.rpm

4 - On installe le paquet debian

sudo dpkg -i validity-sensor-setup-4.4-100.00.x86_64.deb

5 - On modifie le script de démarrage

/etc/init.d/vcsFPServiceDaemon

en remplaçant son contenu par

#!/bin/sh
### BEGIN INIT INFO
# Provides: Validity Fingerprint Service Daemon
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 5
# Default-Stop: 0 6
# Short-Description: Validity Fingerprint Service Daemon
# Description: Start vcsFPService to provide Validity FP Service
### END INIT INFO
#
# Note on runlevels:
# 0 - halt/poweroff 6 - reboot
# 1 - single user 2 - multiuser without network exported
# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm)
#

. /lib/lsb/init-functions

vcsFPService_BIN=/usr/bin/vcsFPService
test -x $vcsFPService_BIN || { echo "$vcsFPServiceDaemon is not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }

case "$1" in
start)
echo -n "Starting vcsFPService Daemon \n"
start-stop-daemon --start --background --quiet --exec "$vcsFPService_BIN" > /dev/null 2 >&1

;;
stop)
echo -n "Stopping vcsFPService Daemon \n"

#/sbin/killall -TERM $vcsFPService_BIN
start-stop-daemon --stop --quiet --quiet --oknodo --retry=0/1/KILL/5 --exec "$vcsFPService_BIN" > /dev/null 2 >&1

;;
status)
echo "Checking for vcsFPService Daemon \n"

if pidof -o %PPID $vcsFPService_BIN> /dev/null; then
echo "client is running. \n"
exit 0
else
echo "client is not running. \n"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
;;
esac

exit 0

6 - On met à jour  les liens de démarrage

sudo update-rc.d vcsFPServiceDaemon defaults

Pour savoir si le service fonctionne ou non :

sudo /etc/init.d/vcsFPServiceDaemon status

7 - Téléchargement de libfprint0

http://suse.mes.edu.cu/SLES_11_SP2/CD2/suse/src/libfprint-0.0.6-18.20.1.src.rpm

 8 - Extraire le contenu du paquet rpm avec le gestionnaire d'archives soit par l'interface graphique soit en utilisant la commande :

file-roller -h libfprint-0.0.6-18.20.1.src.rpm

9 - cd libfprint-0.0.6-18.20.1.src/

Extraire

bzip2 -d libfprint-0.0.6.tar.bz2

Untarer :

tar xf libfprint-0.0.6.tar

10 - Patcher pour ajouter le support pour le fingerprint reader validity 0138:003d

cd libfprint-0.0.6/
patch -p1 <../libfprint-validity.patch


moi@uranix:~/Téléchargements/libfprint-0.0.6-18.20.1.src/libfprint-0.0.6$ patch -p1 <../libfprint-validity.patch
patching file libfprint/Makefile.am
Hunk #1 succeeded at 7 (offset -1 lines).
Hunk #2 succeeded at 64 (offset -9 lines).
patching file libfprint/Makefile.in
patching file libfprint/core.c
patching file libfprint/drivers/validity/vfsDriver.c
patching file libfprint/drivers/validity/vfsDriver.h
patching file libfprint/drivers/validity/vfsWrapper.h
patching file libfprint/fp_internal.h
Hunk #1 succeeded at 122 (offset -3 lines).
Hunk #2 succeeded at 149 (offset -4 lines).
patching file libfprint/imgdev.c


11 - Compiler

./configure
make


12 - Remplacer libfprint0 de ubuntu par celle que l'on vient de compiler.

 cp libfprint/.libs/libfprint.so.0.0.0 /usr/lib

Attention, s'il y a une mise à jour de libfprint0 alors elle sera remplacée de nouveau par la version d'ubuntu.

Donc en faire une copie de sauvegarde dans /usr/local/lib par exemple.

cp libfprint/.libs/libfprint.so.0.0.0 /usr/local/lib

Mais aussi faire un hold sur la lib en faisant :

echo "libfprint0 hold"|dpkg --set-selections

ou

apt-mark hold libfprint0

13 A partir de là, le fingerprint reader doit être reconnu (bien s'assurer que le service vcsFPServiceDaemon est running...

avec fingerprint-gui on peut enregistrer ses empreintes et tester les différents services comme sudo, screenlocker, etc.




Je mets tous les fichiers sur mon drive google.

https://drive.google.com/fingerprint_reader_files




lundi 20 avril 2015

HP ELITEBOOK 8470p FIX Brightness control UBUNTU 14.04

Put in

/usr/share/X11/xorg.conf.d/20-intel.conf

20-intel.conf

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection


root@uranix:/usr/share/X11/xorg.conf.d# ls -ltr
total 36
-rw-r--r-- 1 root root  842 fév  5  2014 50-wacom.conf
-rw-r--r-- 1 root root  364 fév  5  2014 11-evdev-trackpoint.conf
-rw-r--r-- 1 root root  590 fév  5  2014 11-evdev-quirks.conf
-rw-r--r-- 1 root root  115 fév  5  2014 50-vmmouse.conf
-rw-r--r-- 1 root root  590 avr 10  2014 51-synaptics-quirks.conf
-rw-r--r-- 1 root root 1757 avr 10  2014 50-synaptics.conf
-rw-r--r-- 1 root root 1867 fév 12 15:51 10-quirks.conf
-rw-r--r-- 1 root root 1099 fév 12 15:51 10-evdev.conf
-rw-r--r-- 1 root root  167 mar 26 09:57 20-intel.conf

Now brightness control work fine.