INSTALLATION PROCEDURE
======================

Installation from source:
"""""""""""""""""""""""""

get the ccid-x.y.z.tar.gz archive and do:

$ tar xzvf ccid-x.y.z.tar.gz
$ cd ccid-x.y.z
$ ./configure
$ make
$ sudo make install

By default pcscd and my ccid driver use /usr/local/pcsc/drivers/ as
directory for hotplug drivers. The ./configure script try to get the
directory used by pcscd using 'pkg-config libpcsclite --variable=usbdropdir'
So you should not have to use the --enable-usbdropdir=DIR argument.


libusb not found
~~~~~~~~~~~~~~~~

If the ./configure script says something like:
  configure: error: usb.h not found, use --enable-libusb=PATH
You should use --enable-libusb=PATH to tell ./configure where to find
the usb.h and libusb.so files. The ./configure script will use
PATH/include/ to search for usb.h and PATH/lib/ to search for libusb.so


building serial reader driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A serial CCID reader can also be connected on a serial port. By default
the serial driver is not built. You must explicitely do:

$ ./configure --enable-twinserial
$ make
# make install


builing serial reader driver only
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It is possible to generate the driver for the GemPC Twin using serial
communication only (for example on an embedded system without USB).
Just do:
$ ./configure --enable-twinserial --disable-libusb
$ make
# make install

By default ./configure try to get the directory used by pcscd using
'pkg-config libpcsclite --variable=usbdropdir' and add '/serial'.
You should not have to use --enable-ccidtwindir=DIR to specify the
target directory to use. 


configuring the driver for the serial reader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You have to create or edit the file /etc/reader.conf. The file should
contain something like:

# Gemalto reader with serial communication
#  - n is the serial port to use n in [0..3]
#  - reader is the reader name. It is needed for multi-slot readers.
#    Possible reader values are: 
#     GemCorePOSPro
#     GemCoreSIMPro
#     GemCoreSIMPro2
#     GemPCPinPad
#     GemPCTwin (default value)
# example: /dev/ttyS0:GemPCPinPad
#DEVICENAME        /dev/ttySn[:reader]
#FRIENDLYNAME      "GemPCTwin serial"
#LIBPATH           /usr/lib/pcsc/drivers/serial/libccidtwin.so

FRIENDLYNAME      "GemPC Twin serial"
DEVICENAME        /dev/ttyS0
LIBPATH           /usr/lib/pcsc/drivers/serial/libccidtwin.so

You will have to adapt the library path to your configuration.

By default the GemPC Twin serial reader parameters are loaded by the
driver, if you use a GemPC PinPad, a GemCore POS Pro, a GemCore SIM
Pro or GemCore SIM Pro 2 (or IDBridge CR30) you have to indicate it in the
DEVICENAME field. Supported values are:
- GemCorePOSPro for GemCore POS Pro
- GemCoreSIMPro for GemCore SIM Pro
- GemCoreSIMPro2 for IDBridge CR30
- GemPCPinPad for GemPC PinPad
- GemPCTwin for GemPC Twin (default value)

You will then have something like:
DEVICENAME /dev/ttyS0:GemPCPinPad

/dev/ttyS0 (DEVICENAME field) is the first serial port under Linux
(known as COM1 under DOS/Windows). Of course if your reader is connected
to another serial port you have to adapt that.


Binary installation:
""""""""""""""""""""

Contact your distribution support.


Test procedure:
"""""""""""""""

- check the reader is supported by the driver.
  Get your reader USB identification using the lsusb(1) command:
  $ lsusb
  [...]
  Bus 001 Device 048: ID 08e6:4433 Gemplus

  Look for 08E6 (ifdVendorID) and 4433 (ifdProductID) in
  /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
  Of course your numbers will be different.

  If you can't find them add them (if you know what you do) and/or mail me.

- (re)start pcscd with debug on stdout. Simply do 'pcscd --debug stdout'
  (you will need to have root priviledges). And look for:
  [...]
  readerfactory.c:1319 RFInitializeReader: Attempting startup of ReaderName
  readerfactory.c:1061 RFBindFunctions: Loading IFD Handler 2.0
  ifdhandler.c:76 Entering IFDHCreateChannel (lun: 0)
  ccid_usb.c:131 Manufacturer: Ludovic Rousseau (ludovic.rousseau@free.fr)
  ccid_usb.c:139 ProductString: Generic CCID reader v0.1.0
  ccid_usb.c:143 Copyright: This driver is protected by terms of the GNU General Public License version 2, or (at your option) any later version.
  ccid_usb.c:223 Found Vendor/Product: 08E6/4433 (GemPC433 SL)
  ccid_usb.c:224 Using USB bus/device: 001/047

  If you don't see this the driver is not installed correctly or your
  reader is not yet supported. Read https://ccid.apdu.fr/#CCID_compliant
  to know what to do.
