# BioAPI error code: 0x194d

## n3bul4

Hello guys,

I am trying to get my fingerprintreader to work.

When I try to run QSample to enroll a fingerprint it tells me: BioAPI error code: 0x194d

I am using gentoo with kernel 2.6.17.6

my udev rules for usbfs : #Permissions for the Biometrics

                                     SUBSYSTEM=="usb_device", MODE="0660", GROUP="usb"

So I don't think it is a permission problem.

My Fingerprintreader is a: Bus 005 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Any suggestions?

best regards.....

----------

## allexey1985

Hello, I have a same fingerprint scanner on Sony Vaio laptop, and same error here   :Sad: 

Maybe this is problem of the tfm-fingerprint?

----------

## n3bul4

Hmm I see....I have a Sony Vaio too (VGN-B197XP).....

I tried the thinkfinger.c proggy from Pavel Machek

When I start it it tells me the following in /var/log/messages:

usbfs: process 21739 (thinkfinger) did not claim interface 0 before use

Does anybody know what this means?

regards.....

----------

## Drone1

I have this reader working on my T60P.

Look here, here, and here for some more insight.

What it FINALLY came down to for me, was 'user' access permissions. I discovered this by running strace on the program.

I ask this. Do you get the same outcome running 'QSample' as root, as you do as user??? If it is successful under root, and you create the 'biometric identifier file 'root.bir' in /pwd, then its probably a permissions issue, which is identifiable with 'strace'.

Best of luck!

----------

## n3bul4

Hmm same problem when I start QSample as root.....

I already did an strace but I had no permission problems.....

I get some "Resource temporarily unavailable" errors.....

----------

## allexey1985

I used strace with QSample, /dev/bus/usb/005/002 - is fingerprint sensor.

And I found such errors:

```
open("/dev/bus/usb/005/002", O_RDWR)    = 21

ioctl(21, USBDEVFS_IOCTL, 0xafebc7a0)   = -1 ENOTTY (Inappropriate ioctl for device)

close(21)                               = 0

open("/dev/bus/usb/005/002", O_RDWR)    = 21

ioctl(21, USBDEVFS_SETCONFIGURATION, 0xafebc804) = 0

ioctl(21, USBDEVFS_CLAIMINTERFACE, 0xafebc804) = 0

nanosleep({0, 10000000}, NULL)          = 0

ioctl(21, USBDEVFS_CONTROL, 0xafebc7d0) = 1

gettimeofday({1161689208, 364712}, NULL) = 0

ioctl(21, USBDEVFS_SUBMITURB, 0xafebbf54) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbf98) = -1 EAGAIN (Resource temporarily unavailable)

select(22, NULL, [21], NULL, {0, 1000}) = 1 (out [21], left {0, 1000})

gettimeofday({1161689208, 365696}, NULL) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbf98) = 0

nanosleep({0, 10000000}, NULL)          = 0

gettimeofday({1161689208, 378905}, NULL) = 0

ioctl(21, USBDEVFS_SUBMITURB, 0xafebbf64) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbfa8) = -1 EAGAIN (Resource temporarily unavailable)

select(22, NULL, [21], NULL, {0, 1000}) = 1 (out [21], left {0, 1000})

gettimeofday({1161689208, 380700}, NULL) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbfa8) = 0

gettimeofday({1161689208, 380787}, NULL) = 0

ioctl(21, USBDEVFS_SUBMITURB, 0xafebbf54) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbf98) = -1 EAGAIN (Resource temporarily unavailable)

select(22, NULL, [21], NULL, {0, 1000}) = 1 (out [21], left {0, 1000})

gettimeofday({1161689208, 381686}, NULL) = 0

ioctl(21, USBDEVFS_REAPURBNDELAY, 0xafebbf98) = 0

```

Maybe this is problem with device, not with software?

----------

## n3bul4

Same errors here when I do the strace....

Anybody know what the ioctl error means?

I would guess that this is maybe a driver problem, and

maybe therefor the error "Resource temporarily unavailable" arises.....hmmmm

@Drone1: Maybe you could post your lsusb -v output, because you said you have the same fingerprintreader....

