CCID free software driver

This package provides the source code for a generic USB CCID (Chip/Smart Card Interface Devices) driver and ICCD (Integrated Circuit(s) Card Devices).

See the USB CCID and ICCD specifications from the USB working group.

Authors

The main author is Ludovic Rousseau <ludovic.rousseau@free.fr>.

I reused source code from other free software projects whose authors are:

Licence

  This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.

  This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA

Source download

30 April 2008, ccid-1.3.6, README.

You can also access the Subversion developement version. You may need to use the Subversion version to support the latest added readers.

Main CCID/ICCD features supported

CCID features not yet supported

Contact me if you want to see the support of the above not yet supported features and you have a budget.

Non CCID features that I do not plan to support

In fact I may implement one of these features if you have a budget.

Sending usefull logs

If you have a problem and want to get support from me you shall include the following information:

Versions

Log

Then you shall generate a complete log.

Supported CCID/ICCD readers

To know if a smart card reader is CCID compliant and should be supported by this driver but is not listed bellow

Just get the source code of this driver and do:

  tar xzvf ccid-x.y.z.tar.gz
  cd ccid-x.y.z
  ./configure
  make
  sudo ./src/parse > output

and send me the generated output file.

If you are a reader manufacturer and your reader is not listed here

then contact me.

List in alphabetical order

Should work but untested by me

I would like to get these readers to perform test and validation and move them in the supported list above. If you are one of the manufacturers, please, contact me.

Unsupported or partly supported CCID readers

Supported and unsupported operating systems

GNU/Linux

GNU/Linux using libusb 0.1.7 and later

Asynchronous card movement

To be able to use the asynchronous card movement notification (instead of active polling every 400ms) you need to use libusb > 0.1.12 (not yet available) or use this patch. See the discussion on the MUSCLE list.

Mac OS X

Leopard (10.5)

Mac OS X Leopard (10.5) is supported without patches. To build the driver you need to extract the archive and do:

  $ ./MacOSX/configure
  $ make
  $ sudo make install
	

NOTE: The execution of ./MacOSX/configure will fail if you have a space character in your current working directory pathname.

NOTE: Apple's version of pcsc-lite installed with Leopard has many bugs and problems. See LeopardBugs for a list of known bugs.

Tiger (10.4)

Mac OS X Tiger (10.4) uses an old pcsc-lite with some problems:

You can use this (now unmaintained) patch.

Solaris

The driver should work on Solaris.

I can't test is myself so patches are welcome if needed.

FreeBSD

This driver is known to NOT work on FreeBSD. I don't know why and patches are welcome.

Other operating systems

It may or may not work.

Known problems

MacOSX libusb

There is a bug in MacOSX libusb that crash the libusb library when you unplug a reader and replug it in another USB socket. So if you unplug a reader replug it in the same USB socket.

see my bug report.

Gemalto drivers

Gemalto provides its own CCID driver for its CCID readers. The driver is available from Gemalto support page. This driver is based on my own CCID driver. AFAIK it is just an older version with a different version number. For example the Gemalto driver version 1.2.4 is equivalent to subversion revision 1862 from 2006-02-07 so before my 1.0.0 release.

I received some mails from users reporting bugs and asking for support. I DO NOT SUPPORT the Gemalto driver. You can either ask Gemalto support for support or use my own driver.

Available binaries

The drivers are also available as Debian Project packages libccid and logo fedora source or package.


 $Id: ccid.html,v 1.161 2008-05-08 12:55:36 rousseau Exp $