GemCCID USB Smart card reader Version 4.1.1.5, September 2012 for Windows 2K to Win8 on x86 processors.


Caution:
--------
This readme file is specifically written for the above-mentioned 
driver version. Before proceeding, you might want to check whether a
later driver version is available from http://support.gemalto.com


Contents:
---------

   1. Release notes
   2. Pre-Requisites
   3. Disk Content
   4. Smart Card Interface driver use
   5. User notes (Known deviations)
   6. Troubleshooting
   7. Support


1. Release notes
----------------
4.1.1.5
Main slot buffer is no longer shared among slots, every slot has its own communication buffer.
Update card presence status from start device to avoid issues with stress test on HCK (previous release notifies a card absence if card is inserted when driver is loaded).
INF name algorithm present but commented (already in 4.1.1.4).

4.1.1.4
Force last chance3V power on attempt even if not listed from registry.
Prefer INF name if "Generic" pattern is not found (avoid changing name for legacy readers).
SimPro and ProxDU/SU readers added.

4.1.1.3
Fixed bug on XferBlockShort where caller length instead of internal buffer size was passed to USB.
Add consistency check in GetSupportedLanguageCodes against odd number of bytes returned.

4.1.1.2
Fixed bug on CCID abort test condition (m_bAborting).
Win8 logo requirements:
  - Added PnpLockDown directive in INF files.
  - Changed %10%\System32\Drivers to %12% in INF files.
IRP_MN_START_DEVICE now performed in a work item.
Fixed last caracter missing in PC/SC V2 TLVP_FIRMWARE_ID.
Some clean-up in debug traces.
Added instance number for traces.
Set default value for registry key PcscV2ReportFeaturesMask to 0x3FFFF to not crash GemPCSC by reporting unexpected tags.
Remove KeDbg dependencies.
Fixed a "bug" where ZLP is not requested by MS low USB level driver (response is a multiple of maximum packet size).

4.1.1.1
Added support for extended APDU (almost untested).
Fixed race condition on m_IdleIrp that could lead to a BSOD when device is removed and device suspended (rare).
Moved unitary read to USB class to accomodate possible bulk read USB packet size
IccPowerOnAtSelectedVoltage in GenericCCIDReader failed in case Pc_to_RDR_PowerOn returns success but ATR Length is 0.
Added SW1-SW2 for firewall command error in FIRMWARE_FEATURES structure.
CCIDAbort called when a stand by request is received while a SPE operation is performing.
Some clean-up.
Fixed bug on USB3.0 when a suspended device is unplugged; USB3.0 bus does not complete automatically the wake IRP making a driver unloaded with a pending IRP.

4.1.1.0
EPR23 patches removed.
Returns USB version release for GetReaderVersionMxxx requests.
Returns driver version in BuildNumber.
PURE_GetDriverVersion return type changed from PULONG to PUCHAR.
Fixes PCKey not using selective suspend due to no remote wake up support.
Some re-design in selective suspend / wake up capabilities and GUI interface.
Added PcscV2ReportFeaturesMask registry entry to limit PCSC V2 feature list to report to PC/SC applications.
Some improvement to dump/manage TLV features.
Fixed bug on SPE where a over estimated buffer size was passed to USB. This can make a BSOD sometimes (TV-Card) even if reader does not exceed real buffer size (seems that USB low-level uses this "extra memory").

4.1.0.9
Added StartBitTolerance patch for GemCore2010 EPR23 on ATR sequence.

4.1.0.8
Added StartBitTolerance patch for GemCore2010 EPR23 on T=0 and T=1 protocols.

4.1.0.7
Added Time-out on ClassSpecificRequests (in case firmware does not complete request).

4.1.0.6
Added variant for CCIDAbort to issue Bulk-OUT request before Control request.

4.1.0.5
Added SIM Pro reader (GemCore2010) and C2xx readers.
If Reader name from USB descriptor is more than MAXIMUM_ATTR_STRING_LENGTH (-3 for multi-slot), the INF name is used.

4.1.0.4
Buffer size for Bulk-IN requests set to maximum endpoint size to address Cxxx card no responding issue on SPE.
Removed support for communication to reader via SCartTransmit if no card inserted.

4.1.0.3
Fixed bug on APDU reader in T=1 SPE commands.

