# Fingerprint reader su Sony Vaio SZ330P

## fbcyborg

Salve a tutti, 

ho un sony vaio serie SZ3 e sto cercando di installare/rendere funzionante il fingerprint reader sulla mia Gentoo.

Ho trovato questo howto che però è specifico per i thinkpad. Premetto che potrei anche non aver capito bene cosa fare, anche seguendo l'howto.

Cercando di riadattarlo per il mio sony (credo che si possa fare) ho avuto un po' di problemi.

Riassumo i passi che ho fatto nella sequenza spiegata nel wiki:

Ho aggiunto nel mio /etc/portage/package.keywords le seguenti righe:

```
sys-auth/pam_bioapi ~x86

sys-auth/bioapi ~x86

sys-auth/tfm-fingerprint ~x86

```

Ho dato un bell' emerge pam_bioapi

Poi sono passato alla sezione Configuring Pam.

Per Gentoo e Fedora Core dice di modificare il file /etc/pam.d/system-auth .

OK...

Poi non capisco bene cosa si debba fare...

questo è il mio /etc/pam.d/system-auth

```
auth       required     pam_env.so

auth       sufficient   pam_unix.so likeauth nullok

auth       required     pam_deny.so

account    required     pam_unix.so

password   required     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3

password   sufficient   pam_unix.so nullok md5 shadow use_authtok

password   required     pam_deny.so

session    required     pam_limits.so

session    required     pam_unix.so

```

Poi dice di creare un file chiamato /etc/pam.d/bioapi ma non capisco cosa scriverci dentro. Questo non mi è per niente chiaro.

Successivamente dice di rimpiazzare tutte le occorrenze di "auth include system-auth" con "auth include bioapi" e come esempio riporta quello del file kde in /etc/pam.d/.

Successivamente dice, che se voglio utilizzare il login con l'impronta digitale dovrei aprire il file /etc/pam.d/kde e sostituire la riga

```
auth       include      system-auth
```

con la riga:

```
auth       include      bioapi
```

Fatto questo, quando sono sulla finestra di login di KDM e premo invio appare un messaggio con una X che dice:

 *Quote:*   

> A critical error occurred. Please look at KDM's logfile(s) for more information or contact your system administrator.

 

Ok, vediamo cosa dice il file di log di KDM (riporto solo la parte finale):

```
X Window System Version 7.1.1

Release Date: 12 May 2006

X Protocol Version 11, Revision 0, Release 7.1.1

Build Operating System: UNKNOWN

Current Operating System: Linux SZ330P 2.6.18-gentoo-r6 #16 SMP Tue Jan 2 18:27:18 CET 2007 i686

Build Date: 13 December 2006

        Before reporting problems, check http://wiki.x.org

        to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

        (++) from command line, (!!) notice, (II) informational,

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 31 13:44:13 2007

(==) Using config file: "/etc/X11/xorg.conf"

    xkb_keycodes             { include "xfree86+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc104)+it" };

    xkb_geometry             { include "pc(pc104)" };

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols

>                   Ignoring extra symbols

Errors from xkbcomp are not fatal to the X server

Synaptics DeviceInit called

SynapticsCtrl called.

Synaptics DeviceOn called

Link points to "/var/tmp/kdecache-root"

    xkb_keycodes             { include "xfree86+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc104)+it" };

    xkb_geometry             { include "pc(pc104)" };

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols

>                   Ignoring extra symbols

Errors from xkbcomp are not fatal to the X server

Synaptics DeviceOff called

FreeFontPath: FPE "/usr/share/fonts/misc" refcount is 2, should be 1; fixing.

    xkb_keycodes             { include "xfree86+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc104)+it" };

    xkb_geometry             { include "pc(pc104)" };

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols

>                   Ignoring extra symbols

Errors from xkbcomp are not fatal to the X server

Synaptics DeviceInit called

SynapticsCtrl called.

Synaptics DeviceOn called

Link points to "/var/tmp/kdecache-root"

Link points to "/var/tmp/kdecache-root"

X Error of failed request:  BadValue (integer parameter out of range for operation)

  Major opcode of failed request:  113 (X_KillClient)

  Value in failed request:  0x600009

  Serial number of failed request:  168

  Current serial number in output stream:  176

Link points to "/var/tmp/kdecache-root"

X Error of failed request:  BadValue (integer parameter out of range for operation)

  Major opcode of failed request:  113 (X_KillClient)

  Value in failed request:  0x600009

  Serial number of failed request:  168

  Current serial number in output stream:  176

Synaptics DeviceOff called

Synaptics DeviceOn called

    xkb_keycodes             { include "xfree86+aliases(qwerty)" };

    xkb_types                { include "complete" };

    xkb_compatibility        { include "complete" };

    xkb_symbols              { include "pc(pc104)+it" };

    xkb_geometry             { include "pc(pc104)" };

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols

>                   Ignoring extra symbols

Errors from xkbcomp are not fatal to the X server

```

