LudovicRousseau / CCID

CCID driver
https://ccid.apdu.fr/
GNU Lesser General Public License v2.1
224 stars 79 forks source link
c ccid driver pcsc pcsclite smartcard

USB CCID IFD Handler

This package provides the source code for a generic USB CCID (Chip/Smart Card Interface Devices) and ICCD (Integrated Circuit(s) Card Devices) driver. See the USB CCID [1] and ICCD [2] specifications from the USB working group.

Authors:

CCID and ICCD readers:

A reader can be in one of these list:

Supported operating systems:

See also https://ccid.apdu.fr/ for more information.

Debug information:

The driver uses the debug function provided by pcscd. So if pcscd sends its debug to stdout (pcscd --foreground) then the CCID driver will also send its debug to stdout. If pcscd sends its debug to syslog (by default) then the CCID driver will also send its debug to syslog.

You can change the debug level using the Info.plist configuration file. The Info.plist file is installed, by default, in /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist or set the environment variable LIBCCID_ifdLogLevel.

The debug level is set in the ifdLogLevel field. It is a binary OR combination of 4 different levels.

By default the debug level is set to 3 (1 + 2) and correspond to the critical and info levels.

You have to restart the driver so it reads the configuration file again and uses the new debug level value. To restart the driver you just need to unplug all your CCID readers so the driver is unloaded and then replug your readers. You can also restart pcscd.

Voltage selection

You can change the voltage level using the Info.plist configuration file. The Info.plist is installed, by default, in /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

The voltage level is set in the ifdDriverOptions field. It is a binary OR combination of 4 different levels.

By default the voltage level is set to 0 and corresponds to 5V.

You have to restart the driver so it reads the configuration file again and uses the new voltage level value. To restart the driver you just need to unplug all your CCID readers so the driver is unloaded and then replug your readers. You can also restart pcscd.

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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

History:

1.6.0 - 1 June 2024, Ludovic Rousseau

1.5.5 - 5 January 2024, Ludovic Rousseau

1.5.4 - 29 October 2023, Ludovic Rousseau

1.5.3 - 25 October 2023, Ludovic Rousseau

1.5.2 - 31 January 2023, Ludovic Rousseau

1.5.1 - 14 November 2022, Ludovic Rousseau

1.5.0 - 27 January 2022, Ludovic Rousseau

1.4.36 - 30 August 2021, Ludovic Rousseau

1.4.35 - 25 July 2021, Ludovic Rousseau

1.4.34 - 24 January 2021, Ludovic Rousseau

1.4.33 - 25 June 2020, Ludovic Rousseau

1.4.32 - 22 April 2020, Ludovic Rousseau

1.4.31 - 10 August 2019, Ludovic Rousseau

1.4.30 - 19 September 2018, Ludovic Rousseau

1.4.29 - 21 February 2018, Ludovic Rousseau

1.4.28 - 11 October 2017, Ludovic Rousseau

1.4.27 - 21 May 2017, Ludovic Rousseau

1.4.26 - 7 January 2017, Ludovic Rousseau

1.4.25 - 30 September 2016, Ludovic Rousseau

1.4.24 - 22 May 2016, Ludovic Rousseau

1.4.23 - 20 April 2016, Ludovic Rousseau

1.4.22 - 10 January 2016, Ludovic Rousseau

1.4.21 - 21 October 2015, Ludovic Rousseau

1.4.20 - 5 August 2015, Ludovic Rousseau

1.4.19 - 13 May 2014, Ludovic Rousseau

1.4.18 - 13 September 2014, Ludovic Rousseau

1.4.17 - 11 June 2014, Ludovic Rousseau

1.4.16 - 23 March 2014, Ludovic Rousseau

1.4.15 - 14 February 2014, Ludovic Rousseau

1.4.14 - 25 November 2013, Ludovic Rousseau

1.4.13 - 9 October 2013, Ludovic Rousseau

1.4.12 - 12 August 2013, Ludovic Rousseau

1.4.11 - 12 June 2013, Ludovic Rousseau

1.4.10 - 16 April 2013, Ludovic Rousseau

1.4.9 - 16 January 2013, Ludovic Rousseau

1.4.8 - 22 June 2012, Ludovic Rousseau

1.4.7 - 22 June 2012, Ludovic Rousseau

1.4.6 - 6 April 2012, Ludovic Rousseau

1.4.5 - 11 October 2011, Ludovic Rousseau

1.4.4 - 13 May 2011, Ludovic Rousseau

1.4.3 - 2 April 2011, Ludovic Rousseau

1.4.2 - 22 February 2011, Ludovic Rousseau

1.4.1 - 3 December 2010, Ludovic Rousseau

1.4.0 - 4 August 2010, Ludovic Rousseau

1.3.13 - 4 June 2010, Ludovic Rousseau

1.3.12 - 8 May 2010, Ludovic Rousseau

1.3.11 - 28 July 2009, Ludovic Rousseau

1.3.10 - 7 March 2009, Ludovic Rousseau

1.3.9 - 18 November 2008, Ludovic Rousseau

1.3.8 - 27 June 2008, Ludovic Rousseau

1.3.7 - 8 June 2008, Ludovic Rousseau

1.3.6 - 30 April 2008, Ludovic Rousseau

1.3.5 - 22 February 2008, Ludovic Rousseau

1.3.4 - 8 February 2008, Ludovic Rousseau

1.3.3 - 6 February 2008, Ludovic Rousseau

1.3.2 - 22 January 2008, Ludovic Rousseau

1.3.1 - 16 November 2007, Ludovic Rousseau

1.3.0 - 10 May 2007, Ludovic Rousseau

1.2.1 - 27 January 2007, Ludovic Rousseau

1.2.0 - 19 January 2007, Ludovic Rousseau

1.1.0 - 11 August 2006, Ludovic Rousseau

1.0.1 - 22 April 2006, Ludovic Rousseau

1.0.0 - 3 March 2006, Ludovic Rousseau

0.9.4 - 27 November 2005, Ludovic Rousseau

0.9.3 - 14 March 2005, Ludovic Rousseau

0.9.2 - 15 August 2004, Ludovic Rousseau

0.9.1 - 1 July 2004, Ludovic Rousseau

0.9.0 - 1 July 2004, Ludovic Rousseau

0.4.1 - 14 February 2004, Ludovic Rousseau

0.4.0 - 13 February 2004, Ludovic Rousseau

0.3.2 - 4 November 2003, Ludovic Rousseau

0.3.1 - 23 September 2003, Ludovic Rouseau

0.3.0 - 10 September 2003, Ludovic Rousseau

0.2.0 - 26 August 2003, Ludovic Rousseau

0.1.0 - 13 August 2003, Ludovic Rousseau