4.1.0.2
Communication to reader is now possible if no smart card is inserted. However, if the smart card is inserted again and the connection stil in use, the RM will be confused.
Removed test on APDU length (Le) for SPE feature as some smart card expect the PIN not padded by with variable length.

Version 4.1.0.0:
Fixed bug when a smart card insertion occurs during a SCardTransmit in APDU mode and card is initially absent. 

Version 4.0.9.9:
SCardTransmit allowed in APDU mode even if smart card is not present
Removed PC/SC V2 features GET_TLV_PROPERTIES and CCID_ESC_COMMAND because it crashes GemPC/SC

Version 4.0.9.8:
Fixed bug that could lead to a deadlock on Power IRP when a device activity happens between a SubmitIdleIRP and a IdleNotification
Fixed bug when device returns a 0 byte descriptor string.
Added MS CCID SCardControl(3500) feature in addition to IOCTL_VENDOR_IFD_EXCHANGE
Added PC/SC V2 features GET_TLV_PROPERTIES and CCID_ESC_COMMAND

Version 4.0.9.7:
Fixed a rarely bug when card inserted at start is not caught by SMCLIB.
If PowerOn fails, try 3V if not attempted before whatever VoltageSelection says (some FIPS cards fail 5V power on).

Version 4.0.9.6:
Correct management of auto PPS/parameters at APDU level
Driver limits power voltages to what hardware reports
SafeMode forces no PPS/parameters negotiation (except for specific mode)

Version 4.0.9.5:
Added APDU level mode compliance with IFDtest2 (WHQL).
For an APDU reader,RDR_ESCAPE_EXCHANGE_LEVEL command is not issued unless DriverMode=3 (EMV).
Added "SpeedMode" registry entry for GemCore2010 products.
Manufacturer and product names are retrieved through USB interface if exported.
Idle IRP cancelled if suspend did not occur or a new request comes.
Added Prox DU readers.
Added x00 (ex-todos) readers.
Removed H20 readers.
Added registry entry "AppearsInSafeRemovalList" to control reader appearance in safe removal tray.


Version 4.0.9.4:
PostATRDelayMs and PostPPSDelayMs added (set to 0).
Fixed possible PPS failure that notifies a card removal.

Version 4.0.9.3:
Hotfix to delay PPS by 250ms.

Version 4.0.9.2:
CCID abort implemented

Version 4.0.9.1:
Generic multi slot data rate issue fixed

Version 4.0.9.0:
Fixed a bug failing data rates CCID request on multiple interfaces

Version 4.0.8.9:
Added H20 readers

Version 4.0.8.0:
Fixed issue occuring while large T=1 communication occur while stand by is issued

Version 4.0.7.5:
New release including the GemDDK 4.0.7.5

Version 4.0.3.7:
New release including the GemDDK 4.0.3.7

Version 4.0.0.5:
New release including the GemDDK 4.0.0.5
Major updates : support of selective suspend and remote wake up.

Version 3.1.0.0:
   This is the initial driver version certified by Microsoft.
   It is specifically designed for the 
   GTwinPRO USB Smart card reader, 
   Vid=08E6 and PID=3437 with Gemcore Twin Pro chip set.


2. Pre-Requisites
-----------------

To be able to conduct the following actions, you need to have
Administrator privilege on the workstation.

In the rest of this file, we assume that you know how to start the
Device Manager. To do so:
   * Right-click on the "My Computer" desktop icon and pick the
     "Manage" item in the menu.
   * Select the "Device Manager" section by clicking on it.


3. Disk Content
---------------

The following components are included with this Disk:
   - Readme.txt			
     This file.
   - GemCCID.sys		V4.1.1.4
     PC/SC driver for USB CCID Smart Card Reader
   - GemCCID.inf		
     Installation file for Microsoft Wizard
   - GemCCID.cat
     Signature File from MS Windows Hardware Quality Labs