maybe there is a sligth difference.....

Here is mine:

```

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

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0         8

  idVendor           0x0483 SGS Thomson Microelectronics

  idProduct          0x2016 Fingerprint Reader

  bcdDevice            0.01

  iManufacturer           1 STMicroelectronics

  iProduct                2 Biometric Coprocessor

  iSerial                 0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           39

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xa0

      Remote Wakeup

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0

      bInterfaceProtocol      0

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0004  1x 4 bytes

        bInterval              20

```

----------

## Drone1

Per request.

```

Bus 005 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0         8

  idVendor           0x0483 SGS Thomson Microelectronics

  idProduct          0x2016 Fingerprint Reader

  bcdDevice            0.01

  iManufacturer           1 STMicroelectronics

  iProduct                2 Biometric Coprocessor

  iSerial                 0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           39

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xa0

      Remote Wakeup

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0

      bInterfaceProtocol      0

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0004  1x 4 bytes

        bInterval              20
```

Did bioapi, pam_bioapi, and tfm-fingerprint emerge clean ??

----------

## allexey1985

All emerges clean.

----------

## n3bul4

Thank you very much for the strace output.....

looks like the same.....strange......

bioapi, pam_bioapi, and tfm-fingerprint emerged clean.....

Does anybody actually know what this error means? (BioAPI Error Code: 0x194d)

Witch kernel are you using?

Mine is: 2.6.17.6 vanilla (I am not using usb as modules...I built them into kernel.......)

regards......

----------

## n3bul4

Hello, 

I found the meaning of the Error code:

BioAPIERR_TFMESS_PT_FUNCTION_FAILED = 0x194D (Meaning = Function failed)

I found this in the "Touch Chip TFM/ESS Fingerprint BSP for Linux Specification"

So it looks like some function fails in the TFM stuff....  :Sad: 

regards.....

----------

## Drone1

Here is some USB info on my system. I'm running kernel 2.6.17.9.

```
shadow ~ $ cat /usr/src/linux/.config |grep USB |grep -v '#'

CONFIG_BT_HCIUSB=m

CONFIG_BT_HCIBFUSB=m

CONFIG_SND_USB_AUDIO=m

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=m

CONFIG_USB_DEVICEFS=y

CONFIG_USB_BANDWIDTH=y

CONFIG_USB_EHCI_HCD=m

CONFIG_USB_EHCI_SPLIT_ISO=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_UHCI_HCD=m

CONFIG_USB_PRINTER=m

CONFIG_USB_STORAGE=m

CONFIG_USB_LIBUSUAL=y

CONFIG_USB_HID=m

CONFIG_USB_HIDINPUT=y

CONFIG_USB_HIDDEV=y

CONFIG_USB_SERIAL=m

CONFIG_USB_SERIAL_VISOR=m

shadow ~ $ lsmod

Module                  Size  Used by

snd_pcm_oss            32256  0

snd_mixer_oss          14720  1 snd_pcm_oss

snd_hda_intel          14484  3

snd_hda_codec         125872  1 snd_hda_intel

snd_pcm                60676  4 snd_pcm_oss,snd_hda_intel,snd_hda_codec

snd_page_alloc          7944  2 snd_hda_intel,snd_pcm

ipw3945               103072  1

ieee80211              26824  1 ipw3945

ieee80211_crypt         5632  1 ieee80211

fglrx                 388044  8

ati_agp                 7180  0

agpgart                26312  1 ati_agp

smapi                   4484  0

thinkpad                5764  1 smapi

hdaps                  10304  0

tp_smapi               18320  0

thinkpad_ec             7056  2 hdaps,tp_smapi

bcm203x                 5380  0

hci_usb                11028  6

uhci_hcd               18956  0

i2c_i801                8076  0

ehci_hcd               26504  0

usbcore                98432  5 bcm203x,hci_usb,uhci_hcd,ehci_hcd
```

Disregard non-relevant modules. You may want to try and modularize a few things. Helps with USB device troubleshooting IMO.

----------

## n3bul4

```
Sigma bioapi # grep USB /usr/src/linux/.config | grep -v '#'

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

```

