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.
Go in the Download
section. I provide .tar.bz2
archives ready to be built
using:
tar xzvf ccid-*.tar.bz2 cd ccid-* ./configure make make install
The latest README is at README.md.
If you are a C-language developper (or you know what you are doing), you can also access the git developement version. You may need to use the git version to support the latest added readers.
git clone --recursive https://salsa.debian.org/rousseau/CCID.git cd CCID ./bootstrap ./configure make
You will need to also install:
--enable-embedded
Contact me if you want to see the support of the above not yet supported features and you have a budget.
In fact I may implement one of these features if you have a budget.
If you have a problem and want to get support from me you shall include the following information:
/usr/sbin/pcscd
--version
"Then you shall generate a complete log (do not truncate it).
pcscd
processsudo LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu --color | tee log.txt
log.txt
fileIf you experience a crash of pcscd it is useful for me to have a backtrace.
$ gdb pcscd (gdb) set args --foreground --debug --apdu (gdb) run wait for the crash to happen (gdb) backtrace
Then copy/paste the complete output in your bug report.
If you have general questions or bug reports you should use the Pcsclite-muscle mailing list.
First search the mailing list archives. Maybe your probem has already been reported and solved. If you have not found a solution then subscribe to the Pcsclite-muscle mailing list and send your request to pcsclite-muscle@lists.infradead.org..
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, install the build dependencies (see Build-Depends: for Debian systems) and do:
tar xjvf ccid-x.y.z.tar.bz2 cd ccid-x.y.z ./configure make sudo ./src/parse > output.txt
and send me (ludovic.rousseau@free.fr) the generated
output.txt
file.
If your reader is CCID compliant and you would like to add it to the list of readers I would also need:
All the readers are also included in a big matrix.
You can use an interactive reader selection tool at: Reader selection.
See Reader Selection: find the smart card reader you search for a presentation of the tool.
The main author is Ludovic Rousseau <ludovic.rousseau@free.fr>.
I reused source code from other free software projects whose authors are:
towitoko/
directory.openct/
directory. I (Ludovic Rousseau) greatly improved this
code.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
The complete licence is available at GNU Lesser General Public License, version 2.1
GNU/Linux using libusb 1.0.x and later
Apple includes my CCID driver (version 1.3.8, released in June 2008) since Leopard 10.5.6. See the mail from Shawn Geddis to have a list of changes.
See the evolutions of the CCID driver in Lion (10.7), Mountain Lion (10.8), Mavericks (10.9), Yosemite (10.10), El Capitan (10.11), Sierra (10.12), High Sierra (10.13), Mojave (10.14), Catalina (10.15), Big Sur (11.0), Monterey (12.0).
Mac OS X Snow Leopard (10.6) and later are supported without patches. To build and install the driver you need to extract the archive and do:
./MacOSX/configure make sudo make install
The driver should work on Solaris.
I can't test is myself so patches are welcome if needed.
You can find a PC/SC-lite package form Oracle.
The driver is available in the freshport.
The driver is available in pkgsrc as security/ccid.
It may or may not work.
The drivers are also available as
packages libccid