4. Smart Card Interface driver use
-----------------------------------

   4.1. Driver installation

      This USB device is Plug and play; you can plug it at any moment.

      4.1.1. Installation

         The first time the device is pluged, you will see a 
         "Found New Hardware Wizard" dialog box,

         Select "Install from a list or a specific location (Advanced)"
         then click <Next>

         Check the box "Include this location in the seach"
         Then click on <Browse> to the driver file location 
         (where you find this ReadMe.txt file) and click <OK>
         Click <NEXT>

         Then the computer installs the driver.
         Click <Finish> to close the Microsoft Device Driver Wizard.

 
      4.1.2. Check your installation


         Right-Click on "My Computer" icon on the desktop,
         Choose "Manage" and select the "Device Manager" section,
         Double-click on "Smart Card Readers" group,
         Double-click on "USB Smart card reader"
         Select the "Driver" tab
	 Check that the "Driver version" matches the one for this file.


   4.2. Driver update

      4.2.1. Update

         Right-Click on "My Computer" icon on the desktop,
         Choose "Manage" and select the "Device Manager" section,
         Double-click on "Smart Card Readers" group,
         Double-click on "USB Smart card reader"
         Select the "Driver" tab
         Click on <Update Driver>

         select "Install from a list or a specific location (Advanced)"
         then click <Next>

         Check the box "Include this location in the seach"
         Then click on <Browse> to the driver file location 
         (where you find this ReadMe.txt file) and click <OK>
         Then click <Next>

         Then the computer installs the driver.
         Click <Finish> to close the Microsoft Device Driver Wizard.

         The driver is now updated and you can close the the "USB
         Smart car reader" windows and "Computer Management"
         windows.


      4.2.2. Check your update

         Right-Click on "My Computer" icon on the desktop,
         Choose "manage" and select the "Device Manager" section,
         Double-click on "Smart Card Readers" group,
         Double-click on "USB Smart card reader"
         Select the "Driver" tab
	 Check that the "Driver version" matches the one for this file.


   4.3. Driver removal

      4.3.1. Remove

         Right-Click on "My Computer" icon on the desktop,
         Choose "Manage" and select the "Device Manager" section,
         Double-click on "Smart Card Readers" group,
         Double-click on "USB Smart card reader"
         Select the "Driver" tab
         Click on the <Uninstall> button.
         When prompted, confirm the operation by clicking <OK>
         When this operation is finished, just disconnect the device.


      4.3.2. Check the removal
         
         Right-Click on "My Computer" icon on the desktop,
         Choose "Manage" and select the "Device Manager" section,
         Either no more "SmartCardReader" group appears
            no more reader is available on the computer
         Or
            Double-click on "SmartCardReader" group,
            Verify that no "USB Smart card reader" appears any
            longer.

5 - User notes (known deviations)
---------------------------------

* If you change the USB port where the reader is connected, the system
  may ask to provide source disk again! This happens only if the first
  installation was done from a removal device like floppy disk or CD.
  To resolve this issue, just copy the file on your local disk.

* After a successful uninstall, if you plug again the device, the system
  keeps traces of previous installation.
  If you want to remove this behavior, you have to search in 
  "%WINDIR%\inf" directory the files that begin with oemXX.inf and 
  oemXX.pnf.
  Look for "USB Smart card reader" in one of those oemXX.inf.
  Then remove this file and the corresponding compiled oemxx.pnf.

6. Troubleshooting
-------------------

If the previously described procedure didn't succeed in installing or
updating the driver, please

1- To be usable, this installation requires that the Microsoft Smart Card
Manager is started.

Note: All Microsoft Smart Card Manager components are already
installed with Windows XP pro 64 bits.
DO NOT INSTALL THE SCBASE.EXE OR SMCLIB.EXE COMPONENTS even though
they might be part of this distribution.

To check the status of the Microsoft Smart Card Manager:
   * Right-Click on "My Computer" icon on the desktop,
   * Choose "Manage" and double-click on "Services and Applications"
   * Click on "Services".
   * Then, Double ckick on the "Smart Card" service listed on the right
     part of the Windows.
   * The service status should be "Started" and the StartUp Type should
     be "Automatic" 

If this is not the case,
   * Choose "Automatic" in the "Startup Type" drop-down list, then
   * Click on <Apply> button to start the service.

You can now close the Computer Management Console.

2- If the previously described procedure didn't succeed, please
   Open the Device Manager, 
   Double-click on the "Smart card readers" group and
   Check the state of the "USB Smart card reader".
   If a cross appears, or a Yellow bang "!", select the reader, 
   Click on property in the menu and 
   Check the box line "Disable in this material profile".
   Then contact the support.


7. Support
----------

In case of problem, please contact Gemplus through the Gemplus web site 
(http://support.gemalto.com/)


----------------------------------------------------------------------