Am I missing something?

I will try to rebuild my kernel with the same settings

maybe it works then.....

regards....

----------

## bushvin

Mind if I join in here?

I have a Toshiba Portege M400

with exactly the same Fingerprint reader. and with exactly the same error coming up.

thinkwiki mentioned uncommenting a line in main.c, which I gave a try, but it didn't work out.

this is my config...

lsusb

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

lsusb -v

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

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0         8

  idVendor           0x0483 SGS Thomson Microelectronics

  idProduct          0x2016 Fingerprint Reader

  bcdDevice            0.01

  iManufacturer           1 STMicroelectronics

  iProduct                2 Biometric Coprocessor

  iSerial                 0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           39

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xa0

      Remote Wakeup

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0

      bInterfaceProtocol      0

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0004  1x 4 bytes

        bInterval              20
```

kernel

```
vader ~ # grep USB /usr/src/linux/.config | grep -v '#'

CONFIG_BT_HCIUSB=m

CONFIG_BT_HCIUSB_SCO=y

CONFIG_BT_HCIBFUSB=m

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

CONFIG_USB_WACOM=m

CONFIG_USB_EGALAX=m

CONFIG_USB_MON=y

CONFIG_USB_CYTHERM=m

CONFIG_USB_PHIDGETSERVO=m

```

----------

## gdoubleu

Same error on a thinkpad t60 here.  Anyone found the solution for this error yet?

----------

## rolypoly

I have the same problem here on a Toshiba Satellite P100  :Sad: 

lspci -v info is the same as above, so no point including it here again.

----------

## Drone1

What  are the permissions set on the following directories and subdirectories? 

/dev/bus/usb/*

/proc/bus/usb*

As root and user, someone 'strace QSample' to a file, and put a link to that file somewhere on the web. Or, paste what errors you identify in that log. **Note, you may miss something others may not.**

----------

## rolypoly

```
roly@speedy ~ $ ls -l /dev/bus/usb

total 0

drwxr-xr-x 2 root root 60 Nov 29  2006 001

drwxr-xr-x 2 root root 60 Nov 29  2006 002

drwxr-xr-x 2 root root 80 Nov 29  2006 003

drwxr-xr-x 2 root root 80 Nov 29  2006 004

drwxr-xr-x 2 root root 60 Nov 29  2006 005

roly@speedy ~ $ ls -l /proc/bus/usb

total 0

dr-xr-xr-x 2 root root 0 Nov 29  2006 001

dr-xr-xr-x 2 root root 0 Nov 29  2006 002

dr-xr-xr-x 2 root root 0 Nov 29  2006 003

dr-xr-xr-x 2 root root 0 Nov 29  2006 004

dr-xr-xr-x 2 root root 0 Nov 29  2006 005