Dove sbaglio?

Per fare login di nuovo non c'è alternativa se non ripristinare il file /etc/pam.d/kde com'era prima. Il messaggio di errore appare anche inserendo la password e premendo invio.

----------

## flocchini

nma hai provato che riconosca il lettore? Hai registrato il dito? Perche' a me (stessa macchina, SZ3XP\C) fino a una settimana fa non riconosceva il lettoe e il driver era in sviluppo... appena ho tempo riprovo... E' bello sapere di non essere soli   :Laughing: 

----------

## fbcyborg

 *flocchini wrote:*   

> nma hai provato che riconosca il lettore? Hai registrato il dito? Perche' a me (stessa macchina, SZ3XP\C) fino a una settimana fa non riconosceva il lettoe e il driver era in sviluppo... appena ho tempo riprovo... E' bello sapere di non essere soli  

 

Temo di non esserci ancora riuscito, comunque pare che venga riconosciuto con un lsusb.

```
 # lsusb

Bus 004 Device 001: ID 0000:0000

Bus 004 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

```

----------

## federico

Non pensavo che linux fosse in grado di leggere da quei controller... Se ci riuscite dovete scrivere un howto in italiano  :Smile: 

----------

## flocchini

 *fbcyborg wrote:*   

> 
> 
> Temo di non esserci ancora riuscito, comunque pare che venga riconosciuto con un lsusb.
> 
> ```
> ...

 

lsusb riconosce pure un tostapane se questi dichiara la sua identità, il problema sono i driver bioapi che poi nn sanno pilotarlo  :Wink:  cmq nel weekend ci smanetterò ancora un po', di sicuro quando (se) ci sarà qsa di definitivo documenteremo il tutto   :Cool: 

edit: da quel che vedo in una rapida ricerca, il nostro lettore è simile ma non del tutto uguale, temo ci sarà un po' da attendere, anche se il fatto che sia cmq tra quelli più utilizzati lascia ben sperare  :Smile: 

----------

## fbcyborg

Io sono ottimista, c'è solo da adattare bene quel wiki che ho segnalato, al nostro notebook.

Io onestamente ora non ho moltissimo tempo, ma appena ci smanetto anche io un po' vi faccio sapere.

Ma voi avete capito perché dice di creare il file /etc/pam.d/bioapi? ma a cosa serve poi? Non capisco come viene usato e se viene usato.

----------

## Scen

 *fbcyborg wrote:*   

> Ma voi avete capito perché dice di creare il file /etc/pam.d/bioapi? ma a cosa serve poi? Non capisco come viene usato e se viene usato.

 

PAM è un insieme di moduli per gestire le varie autenticazioni nel sistema, per cui, oltre ad utilizzare i vari /etc/passwd /etc/shadow ecc. . è possibile sfruttare altre fonti di autenticazione.

Per esempio, volendo utilizzare LDAP, oltre ad installare i pacchetti necessari, bisogna configurare PAM per far "passare" le autenticazioni tramite le interrogiazioni al db LDAP.

Nel caso del tuo fingerprint bisogna dire al sistema che l'autenticazione deve passare attraverso l'interrogazione di quel dispositivo, per cui bisogna scrivere le regole nel file /etc/pam.d/bioapi e dire al sistema di autenticare tramite bioapi.

Ho dato un'occhiata all'howto che hai linkato, e in /etc/pam.d/bioapi dicono di scrivere questo:

```

