// ReadMe file for SCMCCID driver

Required Packages : pcsc daemon 
		    libusb library

Installation Procedure:

Step 1: Install pcsclite. The latest version of pcsclite is available at
	http://pcsclite.alioth.debian.org/

Step 2: Install libusb library. The latest version of libusb is available at
	http://libusb.sourceforge.net/download.html#stable

Step 3: Extract the tar archive and run the ./install script that comes with this package
	This will copy the following files
	1. Driver bundle to pcsclite usb drop directory
	2. scmccid.ini file to /usr/local/scm/ini

Step 4: This step is optional

a) To force F and D value externally, modify the file "scmccid.ini" file under the
directory "/usr/local/scm/ini/" and update the values. The following is an example. Lines starting
with ";"  are ignored.

FValue=1
DValue=8

b)Maximum buffer size of the command/APDU handled by driver from application is 128Kbytes. 
This is configurable by the following entry in the ini file.

BufferSize=131072

c) Feature to override default card ATR is added from this driver
version. For example, to replace a particular ATR, add a line as below,
in the ini file.

3b021122=3b03112233

where the LValue is the ATR to be replaced and the RValue is the ATR to
replace it with.

d) For SDI010 smart card readers with firmware V7.06 and later, the number of contactless slots
can be configured using the "NumOfPDO" entry in the ini file.

(eg) NumOfPDO=2  will expose 2 Contactless slots.

e) For SCR3310V2 readers, the Card Reset Order can be used to change the smart 
card power-on sequence i.e. it shall direct the reader to start the card reset 
by applying by .Class A. voltage first and then retry sequentially with the 
other classes or vice versa.

CardResetOrder=1

It can take the following options
	0 - It starts with Class C voltage
	1 - It starts with Class A voltage

f) For SCR3310V2 readers, the ATR timeout value can be specified (in milliseconds)
with the following INI option

ATRTimeout=100


Step 5: Restart the pcsclite daemon.

Notes:
In cases where there are multiple version of the pcsclite library is present,
the daemon may get linked with the wrong library, based on the library path
settings in the user system. In that case, to link the correct library with
the pcscd as well as utilites using the library, it is advised to use the
LD_LIBRARY_PATH variable to specify the correct path. 

The exact libraries that are getting linked with the a particular
application/utility can be found be executing the "ldd" command. For ex, to
find the libraries that are linked with pcscd in /usr/local/sbin, type as below

ldd /usr/local/sbin/pcscd

To make the utility load the needed library, use LD_LIBRARY_PATH. For ex, to 
launch pcscd with the library present in /usr/local/lib, the 
following command needs to be run from the command line

LD_LIBRARY_PATH=/usr/local/lib pcscd

This links the pcscd with the library present in /usr/local/lib overriding any
other library files present in other directories.


