Da tempo immemore seguivo lo sviluppo dei driver linux per il mio famigerato lettore di impronte digitali Validity Sensors, Inc. VFS101 Fingeprint Reader.
Ma ecco che mentre stavo perdendo le speranze ricevo la segnalazione che nella storica pagina del bug al post 78 è stata rilasciata una patch per libfprint 0.3.0 che funziona !!
Ecco come poterla utilizzare:
Iniziate a fare piazza pulita rimuovendo se li avete i pacchetti libfprint0, libfprint, libpam-fprint, fprint-demo.
Scaricate sulla Scrivania i sorgenti di libfprint 0.3.0 e la patch (click destro>salva destinazione con nome) e installatela nel modo consueto:
$ cd ~/Scrivania/libfprint-0.3.0 $ patch -p1 < ~/Scrivania/libfprint-0.3.0-vfs101.patch
Se tutto è andato bene vedrete questo:
patching file libfprint/drivers/vfs101.c patching file libfprint/fp_internal.h patching file libfprint/core.c patching file libfprint/poll.c patching file libfprint/gdkpixbuf.c patching file libfprint/Makefile.am patching file configure.ac
Con i nostri bei sorgenti patchati andremo a compilare:
Occorrono build-essential libusb-1.0-dev ed altri che installerete dall'output del configure.
Nota:non posso essere più preciso sulle dipendenze avendo reinstallato da poco Debian (più avanti capirete 😡 ) e non volendo reinstallarle.
$ ./configure $ make
O come è suggerito:
$ autoreconf && ./configure && make
(previa pacchetto autoreconf)
Compilato il tutto proporrei di crearsi il .deb con checkinstall (va installato anche quello da Synaptic).
$ su # checkinstall
Importante: Modifichiamo la linea descrittiva del nome da libfprint a libfprint0 per evitare conflitti con i pacchetti che andremo a installare poi.
Adesso che abbiamo installato la libreria "cuore" andiamo a mettere la GUI (interfaccia) che ci permetterà di gestire le impronte:
Avendo Debian Wheezy ho attinto da sid:
fprint-demo (salvataggio impronte)
libpam-fprint (integrazione terminale/login/screensaver)
Se avete Ubuntu potrete installare le versioni relative alla vostra distribuzione.
A questo punto avviate da root fprint-demo e divertitevi a salvare dito per dito la vostra impronta.
Configurate poi libpam seguendo questa Mini Guida.
Se tutto è andato bene ogni volta che vi loggherete da terminale vi uscirà una scritta con la richiesta di impronta, lo stesso al login di sistema e per lo sblocco dello screensaver.
Fingerprint GUI:
Questo programma acquisisce le impronte come fprint-demo e mostra una finestrella con un dito ad ogni richiesta di autenticazione (invece della semplice scritta) si appoggia a libfprint che abbiamo patchato.
Nella documentazione ci sono svariate guide che consiglio di leggere con attenzione per evitare gravi problemi (e io ne so qualcosa 🙁 ).
Per entrambi i programmi ci sono settaggi a cui fare molta attenzione.
Occhio a smanettare con i settaggi:
Personalmente mi funzionava tutto tranne il login iniziale.
Ho voluto mettere anche Fingerprint GUI che mi ha riconosciuto le impronte, e modificando i settaggi per tentare di avere la richiesta al login il sistema mi si è "autochiuso".
Impossibile fare il login di sistema, con errore libpam, impossibile loggarsi da shell e da recovery mode con stesso errore.
Non è servito neppure rimuovere dalla live di Ubuntu ogni riferimento a libpam, libfprint e quant'altro.
Di certo la soluzione esisteva ma ho approfittato per reinstallare Wheezy che da quasi un anno di lavoro con compilazioni multiple strabordava di librerie e pacchetti.
So di essere stato molto vago ma fate attenzione e non aggiungete settaggi strani se non sapete esattamente cosa fate.
In questo articolo non pubblico immagini delle mie interfacce essendomi scordato di salvarle prima della reinstallazione della mia Debian (non avrete le mie impronte .. 🙂 ).
Per quanto riguarda me quindi aspetterò che la patch venga inserita in libfprint e che magari Gnome integri a pieno il riconoscimento.
Paolo says
quando faccio partire il ./configure mi dice che manca il pacchetto nss… ma nei repository non c’è… dove lo trovo ?
fabrixx says
A naso potrebbe essere libnss3-dev 😉
Ciao e buona fortuna