auth       required     pam_env.so

auth       sufficient   pam_unix.so likeauth nullok

auth       sufficient   pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/

auth       required     pam_deny.so

account    required     pam_unix.so

session    required     pam_limits.so

session    required     pam_unix.so

```

----------

## flocchini

 *fbcyborg wrote:*   

> Io sono ottimista, c'è solo da adattare bene quel wiki che ho segnalato, al nostro notebook.

 

c'è poco da adattare, se lanci /opt/bioapi/bin/QSample e scegli il touchchip crasha... Non è supportato il device   :Sad:   Tant'e' vero che se configuri tutto con il device dummy (che chiede una password e basta, quindi utile solo x debug ma si autentica attraverso bioapi) funziona regolarmente da console, da kdm non so xkè ovviamente per ora nn vale la pena perderci tempo

----------

## fbcyborg

 *flocchini wrote:*   

> c'è poco da adattare, se lanci /opt/bioapi/bin/QSample e scegli il touchchip crasha... Non è supportato il device    Tant'e' vero che se configuri tutto con il device dummy (che chiede una password e basta, quindi utile solo x debug ma si autentica attraverso bioapi) funziona regolarmente da console, da kdm non so xkè ovviamente per ora nn vale la pena perderci tempo

 

Hai ragione su entrambe le cose... Crasha e forse per ora non vale la pena perderci tempo...

Il messaggio che appare quando seleziono il chip è:

BioAPI Error

BioAPI Error Code: 0x194d

(che sòla!)  :Neutral: 

----------

## LastHope

Ciao,

ma nella guida citata da te c'è proprio indicato quell'errore (almeno, se lanci il programma Sample):

 *Quote:*   

> 
> 
> Testing the driver and enrolling a fingerprint
> 
> ...
> ...

 

Oppure sei a un altro passaggio?

Ciao a tutti

LastHope

Edit: ho letto ora che sei dopo...ma questo test del driver l'avevi fatto?

----------

## fbcyborg

Ciao, 

il fatto è che l'ho saltato... Se non ho capito male, in quel caso avrei dovuto compilare bioapi o qualcos'altro a mano... Ma avendo utilizzato emerge, dovrei andare a trovare il sorgente e riemergere.. non so quanto potrei fare..

----------

## flocchini

io lo avevo fatto cn la precedente ver di bioapi, in quella attuale la stringa citata non esiste nemmeno più. Ovviamente nulla di risolto e attualmente anche io sono sempre fermo a quell'errore come tutti i possessori di vaio sz rintracciabili da google  :Laughing:   Cmq grazie x l'hint

edit @fbcyborg:

 *fbcyborg wrote:*   

> Ciao, 
> 
> il fatto è che l'ho saltato... Se non ho capito male, in quel caso avrei dovuto compilare bioapi o qualcos'altro a mano... Ma avendo utilizzato emerge, dovrei andare a trovare il sorgente e riemergere.. non so quanto potrei fare..

 

lanci l'emerge, appena ha finito di spacchettare dai un bel ctrl+z e lo mandi così in sleep. Tarocchi quello che devi taroccare e poi con "fg" riprendi   :Wink: 

----------

## fbcyborg

Ho provato a fare come dici ma non trovo alcun main.c nel tarball scompattato nella dir temporanea.

----------