-r--r--r-- 1 root root 0 Nov 29  2006 devices
```

----------

## rolypoly

Here is a link to the output from strace.

```
http://homepages.ihug.co.nz/~rolypoly/strace-qsample.txt
```

Here is the command line I used to start QSample with strace:

```
speedy bin # strace -o /root/strace-qsample.txt /opt/bioapi/bin/QSample
```

Even though everything from strace should have gone to a file, I still got the following line out...

```
QPixmap::fromMimeSource: Cannot find pixmap "icon.png" in the mime source factory
```

Once QSample was running, I selected TouchChip TFM/ESS Fingerprint BSP from the dropdown list, which generated the API error message, then clicked ok on the error message to close it, then clicked OK on QSample to close it.

Hope this helps  :Smile: 

----------

## Drone1

2 Things.

Do you have libusb emerged ?

--Description:         Userspace access to USB devices

Check the /proc permissions on your specific USB ID for your device. Example mine is 

```

Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics
```

with

```
ls -al /proc/bus/usb/004/*

-rw-rw-r-- 1 root usb  43 Nov 23 19:29 /proc/bus/usb/004/001

-rw-rw-r-- 1 root usb 234 Nov 23 19:29 /proc/bus/usb/004/002

-rw-rw-r-- 1 root usb  57 Nov 23 19:29 /proc/bus/usb/004/003
```

write access for the USB group, which 'user' is a part of.

From your 'strace-qsample.txt' ...

```
ioctl(17, USBDEVFS_REAPURBNDELAY, 0xbfcf93c8) = -1 EAGAIN (Resource temporarily unavailable)

```

is a consdequence of (maybe) 

```
ioctl(17, USBDEVFS_IOCTL, 0xbfcf9bd0)   = -1 ENOTTY (Inappropriate ioctl for device)
```

From the 'man ioctl':

```

ENOTTY

    d is not associated with a character special device. 

ENOTTY

    The specified request does not apply to the kind of object that the descriptor d references.
```

I'm betting on 'libusb' isn't installed and thus your 'user' isn't calling the USB device correctly. Or your system hasn't identified the USB device 'correctly' and set appropriate 'user' access (udev ?).

If thats not the case, then I'm at a loss. Sorry, my kung-fu is limited.  :Sad: 

----------

## rolypoly

```
speedy bin # emerge -s libusb

Searching...

[ Results for search key : libusb ]

[ Applications found : 1 ]

*  dev-libs/libusb

      Latest version available: 0.1.12

      Latest version installed: 0.1.12

      Size of files: 380 kB

      Homepage:      http://libusb.sourceforge.net/

      Description:   Userspace access to USB devices

      License:       LGPL-2

```

Bugger  :Sad: 

----------

## rolypoly

Also, the permissions for the device are the same as yours.

```
speedy bin # lsusb

Bus 003 Device 002: ID 045e:0084 Microsoft Corp.

Bus 003 Device 001: ID 0000:0000

Bus 002 Device 001: ID 0000:0000

Bus 005 Device 001: ID 0000:0000

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

Bus 004 Device 001: ID 0000:0000

Bus 001 Device 001: ID 0000:0000

speedy bin # ls -al /proc/bus/usb/004/*

-rw-rw-r-- 1 root usb 43 Nov 29  2006 /proc/bus/usb/004/001

-rw-rw-r-- 1 root usb 57 Nov 29  2006 /proc/bus/usb/004/002

```

Thanks for looking at this anyway  :Smile: 

----------

## Whoopie

Hi,

FYI, some Sony laptops (and maybe other laptops from other vendors) have a fingerprint reader which is not supported by the UPEK driver. The reason is that they don't have a hardware processor like the ones in the ThinkPads.

This was reported by someone in IRC #linuxbiometrics on irc.freenode.net.

Best regards,

Whoopie

----------

## echo6

I have a Toshiba Satellite U205 with the same finger printer reader.

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

  idProduct          0x2016 Fingerprint Reader
```

and the same error.

Is there any way of getting this to work?

----------

## Drone1

No other fixes or howto's I can add for now, however take a look at this. Its an alternate to the bioapi & tfm ..

This is a video to where I first hearsd about it. And this is the link to the sourceforge project. The Utility is call 'Thinkfinger' and is designed for use with Thinkpads(of course). 

Since I have my scanner working, I'll again look through my Thinkpad config of bioapi/tfm, and back through this thread to see if there is anything I or anyone haved missed.

----------

## Drone1

Thought I'd add one last dump of what my system settings/config are for bioapi. As pam_bioapi has recently been updated, I will be upgrading shortly to keep up to date. Hopefully some of you have updated and it has fixed some of your issues

The following is a 'locate bioapi' minus non crucial stuff like '/usr/portage, /var/db, /var/cache/, /usr/share/doc, and /usr/local/portage'. You should be able to extract as needed, any file permissions, contents, or config required to get the scanner working. I don't believe I've missed anything but then again, its been 6 months since first setting it up.

```

=(root@shadow)-(3/3/pts)-(11:19:16:02/28/07)--

-=(#:/opt)=- ls -al bioapi                                                                                                                                   (ok-Root-zsh)

total 8

drwxrwxrwx  4 root usb    30 Sep  1 08:26 .

drwxrwxr-x 19 root root 4096 Feb 26 12:10 ..

drwxrwxrwx  2 root usb   100 Sep 12 09:48 bin

drwxrwxrwx  2 root usb  4096 Sep  1 08:26 include

-=(root@shadow)-(4/4/pts)-(11:19:26:02/28/07)--

-=(#:/opt)=- ls -al bioapi/bin                                                                                                                               (ok-Root-zsh)

total 272

drwxrwxrwx 2 root usb    100 Sep 12 09:48 .

drwxrwxrwx 4 root usb     30 Sep  1 08:26 ..

-rwxrwxrwx 1 root usb   4612 Sep  1 08:26 BioAPITest

-rwxrwxrwx 1 root usb 166348 Sep  1 08:26 MdsEdit

-rwxrwxrwx 1 root usb  37932 Sep  1 08:26 QSample

-rwxrwxrwx 1 root usb   8188 Sep  1 08:26 Sample

-rwxrwxrwx 1 root usb  23184 Sep  1 08:26 mds_install

-rwxrwxrwx 1 root usb  25680 Sep  1 08:26 mod_install

-=(root@shadow)-(5/5/pts)-(11:19:30:02/28/07)--

-=(#:/opt)=- ls -al bioapi/include                                                                                                                           (ok-Root-zsh)

total 256

drwxrwxrwx 2 root usb   4096 Sep  1 08:26 .

drwxrwxrwx 4 root usb     30 Sep  1 08:26 ..

-rw-rw-rw- 1 root usb    335 Sep  1 08:26 bioapi.h

-rw-rw-rw- 1 root usb   8327 Sep  1 08:26 bioapi_api.h

-rw-rw-rw- 1 root usb  12363 Sep  1 08:26 bioapi_err.h

-rw-rw-rw- 1 root usb  21879 Sep  1 08:26 bioapi_schema.h

-rw-rw-rw- 1 root usb   8325 Sep  1 08:26 bioapi_spi.h

-rw-rw-rw- 1 root usb  17238 Sep  1 08:26 bioapi_type.h

-rw-rw-rw- 1 root usb   9033 Sep  1 08:26 bioapi_typecast.h

-rw-rw-rw- 1 root usb   6186 Sep  1 08:26 bioapi_util.h

-rw-rw-rw- 1 root usb   3610 Sep  1 08:26 bioapi_uuid.h

-rw-rw-rw- 1 root usb    259 Sep  1 08:26 biospi.h

-rw-rw-rw- 1 root usb   2725 Sep  1 08:26 biospi_type.h

-rw-rw-rw- 1 root usb   5114 Sep  1 08:26 bsp_schema.h

-rw-rw-rw- 1 root usb 120804 Sep  1 08:26 cssmtype.h

-rw-rw-rw- 1 root usb   1348 Sep  1 08:26 installdefs.h

-=(root@shadow)-(6/6/pts)-(11:19:32:02/28/07)--

-=(#:/opt)=- cd /lib/security                                                                                                                                (ok-Root-zsh)

-=(root@shadow)-(7/7/pts)-(11:19:56:02/28/07)--

-=(#:/lib/security)=- ls -al pam_bioapi.*                                                                                                                    (ok-Root-zsh)

-rw-r--r-- 1 root root  1042 Feb 19 16:11 pam_bioapi.la

lrwxrwxrwx 1 root root    19 Sep  1 08:27 pam_bioapi.so -> pam_bioapi.so.0.0.0

lrwxrwxrwx 1 root root    19 Sep  1 08:27 pam_bioapi.so.0 -> pam_bioapi.so.0.0.0

-rwxr-xr-x 1 root root 10128 Sep  1 08:27 pam_bioapi.so.0.0.0

-=(root@shadow)-(8/8/pts)-(11:20:01:02/28/07)--

-=(#:/lib/security)=- cd /var/bioapi                                                                                                                         (ok-Root-zsh)

-=(root@shadow)-(9/9/pts)-(11:20:09:02/28/07)--

-=(#:/var/bioapi)=- ls -al                                                                                                                                   (ok-Root-zsh)

total 4

drwxrwxrwx  4 root bioapi   38 Sep  1 08:26 .

drwxr-xr-x 13 root root    138 Sep  1 08:26 ..

drwxrwxrwx  2 root bioapi 4096 Sep  1 08:26 BioAPIFFDB

drwxrwxrwx  3 root bioapi   31 Sep  1 08:26 registry

-=(root@shadow)-(10/10/pts)-(11:20:15:02/28/07)--

-=(#:/var/bioapi)=- ls -al BioAPIFFDB                                                                                                                        (ok-Root-zsh)

total 44

drwxrwxrwx 2 root bioapi 4096 Sep  1 08:26 .

drwxrwxrwx 4 root bioapi   38 Sep  1 08:26 ..

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000000.data.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000000.freelist.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000000.index.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000001.data.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000001.freelist.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000001.index.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000002.data.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000002.freelist.ffdb

-rwxrwxrwx 1 root bioapi 4096 Sep  1 08:26 BioAPIMDSDirectory.80000002.index.ffdb

-rwxrwxrwx 1 root bioapi 2400 Sep  1 08:26 BioAPIMDSDirectory.schema.ffdb

-=(root@shadow)-(11/11/pts)-(11:20:18:02/28/07)--

-=(#:/var/bioapi)=- cd /etc/env.d                                                                                                                            (ok-Root-zsh)

-=(root@shadow)-(12/12/pts)-(11:20:26:02/28/07)--

-=(#:/etc/env.d)=- ls -al 20bioapi                                                                                                                           (ok-Root-zsh)

-rw-r--r-- 1 root root 46 Sep  1 08:26 20bioapi

-=(root@shadow)-(13/13/pts)-(11:20:31:02/28/07)--

-=(#:/etc/env.d)=- cat 20bioapi                                                                                                                              (ok-Root-zsh)

PATH=/opt/bioapi/bin

ROOTPATH=/opt/bioapi/bin

-=(root@shadow)-(14/14/pts)-(11:20:33:02/28/07)--

-=(#:/etc/env.d)=- cd ../pam.d                                                                                                                               (ok-Root-zsh)

-=(root@shadow)-(15/15/pts)-(11:21:23:02/28/07)--

-=(#:/etc/pam.d)=- ls -al bioapi system-auth                                                                                                                 (ok-Root-zsh)

-rw-r--r-- 1 root root 298 Sep  1 08:33 bioapi

-rw-r--r-- 1 root root 629 Feb  6 19:35 system-auth

-=(root@shadow)-(16/16/pts)-(11:22:04:02/28/07)--

-=(#:/etc/pam.d)=- cat bioapi                                                                                                                                (ok-Root-zsh)

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_unix.so

session required pam_limits.so

session required pam_unix.so

-=(root@shadow)-(17/17/pts)-(11:22:07:02/28/07)--

-=(#:/etc/pam.d)=- cat system-auth                                                                                                                           (ok-Root-zsh)

#%PAM-1.0

account    required     pam_unix.so

#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

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

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

password   sufficient   pam_unix.so nullok md5 shadow use_authtok

password   required     pam_deny.so

auth       required     pam_unix.so nullok_secure

session    required     pam_limits.so

session    required     pam_unix.so

-=(root@shadow)-(18/18/pts)-(11:22:09:02/28/07)--

-=(#:/etc/pam.d)=- cat kde                                                                                                                                   (ok-Root-zsh)

#%PAM-1.0

auth       include      system-auth

auth       required     pam_nologin.so

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

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

account    include      system-auth

password   include      system-auth

session    include      system-auth

-=(root@shadow)-(19/19/pts)-(11:22:56:02/28/07)--

-=(#:/etc/pam.d)=- cd ../bioapi                                                                                                                              (ok-Root-zsh)

-=(root@shadow)-(20/20/pts)-(11:25:33:02/28/07)--

-=(#:/etc/bioapi)=- ls -al                                                                                                                                   (ok-Root-zsh)

total 12

drwxr-xr-x  3 root root   16 Sep  4 10:55 .

drwxr-xr-x 77 root root 8192 Feb 28 11:25 ..

drwxr-xr-x  3 root root   51 Sep  4 10:55 pam

-=(root@shadow)-(21/21/pts)-(11:25:34:02/28/07)--

-=(#:/etc/bioapi)=- cd pam                                                                                                                                   (ok-Root-zsh)

-=(root@shadow)-(22/22/pts)-(11:25:38:02/28/07)--

-=(#:/etc/bioapi/pam)=- ls -al                                                                                                                               (ok-Root-zsh)

total 0

drwxr-xr-x 3 root root 51 Sep  4 10:55 .

drwxr-xr-x 3 root root 16 Sep  4 10:55 ..

drwxr-xr-x 2 root root 36 Nov 22 18:47 {5550454b-2054-464d-2f45-535320425350}

-=(root@shadow)-(23/23/pts)-(11:25:39:02/28/07)--

-=(#:/etc/bioapi/pam)=- cd \{5550454b-2054-464d-2f45-535320425350\}                                                                                          (ok-Root-zsh)

-=(root@shadow)-(24/24/pts)-(11:25:41:02/28/07)--

-=(#:/etc/bioapi/pam/{5550454b-2054-464d-2f45-535320425350})=- ls -al                                                                                        (ok-Root-zsh)

total 8

drwxr-xr-x 2 root root  36 Nov 22 18:47 .

drwxr-xr-x 3 root root  51 Sep  4 10:55 ..

-rw-r--r-- 1 root root 180 Sep 18 22:20 user.bir

-rw------- 1 root root 272 Nov 22 18:47 root.bir

-=(root@shadow)-(25/25/pts)-(11:26:02:02/28/07)--

-=(#:/etc/bioapi/pam/{5550454b-2054-464d-2f45-535320425350})=- cd /usr/bin                                                                                   (ok-Root-zsh)

-=(root@shadow)-(26/26/pts)-(11:26:18:02/28/07)--

-=(#:/usr/bin)=- ls -al test_verify-pam_bioapi                                                                                                               (ok-Root-zsh)

-rwxr-xr-x 1 root root 5316 Sep  1 08:27 test_verify-pam_bioapi

-=(root@shadow)-(27/27/pts)-(11:26:51:02/28/07)--

-=(#:/usr/bin)=- ls -al test_enroll-pam_bioapi                                                                                                               (ok-Root-zsh)

-rwxr-xr-x 1 root root 4148 Sep  1 08:27 test_enroll-pam_bioapi

-=(root@shadow)-(28/28/pts)-(11:27:00:02/28/07)--

-=(#:/usr/bin)=- cd /etc                                                                                                                                     (ok-Root-zsh)

-=(root@shadow)-(29/29/pts)-(11:27:49:02/28/07)--

-=(#:/etc)=- grep bioapi group                                                                                                                               (ok-Root-zsh)

bioapi:x:443:user

-=(root@shadow)-(30/30/pts)-(11:27:57:02/28/07)--

-=(#:/etc)=- cat tfmessbsp.cfg                                                                                                                               (ok-Root-zsh)

security-level="3"

#hide-capture-success="0"

hide-capture-success="0"

-=(root@shadow)-(31/31/pts)-(11:47:42:02/28/07)--

-=(#:/etc)=- grep usb group                                                                                                                                   (2-Root-zsh)

usb::85:haldaemon,user

-=(root@shadow)-(32/32/pts)-(11:47:45:02/28/07)--

-=(#:/etc)=-
```

Hope this helps.

----------

## rapiddemon

I own a Sony Vaio TXN25N/B and am experiencing the same problem.  Has any progress been made or is my fingerprint reader essentially useless?

----------

## echo6

I have mine working now http://en.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger emerge sys-auth/thinkfinger-0.3

However,  it doesn't work with kdm atm due to a bug in kdm!

----------

## SilverDirk

Well, looks like sony was either being paranoid or anal.  Assuming that the card reader is the same for all their laptops, here's the reason we can't use thinkfinger:

http://avilella.googlepages.com/vaiosz

Basically, they have a magic key, sent from the software to the firmware, and without it the firmware rejects the request.  Sounds like the DVD game all over again.  Someone needs to either dig through the windows driver and find it, or sniff the USB data between the driver and the hardware.

I have no expertise at the first, and no clue how to do the second.  Anyone have suggestions?

----------

