Blame README

Packit 9f0df5
USB CCID IFD Handler
Packit 9f0df5
====================
Packit 9f0df5
Packit 9f0df5
This package provides the source code for a generic USB CCID (Chip/Smart
Packit 9f0df5
Card Interface Devices) and ICCD (Integrated Circuit(s) Card Devices)
Packit 9f0df5
driver. See the USB CCID [1] and ICCD [2] specifications from the USB
Packit 9f0df5
working group.
Packit 9f0df5
Packit 9f0df5
[1] http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf
Packit 9f0df5
[2] http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_USB-ICC_ICCD_rev10.pdf
Packit 9f0df5
Packit 9f0df5
Authors:
Packit 9f0df5
========
Packit 9f0df5
Packit 9f0df5
- Ludovic Rousseau <ludovic.rousseau@free.fr>
Packit 9f0df5
- Carlos Prados for the PPS and ATR parsing code (taken from his
Packit 9f0df5
  towitoto driver) in towitoko/ directory.
Packit 9f0df5
- Olaf Kirch for the T=1 TPDU code (from the OpenCT package) in openct/
Packit 9f0df5
  directory. I (Ludovic Rousseau) greatly improved this code.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
CCID and ICCD readers:
Packit 9f0df5
======================
Packit 9f0df5
Packit 9f0df5
A reader can be in one of these list:
Packit 9f0df5
- supported
Packit 9f0df5
    See http://pcsclite.alioth.debian.org/ccid/supported.html
Packit 9f0df5
- should working
Packit 9f0df5
    See http://pcsclite.alioth.debian.org/ccid/shouldwork.html
Packit 9f0df5
- unsupported
Packit 9f0df5
    See http://pcsclite.alioth.debian.org/ccid/unsupported.html
Packit 9f0df5
- disabled
Packit 9f0df5
    See http://pcsclite.alioth.debian.org/ccid/disabled.html
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
Supported operating systems:
Packit 9f0df5
============================
Packit 9f0df5
Packit 9f0df5
- GNU/Linux (libusb 1.0)
Packit 9f0df5
- MacOS X/Darwin (libusb 1.0)
Packit 9f0df5
Packit 9f0df5
See also http://pcsclite.alioth.debian.org/ccid.html for more
Packit 9f0df5
information.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
Debug informations:
Packit 9f0df5
===================
Packit 9f0df5
Packit 9f0df5
The driver uses the debug function provided by pcscd. So if pcscd sends
Packit 9f0df5
its debug to stdout (pcscd --foreground) then the CCID driver will also
Packit 9f0df5
send its debug to stdout. If pcscd sends its debug to syslog (by
Packit 9f0df5
default) then the CCID driver will also send its debug to syslog.
Packit 9f0df5
Packit 9f0df5
You can change the debug level using the Info.plist configuration file.
Packit 9f0df5
The Info.plist is installed, by default, in
Packit 9f0df5
/usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
Packit 9f0df5
or set the environment variable LIBCCID_ifdLogLevel.
Packit 9f0df5
Packit 9f0df5
The debug level is set in the ifdLogLevel field. It is a binary OR
Packit 9f0df5
combination of 4 different levels.
Packit 9f0df5
- 1: critical: important error messages
Packit 9f0df5
- 2: info:     informative messages like what reader was detected
Packit 9f0df5
- 4: comm:     a dump of all the bytes exchanged between the host and the
Packit 9f0df5
               reader
Packit 9f0df5
- 8: periodic: periodic info when pcscd test if a card is present (every
Packit 9f0df5
               1/10 of a second)
Packit 9f0df5
Packit 9f0df5
By default the debug level is set to 3 (1 + 2) and correspond to the
Packit 9f0df5
critical and info levels.
Packit 9f0df5
Packit 9f0df5
You have to restart the driver so it read the configuration file again
Packit 9f0df5
and use the new debug level value.  To restart the driver you just need
Packit 9f0df5
to unplug all your CCID readers so the driver is unloaded and then replug
Packit 9f0df5
your readers. You can also restart pcscd.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
Voltage selection
Packit 9f0df5
=================
Packit 9f0df5
Packit 9f0df5
You can change the voltage level using the Info.plist configuration
Packit 9f0df5
file.  The Info.plist is installed, by default, in
Packit 9f0df5
/usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
Packit 9f0df5
Packit 9f0df5
The voltage level is set in the ifdDriverOptions field. It is a binary OR
Packit 9f0df5
combination of 4 different levels.
Packit 9f0df5
Packit 9f0df5
-  0: power on the card at 5V (default value)
Packit 9f0df5
- 16: power on the card at 3V and, if 3V fails then use 5V
Packit 9f0df5
- 32: power on the card at 1.8V, then 3V and then 5V
Packit 9f0df5
- 48: let the reader decide
Packit 9f0df5
Packit 9f0df5
By default the voltage level is set to 0 and correspond to 5V.
Packit 9f0df5
Packit 9f0df5
You have to restart the driver so it read the configuration file again
Packit 9f0df5
and use the new debug level value.  To restart the driver you just need
Packit 9f0df5
to unplug all your CCID readers so the driver is unloaded and then replug
Packit 9f0df5
your readers.  You can also restart pcscd.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
Licence:
Packit 9f0df5
========
Packit 9f0df5
Packit 9f0df5
  This library is free software; you can redistribute it and/or modify it
Packit 9f0df5
under the terms of the GNU Lesser General Public License as published by
Packit 9f0df5
the Free Software Foundation; either version 2.1 of the License, or (at
Packit 9f0df5
your option) any later version.
Packit 9f0df5
Packit 9f0df5
  This library is distributed in the hope that it will be useful, but
Packit 9f0df5
WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 9f0df5
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
Packit 9f0df5
General Public License for more details.
Packit 9f0df5
Packit 9f0df5
  You should have received a copy of the GNU Lesser General Public License
Packit 9f0df5
along with this library; if not, write to the Free Software Foundation,
Packit 9f0df5
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
History:
Packit 9f0df5
========
Packit 9f0df5
Packit 9f0df5
1.4.29 - 21 February 2018, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
     . Access IS NFC Smart Module (With idProduct 0x0164)
Packit 9f0df5
     . Bit4id Digital-DNA Key
Packit 9f0df5
     . Bit4id Digital-DNA Key BT
Packit 9f0df5
     . Bluink Ltd. Bluink CCID
Packit 9f0df5
     . Chicony HP Skylab USB Smartcard Keyboard
Packit 9f0df5
     . HID Global OMNIKEY 5023 Smart Card Reader
Packit 9f0df5
     . HID Global OMNIKEY 5027CK CCID CONFIG IF
Packit 9f0df5
     . KeyXentic Inc. KX906 Smart Card Reader
Packit 9f0df5
     . Spyrus Inc Rosetta USB
Packit 9f0df5
     . Spyrus Inc WorkSafe Pro
Packit 9f0df5
     . Watchdata USB Key (idProduct: 0x0418)
Packit 9f0df5
    - The C3PO LTC31 v2 wrongly declares PIN support
Packit 9f0df5
    - Remove extra EGT patch because if has bad side effects
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.28 - 11 October 2017, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
     . Athena IDProtect Flash
Packit 9f0df5
     . Elatec TWN4/B1.06/CPF3.05/S1SC1.32/P (Beta 3)
Packit 9f0df5
     . HID Global OMNIKEY 5122 Dual
Packit 9f0df5
     . HID Global OMNIKEY 5122 Smartcard Reader
Packit 9f0df5
     . IIT E.Key Crystal-1
Packit 9f0df5
     . KRONEGGER Micro Core Platform
Packit 9f0df5
     . KRONEGGER NFC blue Reader Platform
Packit 9f0df5
     . Ledger Nano S
Packit 9f0df5
     . REINER SCT cyberJack RFID standard
Packit 9f0df5
     . REINER SCT cyberJack one
Packit 9f0df5
     . SAFETRUST SABRE SCR
Packit 9f0df5
     . SafeNet eToken 5300
Packit 9f0df5
     . Unicept GmbH AirID USB Dongle
Packit 9f0df5
     . Watchdata USB Key
Packit 9f0df5
     . mCore SCard-Reader
Packit 9f0df5
    - Disabled readers
Packit 9f0df5
     . Jinmuyu Electronics Co., Ltd. MR800
Packit 9f0df5
    - Fix non-pinpad HID global devices
Packit 9f0df5
    - udev rules:
Packit 9f0df5
     . allow rule overwrite
Packit 9f0df5
     . Disable USB autosuspend on C3PO LTC31 v1 reader
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.27 - 21 May 2017, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
     . ACS ACR1255U-J1
Packit 9f0df5
     . ACS CryptoMate (T2)
Packit 9f0df5
     . ANCUD CCID USB Reader & RNG
Packit 9f0df5
     . DUALi DE-620 Combi
Packit 9f0df5
     . FT CCID
Packit 9f0df5
     . FT CCID KB
Packit 9f0df5
     . FT U2F CCID KB
Packit 9f0df5
     . FT U2F CCID KBOARD
Packit 9f0df5
     . HID Global OMNIKEY 5422 Smartcard Reader
Packit 9f0df5
     . InfoThink IT-102MU Reader
Packit 9f0df5
     . Kapsch TrafficCom USB SAM reader
Packit 9f0df5
     . MK Technology KeyPass S1
Packit 9f0df5
     . Mulann PVT
Packit 9f0df5
     . Regula RFID Reader
Packit 9f0df5
     . Spyrus Inc PocketVault P-3X
Packit 9f0df5
     . Unicept GmbH AirID USB
Packit 9f0df5
    - Add Microchip SEC1210 UART support (when connected on a serial port)
Packit 9f0df5
    - Add Zero Length Packet (ZLP) support for Gemalto IDBridge CT30 and K30
Packit 9f0df5
      enable the patch using ./configure --enable-zlp
Packit 9f0df5
    - Add support of HID Omnikey 5422 as multi slot reader (for macOS)
Packit 9f0df5
    - Escape command: signals buffer overflow instead of silently
Packit 9f0df5
      truncating the buffer
Packit 9f0df5
    - Fix a bug with multi readers and pcscd uses hotplug_libusb (not the
Packit 9f0df5
      recommended configuration)
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.26 - 7 January 2017, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Bit4id Digital DNA Key
Packit 9f0df5
      . Bit4id tokenME FIPS v3
Packit 9f0df5
      . INGENICO Leo
Packit 9f0df5
      . appidkey GmbH ID60-USB
Packit 9f0df5
    - PowerOn: the default algorithm is now 5V then 1.8V then 3V then fail.
Packit 9f0df5
      It is still possible to change the initial voltage in the
Packit 9f0df5
      Info.plist file.  Now, in any case, all the values are tried
Packit 9f0df5
      before failing.
Packit 9f0df5
    - Negotiate maximum baud rate when bNumDataRatesSupported = 0
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.25 - 30 September 2016, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Aladdin R.D. JaCarta (idProduct: 0x0402)
Packit 9f0df5
      . Broadcom Corp 5880 (idProduct: 0x5832)
Packit 9f0df5
      . Broadcom Corp 5880 (idProduct: 0x5833)
Packit 9f0df5
      . Broadcom Corp 5880 (idProduct: 0x5834)
Packit 9f0df5
      . ESMART Token GOST X2 ET1020-A
Packit 9f0df5
      . Feitian VR504 VHBR Contactless & Contact Card Reader
Packit 9f0df5
      . Feitian bR500
Packit 9f0df5
      . Gemalto K50
Packit 9f0df5
      . appidkey GmbH ID100-USB  SC Reader
Packit 9f0df5
      . appidkey GmbH ID50 -USB
Packit 9f0df5
    - Remove suport of
Packit 9f0df5
     . Broadcom Corp 5880 (idProduct: 0x5800)
Packit 9f0df5
     . Broadcom Corp 5880 (idProduct: 0x5805)
Packit 9f0df5
     . KEBTechnology KONA USB SmartCard
Packit 9f0df5
    - macOS: Fix composite device enumeration
Packit 9f0df5
    - Fix crash with GemCore Pos Pro and GemCore Sim Pro
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.24 - 22 May 2016, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
     . Generic USB Smart Card Reader
Packit 9f0df5
     . Giesecke & Devrient GmbH StarSign CUT S
Packit 9f0df5
     . HID AVIATOR Generic
Packit 9f0df5
    - better support of Elatec TWN4 SmartCard NFC
Packit 9f0df5
    - better support of SCM SCL011
Packit 9f0df5
    - betetr support of HID Aviator generic
Packit 9f0df5
    - fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO attribute size
Packit 9f0df5
    - fix a race condition on card events with multiple readers
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.23 - 20 April 2016, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . ACS ACR3901U ICC Reader
Packit 9f0df5
      . Alcor Micro AU9560
Packit 9f0df5
      . Cherry SmartTerminal XX44
Packit 9f0df5
      . HID Global OMNIKEY 3x21 Smart Card Reader
Packit 9f0df5
      . HID Global OMNIKEY 5022 Smart Card Reader
Packit 9f0df5
      . HID Global OMNIKEY 6121 Smart Card Reader
Packit 9f0df5
      . IonIDe Smartcard Reader reader
Packit 9f0df5
      . KACST HSID Reader
Packit 9f0df5
      . KACST HSID Reader Dual Storage
Packit 9f0df5
      . KACST HSID Reader Single Storage
Packit 9f0df5
    - Remove support of
Packit 9f0df5
      . VMware Virtual USB CCID
Packit 9f0df5
    - Do NOT add support of
Packit 9f0df5
      . DUALi DE-ABCM6
Packit 9f0df5
    - Fix a busy loop consuming 100% of CPU for some composite USB devices
Packit 9f0df5
      impacted readers: Yubico Yubikey NEO U2F+CCID and Broadcom BCM5880
Packit 9f0df5
    - Remove support of (unused) option DRIVER_OPTION_RESET_ON_CLOSE
Packit 9f0df5
    - log libusb error name instead of decimal value
Packit 9f0df5
    - Some minor improvements
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.22 - 10 January 2016, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Aktiv Rutoken PINPad 2
Packit 9f0df5
      . Aladdin R.D. JC-WebPass (JC600)
Packit 9f0df5
      . Aladdin R.D. JCR-770
Packit 9f0df5
      . Aladdin R.D. JaCarta
Packit 9f0df5
      . Aladdin R.D. JaCarta Flash
Packit 9f0df5
      . Aladdin R.D. JaCarta LT
Packit 9f0df5
      . Aladdin R.D. JaCarta U2F (JC602)
Packit 9f0df5
      . Athena ASEDrive IIIe Combo Bio PIV
Packit 9f0df5
      . Athena ASEDrive IIIe KB Bio PIV
Packit 9f0df5
      . GEMALTO CT1100
Packit 9f0df5
      . GEMALTO K1100
Packit 9f0df5
      . Hitachi, Ltd. Hitachi Biometric Reader
Packit 9f0df5
      . Hitachi, Ltd. Hitachi Portable Biometric Reader
Packit 9f0df5
      . Nitrokey Nitrokey Storage
Packit 9f0df5
      . THURSBY SOFTWARE TSS-PK1
Packit 9f0df5
      . Thursby Software Systems, Inc. TSS-PK7
Packit 9f0df5
      . Thursby Software Systems, Inc. TSS-PK8
Packit 9f0df5
    - Patch for Microchip SEC1110 reader on Mac OS X (card events notification)
Packit 9f0df5
    - Patch for Cherry KC 1000 SC (problem was with a T=1 card and case 2 APDU)
Packit 9f0df5
    - Fix support of FEATURE_MCT_READER_DIRECT for the Kobil mIDentity
Packit 9f0df5
      visual reader
Packit 9f0df5
    - Set timeout to 90 sec for PPDU (Pseudo APDU) commands. This change
Packit 9f0df5
      allows the use of a Secure Verify command sent as a PPDU through
Packit 9f0df5
      SCardTransmit().
Packit 9f0df5
    - Fix a crash when reader reader initialization failed
Packit 9f0df5
    - Fix initialization bug with Gemalto Pinpad reader on Mac OS X
Packit 9f0df5
    - Some minor bugs fixed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.21 - 21 October 2015, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . ACS ACR1252 Dual Reader
Packit 9f0df5
      . Chicony HP USB Smartcard CCID Keyboard JP
Packit 9f0df5
      . Chicony HP USB Smartcard CCID Keyboard KR
Packit 9f0df5
      . FT ePass2003Auto
Packit 9f0df5
      . Feitian bR301 BLE
Packit 9f0df5
      . Feitian iR301 (ProductID 0x0619)
Packit 9f0df5
      . Feitian iR301 (ProductID 0x061C)
Packit 9f0df5
      . Identiv @MAXX ID-1 Smart Card Reader
Packit 9f0df5
      . Identiv @MAXX Light2 token
Packit 9f0df5
      . Identiv CLOUD 2980 F Smart Card Reader
Packit 9f0df5
      . Identiv Identiv uTrust 4701 F Dual Interface Reader
Packit 9f0df5
      . Identiv SCR3500 A Contact Reader
Packit 9f0df5
      . Identiv SCR3500 B Contact Reader
Packit 9f0df5
      . Identiv SCR35xx USB Smart Card Reader
Packit 9f0df5
      . Identiv uTrust 2900 R Smart Card Reader
Packit 9f0df5
      . Identiv uTrust 2910 R Smart Card Reader
Packit 9f0df5
      . Identiv uTrust 2910 R Taglio SC Reader
Packit 9f0df5
      . Identiv uTrust 3512 SAM slot Token
Packit 9f0df5
      . Identiv uTrust 3522 embd SE RFID Token
Packit 9f0df5
      . Identiv uTrust 3700 F CL Reader
Packit 9f0df5
      . Identiv uTrust 3701 F CL Reader
Packit 9f0df5
      . Identive Identive CLOUD 4000 F DTC
Packit 9f0df5
      . Liteon HP SC Keyboard - Apollo (Liteon)
Packit 9f0df5
      . Liteon HP SC Keyboard - Apollo JP (Liteon)
Packit 9f0df5
      . Liteon HP SC Keyboard - Apollo KR (Liteon)
Packit 9f0df5
      . Nitrokey Nitrokey HSM
Packit 9f0df5
      . Nitrokey Nitrokey Pro
Packit 9f0df5
      . Nitrokey Nitrokey Start
Packit 9f0df5
      . Rocketek RT-SCR1
Packit 9f0df5
      . VASCO DIGIPASS 875
Packit 9f0df5
      . WatchCNPC USB CCID Key
Packit 9f0df5
    - Remove support of
Packit 9f0df5
      . Crypto Stick Crypto Stick v1.4 is an old version of Nitrokey Nitrokey Pro
Packit 9f0df5
      . Free Software Initiative of Japan Gnuk Token is an old version
Packit 9f0df5
        of Nitrokey Nitrokey Start
Packit 9f0df5
    - Add Feitain R502 dual interface (composite) reader on Mac OS X
Packit 9f0df5
    - display a human readable version of the error code returned by
Packit 9f0df5
      libusb
Packit 9f0df5
    - Mac OS X: wait until libusb/the reader is ready
Packit 9f0df5
    - some minor bugs fixed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.20 - 5 August 2015, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . ACS ACR1251 Dual Reader
Packit 9f0df5
      . Access IS NFC Smart Module
Packit 9f0df5
      . BIFIT iToken
Packit 9f0df5
      . BLUTRONICS BLUDRIVE II CCID (idProduct: 0x1079)
Packit 9f0df5
      . Generic MultiCard Device
Packit 9f0df5
      . NXP Pegoda 2 N
Packit 9f0df5
      . SafeNet eToken 5100
Packit 9f0df5
      . SafeNet eToken 7300
Packit 9f0df5
      . Yubico Yubikey 4 CCID
Packit 9f0df5
      . Yubico Yubikey 4 OTP+CCID
Packit 9f0df5
      . Yubico Yubikey 4 OTP+U2F+CCID
Packit 9f0df5
      . Yubico Yubikey 4 U2F+CCID
Packit 9f0df5
    - Depends on libusb version 1.0.9 instead of 1.0.8
Packit 9f0df5
    - The O2 Micro Oz776 reader only supports 9600 bps
Packit 9f0df5
    - Change installation directory for Mac OS X El Capitan 10.11
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.19 - 13 May 2014, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . AK910 CKey (idProduct 0x0001)
Packit 9f0df5
      . AK910 CKey (idProduct 0x0011)
Packit 9f0df5
      . AK910 IDONE
Packit 9f0df5
      . Broadcom Corp 5880 (idProduct: 0x5804)
Packit 9f0df5
      . CASTLES EZCCID Smart Card Reader
Packit 9f0df5
      . Cherry KC 1000 SC
Packit 9f0df5
      . Cherry KC 1000 SC Z
Packit 9f0df5
      . Cherry KC 1000 SC/DI
Packit 9f0df5
      . Cherry KC 1000 SC/DI Z
Packit 9f0df5
      . Cherry TC 1300
Packit 9f0df5
      . Chicony USB Smart Card Keyboard
Packit 9f0df5
      . Elatec TWN4 SmartCard NFC
Packit 9f0df5
      . Feitian 502-CL
Packit 9f0df5
      . Feitian eJAVA Token
Packit 9f0df5
      . FujitsuTechnologySolutions GmbH Keyboard KB100 SCR
Packit 9f0df5
      . FujitsuTechnologySolutions GmbH Keyboard KB100 SCR eSIG
Packit 9f0df5
      . Hewlett-Packard HP lt4112 Gobi 4G Module
Packit 9f0df5
      . Identive SCT3522CC token
Packit 9f0df5
      . OMNIKEY AG 6121 USB mobile
Packit 9f0df5
      . PIVKey T800
Packit 9f0df5
      . REINER SCT tanJack Bluetooth
Packit 9f0df5
      . Watchdata USB Key
Packit 9f0df5
    - Add syslog(3) debug for Mac OS X Yosemite.
Packit 9f0df5
      Use: sudo syslog -c "com.apple.ifdreader PID" -d to change the logging level.
Packit 9f0df5
      See also "Change syslog logging level on Yosemite"
Packit 9f0df5
      http://ludovicrousseau.blogspot.com/2015/03/change-syslog-logging-level-on-yosemite.html
Packit 9f0df5
    - Remove ZLP patch for Gemalto IDBridge CT30 and K30. The patch was
Packit 9f0df5
      causing problems with the K50.  A new reader firmware (version F)
Packit 9f0df5
      solved the problem so the patch is no more needed.
Packit 9f0df5
    - Fix a memory leak in an error path
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.18 - 13 September 2014, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Cherry Cherry TC 1100
Packit 9f0df5
      . Cherry Smart Card Reader USB
Packit 9f0df5
      . Cherry Smartcard Keyboard G87-1xx44
Packit 9f0df5
      . FujitsuTechnologySolutions GmbH Keyboard KB SCR2
Packit 9f0df5
      . Lenovo Lenovo USB Smartcard Keyboard
Packit 9f0df5
      . Yubico Yubikey NEO OTP+U2F+CCID
Packit 9f0df5
      . Yubico Yubikey NEO U2F+CCID
Packit 9f0df5
      . eID_R6 001 X8
Packit 9f0df5
    - fix support of Omnikey CardMan 3121
Packit 9f0df5
    - reduce memory consumed when configured with --enable-embedded
Packit 9f0df5
    - prepare the port to UEFI
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.17 - 11 June 2014, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Feitian R502
Packit 9f0df5
      . Free Software Initiative of Japan Gnuk Token
Packit 9f0df5
      . German Privacy Foundation Crypto Stick v2.0
Packit 9f0df5
      . HID Global veriCLASS Reader
Packit 9f0df5
      . HID OMNIKEY 5025-CL
Packit 9f0df5
      . Identive Technologies Multi-ISO HF Reader - USB
Packit 9f0df5
      . OMNIKEY 5421
Packit 9f0df5
      . OMNIKEY AG 3121 USB
Packit 9f0df5
      . udea MILKO V1.
Packit 9f0df5
    - Fix support of O2 Micro Oz776. The reader is limited to 9600 bps
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.16 - 23 March 2014, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Crypto Stick Crypto Stick v1.4
Packit 9f0df5
      . Hewlett Packard USB Smartcard CCID Keyboard
Packit 9f0df5
      . IID AT90S064 CCID READER
Packit 9f0df5
      . INSIDE Secure VaultIC 405 Smart Object
Packit 9f0df5
      . INSIDE Secure VaultIC 441 Smart Object
Packit 9f0df5
      . Microchip SEC1110
Packit 9f0df5
      . Microchip SEC1210
Packit 9f0df5
      . Watchdata W5181
Packit 9f0df5
    - Add support of DRIVER_OPTION_DISABLE_PIN_RETRIES
Packit 9f0df5
      The Gemalto pinpad reader sends a VERIFY command with no PIN value
Packit 9f0df5
      in order to retreive the remaining retries from the card.  Some
Packit 9f0df5
      cards (like the OpenPGP card) do not support this.
Packit 9f0df5
      It is now possible to disable this behavior from the Gemalto
Packit 9f0df5
      Pinpad and Covadis Véga Alpha.
Packit 9f0df5
    - add support of WTX received before SW during Secure Pin Entry Verify
Packit 9f0df5
      The Swiss health care card sends a WTX request before returning
Packit 9f0df5
      the SW code. If the reader is in TPDU and the card is in T=1 the
Packit 9f0df5
      driver must manage the request itself.
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.15 - 14 February 2014, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . DUALi DRAGON NFC READER
Packit 9f0df5
      . Feitian bR301
Packit 9f0df5
      . Gemalto CR30 reader in serial communication
Packit 9f0df5
      . Gemalto Ezio Shield Pro SC
Packit 9f0df5
      . IIT E.Key Almaz-1C
Packit 9f0df5
    - PIN_MODIFY_STRUCTURE & PIN_VERIFY_STRUCTURE: Fix calculation of
Packit 9f0df5
      the command length after pcsc-lite 1.8.9 (October 2013) changed
Packit 9f0df5
      the PCSC/reader.h header
Packit 9f0df5
    - Add specific PIN min (0) & max (25) sizes for SmartTerminal
Packit 9f0df5
      ST-2xxx
Packit 9f0df5
    - Do not get the data rates if bNumDataRatesSupported = 0
Packit 9f0df5
    - Support Gemalto features for pinpad readers MinimumPINSize,
Packit 9f0df5
      MaximumPINSize and bEntryValidationCondition are fetched from the
Packit 9f0df5
      reader firmware
Packit 9f0df5
    - disable (broken) pinpad for Fujitsu SmartCase KB SCR eSIG
Packit 9f0df5
    - examples/scardcontrol.c:
Packit 9f0df5
      . Parse codes returned by a pinpad (as SW1/SW2)
Packit 9f0df5
        Known codes for now are:
Packit 9f0df5
        0x9000: Success
Packit 9f0df5
        0x6400: Timeout
Packit 9f0df5
        0x6401: Cancelled by user
Packit 9f0df5
        0x6402: PIN mismatch
Packit 9f0df5
        0x6403: Too short or too long PIN
Packit 9f0df5
      . Retrieve min and max PIN sizes from the driver
Packit 9f0df5
      . Retrieve bEntryValidationCondition from the driver
Packit 9f0df5
    - be more strict for bInterfaceClass = 255 by also checking extra_length
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.14 - 25 November 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Gemalto GemCore SIM Pro firmware 2.0 (using USB)
Packit 9f0df5
    - report FEATURE_IFD_PIN_PROPERTIES only for pinpad readers
Packit 9f0df5
    - Generalize the management of (old) readers with bDeviceClass = 0xFF
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.13 - 9 October 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Access IS ePassport Reader
Packit 9f0df5
      . Planeta RC700-NFC CCID
Packit 9f0df5
    - Add support of Windows value for CM_IOCTL_GET_FEATURE_REQUEST
Packit 9f0df5
      Windows uses 0x313520 for SCARD_CTL_CODE(3400) pcsc-lite uses
Packit 9f0df5
      0x42000D48 for SCARD_CTL_CODE(3400)
Packit 9f0df5
      RDP aplications (like rdesktop) will convert SCardControl()
Packit 9f0df5
      commands from a Windows application (so using 0x313520) to
Packit 9f0df5
      pcsc-lite.
Packit 9f0df5
    - fix multi-slot support for card movement notification (introduced
Packit 9f0df5
      in 1.4.12)
Packit 9f0df5
    - Mac OS X: differentiate each libccid library by the dynamic linker
Packit 9f0df5
      using --prefix=/fake/$BUNDLE_ID
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.12 - 12 August 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . HID OMNIKEY 5127 CK
Packit 9f0df5
      . HID OMNIKEY 5326 DFR
Packit 9f0df5
      . HID OMNIKEY 5427 CK
Packit 9f0df5
      . Ingenico WITEO USB Smart Card Reader (Base and Badge)
Packit 9f0df5
      . SecuTech SecuTech Token
Packit 9f0df5
    - Add support of card movement notifications for multi-slot readers
Packit 9f0df5
    - Check libusb is at least at version 1.0.8
Packit 9f0df5
    - Get the serialconfdir value from pcsc-lite pkg config instead of
Packit 9f0df5
      using $(DESTDIR)/$(sysconfdir)/reader.conf.d/
Packit 9f0df5
    - Disable class driver on Mac OS X
Packit 9f0df5
    - Update the bundle name template to include the vendor name
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.11 - 12 June 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . Gemalto IDBridge CT30
Packit 9f0df5
       . Gemalto IDBridge K30
Packit 9f0df5
       . SCM Microsystems Inc. SCL010 Contactless Reader
Packit 9f0df5
       . SCM Microsystems Inc. SDI011 Contactless Reader
Packit 9f0df5
       . THRC reader
Packit 9f0df5
    - Better management of time extension requests
Packit 9f0df5
    - parse: better support of devices with bInterfaceClass = 0xFF
Packit 9f0df5
    - udev rule file: Remove setting group to pcscd, remove support of
Packit 9f0df5
      Linux kernel < 2.6.35 for auto power up management
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.10 - 16 April 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . ACS APG8201 USB Reader with PID 0x8202
Packit 9f0df5
       . GIS Ltd SmartMouse USB
Packit 9f0df5
       . Gemalto IDBridge K3000
Packit 9f0df5
       . Identive CLOUD 2700 F Smart Card Reader
Packit 9f0df5
       . Identive CLOUD 2700 R Smart Card Reader
Packit 9f0df5
       . Identive CLOUD 4500 F Dual Interface Reader
Packit 9f0df5
       . Identive CLOUD 4510 F Contactless + SAM Reader
Packit 9f0df5
       . Identive CLOUD 4700 F Dual Interface Reader
Packit 9f0df5
       . Identive CLOUD 4710 F Contactless + SAM Reader
Packit 9f0df5
       . Inside Secure AT90SCR050
Packit 9f0df5
       . Inside Secure AT90SCR100
Packit 9f0df5
       . Inside Secure AT90SCR200
Packit 9f0df5
       . SCR3310-NTTCom USB SmartCard Reader
Packit 9f0df5
       . SafeTech SafeTouch
Packit 9f0df5
       . SpringCard H512 Series
Packit 9f0df5
       . SpringCard H663 Series
Packit 9f0df5
       . SpringCard NFC'Roll
Packit 9f0df5
       . Yubico Yubikey NEO CCID
Packit 9f0df5
       . Yubico Yubikey NEO OTP+CCID
Packit 9f0df5
    - Add support of time extension for Escape commands
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.9 - 16 January 2013, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . Aktiv Rutoken PINPad In
Packit 9f0df5
       . Aktiv Rutoken PINPad Ex
Packit 9f0df5
       . REINER SCT cyberJack go
Packit 9f0df5
    - Info.plist: Correctly handle reader names containing &
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.8 - 22 June 2012, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . SCR3310-NTTCom USB (was removed in version 1.4.6)
Packit 9f0df5
       . Inside Secure VaultIC 420 Smart Object
Packit 9f0df5
       . Inside Secure VaultIC 440 Smart Object
Packit 9f0df5
    - Wait up to 3 seconds for reader start up
Packit 9f0df5
    - Add support of new PC/SC V2 part 10 properties:
Packit 9f0df5
        . dwMaxAPDUDataSize
Packit 9f0df5
        . wIdVendor
Packit 9f0df5
        . wIdProduct
Packit 9f0df5
    - Use helper functions from libPCSCv2part10 to parse the PC/SC v2
Packit 9f0df5
      part 10 features
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.7 - 22 June 2012, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . ACS ACR101 ICC Reader
Packit 9f0df5
       . ACS CryptoMate64
Packit 9f0df5
       . Alcor Micro AU9522
Packit 9f0df5
       . Bit4id CKey4
Packit 9f0df5
       . Bit4id cryptokey
Packit 9f0df5
       . Bit4id iAM
Packit 9f0df5
       . Bit4id miniLector
Packit 9f0df5
       . Bit4id miniLector-s
Packit 9f0df5
       . CCB eSafeLD
Packit 9f0df5
       . Gemalto Ezio Shield Branch
Packit 9f0df5
       . KOBIL Systems IDToken
Packit 9f0df5
       . NXP PR533
Packit 9f0df5
    - KOBIL Systems IDToken special cases:
Packit 9f0df5
       . Give more time (3 seconds instead of 2) to the reader to answer
Packit 9f0df5
       . Hack for the Kobil IDToken and Geman eID card. The German eID
Packit 9f0df5
         card is bogus and need to be powered off before a power on
Packit 9f0df5
       . Add Reader-Info-Commands special APDU/command
Packit 9f0df5
         - Manufacturer command
Packit 9f0df5
         - Product name command
Packit 9f0df5
         - Firmware version command
Packit 9f0df5
         - Driver version command
Packit 9f0df5
    - Use auto suspend for CCID devices only (Closes Alioth bug
Packit 9f0df5
      [#313445] "Do not activate USB suspend for composite devices:
Packit 9f0df5
      keyboard")
Packit 9f0df5
    - Fix some error management in the T=1 TPDU state machine
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
    - some minor improvements added
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.6 - 6 April 2012, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
       . Avtor SC Reader 371
Packit 9f0df5
       . Avtor SecureToken
Packit 9f0df5
       . DIGIPASS KEY 202
Packit 9f0df5
       . Fujitsu SmartCase KB SCR eSIG
Packit 9f0df5
       . Giesecke & Devrient StarSign CUT
Packit 9f0df5
       . Inside Secure VaultIC 460 Smart Object
Packit 9f0df5
       . Macally NFC CCID eNetPad reader
Packit 9f0df5
       . OmniKey 6321 USB
Packit 9f0df5
       . SCM SDI 011
Packit 9f0df5
       . Teridian TSC12xxF
Packit 9f0df5
       . Vasco DIGIPASS KEY 101
Packit 9f0df5
    - Remove support of readers without a USB CCID descriptor file
Packit 9f0df5
       . 0x08E6:0x34C1:Gemalto Ezio Shield Secure Channel
Packit 9f0df5
       . 0x08E6:0x34C4:Gemalto Ezio Generic
Packit 9f0df5
       . 0x04E6:0x511A:SCM SCR 3310 NTTCom
Packit 9f0df5
       . 0x0783:0x0008:C3PO LTC32 USBv2 with keyboard support
Packit 9f0df5
       . 0x0783:0x9002:C3PO TLTC2USB
Packit 9f0df5
       . 0x047B:0x020B:Silitek SK-3105
Packit 9f0df5
    - Disable SPE for HP USB CCID Smartcard Keyboard. The reader is
Packit 9f0df5
      bogus and unsafe.
Packit 9f0df5
    - Convert "&" in a reader name into "&" to fix a problem on Mac
Packit 9f0df5
      OS X
Packit 9f0df5
    - Fix a problem with ICCD type A devices. We now wait for device ready
Packit 9f0df5
    - Secure PIN Verify and PIN Modify: set the minimum timeout to 90
Packit 9f0df5
      seconds
Packit 9f0df5
    - Add support of wIdVendor and wIdProduct properties
Packit 9f0df5
    - Add support of dwMaxAPDUDataSize
Packit 9f0df5
    - Add support of Gemalto firmware features
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.5 - 11 October 2011, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Alcor Micro AU9540
Packit 9f0df5
      . BIFIT USB-Token iBank2key
Packit 9f0df5
      . BIFIT iBank2Key
Packit 9f0df5
      . Gemalto Ezio Shield PinPad reader
Packit 9f0df5
      . Gemalto SA .NET Dual
Packit 9f0df5
      . Precise Sense MC reader (with fingerprint)
Packit 9f0df5
      . SDS DOMINO-Key TWIN Pro
Packit 9f0df5
      . Ubisys 13.56MHz RFID (CCID)
Packit 9f0df5
    - Add support of bPPDUSupport and FEATURE_CCID_ESC_COMMAND
Packit 9f0df5
    - SCARD_ATTR_VENDOR_NAME and SCARD_ATTR_VENDOR_IFD_VERSION are not
Packit 9f0df5
      the vendor name and version of the driver but of the IFD:
Packit 9f0df5
      InterFace Device i.e. the smart card reader.  We then return the
Packit 9f0df5
      USB iManufacturer string as SCARD_ATTR_VENDOR_NAME and USB
Packit 9f0df5
      bcdDevice as SCARD_ATTR_VENDOR_IFD_VERSION
Packit 9f0df5
    - reduce binary size bu removing unused features from simclist
Packit 9f0df5
    - Fix some warnings reported bu Coverity
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.4 - 13 May 2011, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Gemalto Ezio CB+
Packit 9f0df5
      . Gemalto Ezio Generic
Packit 9f0df5
      . Gemalto Ezio Shield
Packit 9f0df5
      . Gemalto Ezio Shield PinPad
Packit 9f0df5
      . Gemalto Ezio Shield Secure Channel
Packit 9f0df5
    - Activate USB automatic power suspend. The Linux kernel should
Packit 9f0df5
      power off the reader automatically if it is not used (pcscd is not
Packit 9f0df5
      running).
Packit 9f0df5
    - Add support of TLV Properties wLcdMaxCharacters and wLcdMaxLines.
Packit 9f0df5
      They just duplicate wLcdLayout
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.3 - 2 April 2011, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Feitian ePass2003 readers
Packit 9f0df5
      . Neowave Weneo
Packit 9f0df5
      . SCM SCL011
Packit 9f0df5
      . Vasco DIGIPASS 920
Packit 9f0df5
    - use :libudev: instead of :libhal: naming scheme.
Packit 9f0df5
    - Do not install RSA_SecurID_getpasswd and Kobil_mIDentity_switch
Packit 9f0df5
      and the associated documentation.
Packit 9f0df5
    - the Secure Pin Entry of the HP USB Smart Card Keyboard is bogus so
Packit 9f0df5
      disable it
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.2 - 22 February 2011, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . ACS APG8201 PINhandy 1
Packit 9f0df5
      . Aktiv Rutoken lite readers
Packit 9f0df5
      . Feitian SCR310 reader (also known as 301v2)
Packit 9f0df5
      . Oberthur ID-ONE TOKEN SLIM v2
Packit 9f0df5
      . Vasco DIGIPASS KEY 200
Packit 9f0df5
      . Vasco DIGIPASS KEY 860
Packit 9f0df5
      . Xiring Leo v2
Packit 9f0df5
      . Xiring MyLeo
Packit 9f0df5
      . new Neowave Weneo token
Packit 9f0df5
    - Add back support of "bogus" Oz776, REINER SCT and BLUDRIVE II
Packit 9f0df5
    - Ease detection of OpenCT by pcsc-lite
Packit 9f0df5
    - disable use of interrupt card events for multi slots readers (the
Packit 9f0df5
      algorithm is bogus and can't be used)
Packit 9f0df5
    - fix minor problems detected by the clang tool
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.1 - 3 December 2010, Ludovic Rousseau
Packit 9f0df5
    - Add support of
Packit 9f0df5
      . Akasa AK-CR-03, BZH uKeyCI800-K18
Packit 9f0df5
      . Free Software Initiative of Japan Gnuk token readers
Packit 9f0df5
      . Gemalto Smart Guardian (SG CCID)
Packit 9f0df5
      . ReinerSCT cyberJack RFID basis
Packit 9f0df5
    - Remove O2 Micro Oz776 and Blutronics Bludrive II CCID since they
Packit 9f0df5
      are no more supported since version 1.4.0
Packit 9f0df5
    - SecurePINVerify() & SecurePINModify(): Accept big and little
Packit 9f0df5
      endian byte orders for multibytes fields. The application
Packit 9f0df5
      should not use HOST_TO_CCID_16() and HOST_TO_CCID_32() any more
Packit 9f0df5
      and just use the normal byte order of the architecture.
Packit 9f0df5
    - Need pcsc-lite 1.6.5 for TAG_IFD_POLLING_THREAD_WITH_TIMEOUT
Packit 9f0df5
    - Add --enable-embedded (default is no) to build libccid for an
Packit 9f0df5
      embedded system.  This will activate the NO_LOG option to disable
Packit 9f0df5
      logging and limit RAM and disk consumption.
Packit 9f0df5
    - Remove --enable-udev option since it is not used anymore with
Packit 9f0df5
      libhal. The udev rules file is now used to change the access
Packit 9f0df5
      rights of the device and not send a hotplug signal to pcscd.
Packit 9f0df5
      See http://ludovicrousseau.blogspot.com/2010/09/pcscd-auto-start.html
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.4.0 - 4 August 2010, Ludovic Rousseau
Packit 9f0df5
    - add support of
Packit 9f0df5
      . ACS AET65
Packit 9f0df5
      . Broadcom 5880
Packit 9f0df5
      . C3PO LTC36
Packit 9f0df5
      . Dectel CI692
Packit 9f0df5
      . Gemalto Hybrid Smartcard Reader
Packit 9f0df5
      . Kingtrust Multi-Reader
Packit 9f0df5
      . Tianyu Smart Card Reader
Packit 9f0df5
      . Todos CX00
Packit 9f0df5
    - Add support of the SCM SDI 010 again. At least the contact
Packit 9f0df5
      interface can be used.
Packit 9f0df5
    - Use libusb-1.0 instead of libusb-0.1
Packit 9f0df5
    - add support of TAG_IFD_STOP_POLLING_THREAD and use of the
Packit 9f0df5
      asynchronous libusb API to be able to stop a transfer.
Packit 9f0df5
    - Request pcsc-lite 1.6.2 minimum (instead of 1.6.0) to have
Packit 9f0df5
      TAG_IFD_STOP_POLLING_THREAD defined
Packit 9f0df5
    - The O2MICRO OZ776 patch (for OZ776, OZ776_7772, REINER_SCT and
Packit 9f0df5
      BLUDRIVEII_CCID) is no more supported with libusb-1.0
Packit 9f0df5
    - correctly get the IFSC from the ATR (ATR parsing was not always
Packit 9f0df5
      correct)
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.13 - 4 June 2010, Ludovic Rousseau
Packit 9f0df5
    - much faster warm start (up to 3.8 second gained)
Packit 9f0df5
    - Add support of SCARD_ATTR_VENDOR_IFD_SERIAL_NO to get the serial
Packit 9f0df5
      number of the USB device
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.12 - 8 May 2010, Ludovic Rousseau
Packit 9f0df5
    - add support of
Packit 9f0df5
      . Ask CPL108
Packit 9f0df5
      . Atmel AT90SCR050
Packit 9f0df5
      . Atmel AT90SCR100
Packit 9f0df5
      . Atmel VaultIC420
Packit 9f0df5
      . Atmel VaultIC440
Packit 9f0df5
      . Atmel VaultIC460
Packit 9f0df5
      . Cherry SmartTerminal XX7X
Packit 9f0df5
      . Covadis Auriga
Packit 9f0df5
      . German Privacy Foundation Crypto Stick v1.2
Packit 9f0df5
      . GoldKey PIV Token
Packit 9f0df5
      . KOBIL Smart Token
Packit 9f0df5
      . KOBIL mIDentity 4smart
Packit 9f0df5
      . KOBIL mIDentity 4smart AES
Packit 9f0df5
      . KOBIL mIDentity 4smart fullsize AES
Packit 9f0df5
      . KOBIL mIDentity fullsize
Packit 9f0df5
      . KOBIL mIDentity visual
Packit 9f0df5
      . SCM SCR3500
Packit 9f0df5
      . Smart SBV280
Packit 9f0df5
      . Todos AGM2 CCID
Packit 9f0df5
      . Vasco DIGIPASS KEY 200
Packit 9f0df5
      . Vasco DIGIPASS KEY 860
Packit 9f0df5
      . Vasco DP855
Packit 9f0df5
      . Vasco DP865
Packit 9f0df5
      . id3 CL1356T5
Packit 9f0df5
    - remove support of Smart SBV280 on manufacturer request. They use
Packit 9f0df5
      libusb directly.
Packit 9f0df5
    - remove support of SCM SDI 010 on manufacturer request since not
Packit 9f0df5
      supported by my driver
Packit 9f0df5
    - Enable the Broadcom 5880 reader. It should work after a firmware
Packit 9f0df5
      upgrade.
Packit 9f0df5
    - better support of Dell keyboard
Packit 9f0df5
    - better support of multislot readers (like the GemCore SIM Pro)
Packit 9f0df5
    - better support of SCM SCR3310
Packit 9f0df5
    - better support of ICCD version A devices
Packit 9f0df5
    - The Covadis Véga-Alpha reader is a GemPC pinpad inside. So we use
Packit 9f0df5
      the same code to:
Packit 9f0df5
      . load the strings for the display
Packit 9f0df5
      . avoid limitation of the reader
Packit 9f0df5
    - IFDHControl(): the (proprietary) get firmware version escape
Packit 9f0df5
      command is allowed with a Gemalto reader
Packit 9f0df5
      . the (proprietary) switch interface escape command is allowed on
Packit 9f0df5
      the Gemalto GemProx DU
Packit 9f0df5
      . return IFD_ERROR_NOT_SUPPORTED instead of
Packit 9f0df5
      IFD_COMMUNICATION_ERROR if the dwControlCode value is not
Packit 9f0df5
      supported
Packit 9f0df5
      . return IFD_ERROR_INSUFFICIENT_BUFFER when appropriate
Packit 9f0df5
    - IFDHGetCapabilities(): add support of SCARD_ATTR_ICC_PRESENCE and
Packit 9f0df5
      SCARD_ATTR_ICC_INTERFACE_STATUS
Packit 9f0df5
    - support FEATURE_GET_TLV_PROPERTIES
Packit 9f0df5
    - add support of IOCTL_FEATURE_GET_TLV_PROPERTIES bMinPINSize &
Packit 9f0df5
      bMaxPINSize for Gemalto Pinpad V1 & Covadis Véga-Alpha
Packit 9f0df5
    - support extended APDU of up to 64kB with APDU readers.
Packit 9f0df5
    - get the language selected during Mac OS X installation as language
Packit 9f0df5
      to use for Covadis Véga-Alpha and Gemalto GemPC PinPad pinpad
Packit 9f0df5
      readers
Packit 9f0df5
    - FEATURE_MCT_READER_DIRECT is also supported by the Kobil mIDentity
Packit 9f0df5
      visual
Packit 9f0df5
    - better support of Sun Studio CC
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.11 - 28 July 2009, Ludovic Rousseau
Packit 9f0df5
    - add support of
Packit 9f0df5
      . Raritan D2CIM-DVUSB VM/CCID
Packit 9f0df5
      . Feitian SCR301
Packit 9f0df5
      . Softforum XecureHSM
Packit 9f0df5
      . 2 Neowave Weneo tokens
Packit 9f0df5
      . Synnix STD200
Packit 9f0df5
      . Aktiv Rutoken ECP
Packit 9f0df5
      . Alcor Micro SCR001
Packit 9f0df5
      . ATMEL AT91SC192192CT-USB
Packit 9f0df5
      . Panasonic USB Smart Card Reader 7A-Smart
Packit 9f0df5
      . Gemalto GemProx DU and SU
Packit 9f0df5
    - remove support of Reiner-SCT cyberJack pinpad(a) on request of
Packit 9f0df5
      Reiner-SCT.  You should user the Reiner-SCT driver instead
Packit 9f0df5
    - define CFBundleName to CCIDCLASSDRIVER so that non class drivers
Packit 9f0df5
      have a higher priority. Used by pcsc-lite 1.5.5 and up.
Packit 9f0df5
      Add a --disable-class configure option so that the Info.plist does
Packit 9f0df5
      not define a Class driver. Default is class driver.
Packit 9f0df5
    - do not power up a card with a voltage not supported by the reader
Packit 9f0df5
    - add support of PIN_PROPERTIES_STRUCTURE structure and
Packit 9f0df5
      FEATURE_IFD_PIN_PROPERTIES
Packit 9f0df5
    - adds support of FEATURE_MCT_READERDIRECT. Only the Kobil TriB@nk
Packit 9f0df5
      reader supports this feature for now. This is used for the Secoder
Packit 9f0df5
      functionality in connected mode.
Packit 9f0df5
    - add support of a composite device. No change needed with libhal.
Packit 9f0df5
      use --enable-composite-as-multislot on Mac OS X since libhal is
Packit 9f0df5
      not available on Mac OS X or with libusb on Linux
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.10 - 7 March 2009, Ludovic Rousseau
Packit 9f0df5
    - add support for
Packit 9f0df5
      . Aktiv Rutoken Magistra
Packit 9f0df5
      . Atmel AT98SC032CT
Packit 9f0df5
      . MSI StarReader SMART
Packit 9f0df5
      . Noname reader (from Omnikey)
Packit 9f0df5
      . Precise Biometrics 200 MC and 250 MC
Packit 9f0df5
      . Realtek 43 in 1 + Sim + Smart Card Reader
Packit 9f0df5
      . TianYu CCID SmartKey
Packit 9f0df5
      . Xiring Xi Sign PKI
Packit 9f0df5
    - add a patch to support the bogus OpenPGP card (on board key
Packit 9f0df5
      generation sometimes timed out)
Packit 9f0df5
    - disable support of the contactless part of SDI010 and SCR331DI
Packit 9f0df5
      (this code was reverse engineered and hard to maintain)
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.9 - 18 November 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for
Packit 9f0df5
     . ACS ACR122U PICC
Packit 9f0df5
     . Aladdin eToken PRO USB 72K Java
Packit 9f0df5
     . Atmel AT91SO
Packit 9f0df5
     . CSB6 Basic
Packit 9f0df5
     . CSB6 Secure
Packit 9f0df5
     . CSB6 Ultimate
Packit 9f0df5
     . Cherry SmartTerminal ST-1200USB
Packit 9f0df5
     . CrazyWriter
Packit 9f0df5
     . EasyFinger Standard
Packit 9f0df5
     . EasyFinger Ultimate
Packit 9f0df5
     . Gemalto PDT
Packit 9f0df5
     . HP MFP Smart Card Reader
Packit 9f0df5
     . KONA USB SmartCard
Packit 9f0df5
     . SpringCard Prox'N'Roll
Packit 9f0df5
     . VMware Virtual USB CCID
Packit 9f0df5
    - MacOSX/configure: do not overwrite PCSC_CFLAGS, PCSC_LIBS,
Packit 9f0df5
      LIBUSB_CFLAGS and LIBUSB_LIBS if already defined by the user
Packit 9f0df5
    - by default, link statically against libusb on Mac OS X
Packit 9f0df5
    - IFDHPowerICC(): use a very long timeout for PowerUp since the card
Packit 9f0df5
      can be very slow to send the full ATR (up to 30 seconds at 4 MHz)
Packit 9f0df5
    - SecurePINVerify(): correct a bug when using a Case 1 APDU and a
Packit 9f0df5
      SCM SPR532 reader
Packit 9f0df5
    - log the reader name instead of just the pcscd Lun
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.8 - 27 June 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for
Packit 9f0df5
      . Oberthur ID-One Cosmo Card
Packit 9f0df5
    - do not include the release number in the Info.plist to avoid a
Packit 9f0df5
      diff of a configuration file when upgrading the package.
Packit 9f0df5
    - do not fail compilation if libusb is not available
Packit 9f0df5
    - do not crash if the reader firmware is bogus and does not support
Packit 9f0df5
      chaining for extended APDU.  This is the case for Kobil readers
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.7 - 8 June 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for
Packit 9f0df5
      . ActivCard Activkey Sim
Packit 9f0df5
      . Pro-Active CSB6 Ultimate
Packit 9f0df5
      . id3 Semiconductors CL1356A HID
Packit 9f0df5
    - src/parse: do not try to parse devices with bInterfaceClass=0xFF
Packit 9f0df5
      by default (use command line argument -p for proprietary class)
Packit 9f0df5
    - configure.in: check if libusb-0.1 is emulated by libusb-compat +
Packit 9f0df5
      libusb-1.0 to use or not the USB interrupt feature
Packit 9f0df5
    - correct a bug in the serial communication (GemPC twin serial
Packit 9f0df5
      reader)
Packit 9f0df5
    - correct a pthread problem under Solaris
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.6 - 30 April 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for
Packit 9f0df5
     . Covadis Alya
Packit 9f0df5
     . Covadis Véga
Packit 9f0df5
     . Precise Biometrics 250 MC
Packit 9f0df5
     . Validy TokenA sl vt
Packit 9f0df5
     . Vasco DP905
Packit 9f0df5
    - better support for the O2Micro OZ776, GemCore SIM Pro
Packit 9f0df5
    - the environment variable LIBCCID_ifdLogLevel overwrite the value
Packit 9f0df5
      of ifdLogLevel read from the Info.plist file
Packit 9f0df5
    - add support for DragonFly BSD
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.5 - 22 February 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for Gemplus Gem e-Seal Pro, Cherry SmartBoard,
Packit 9f0df5
      G83-6610
Packit 9f0df5
    - use usb_interrupt_read() only if libusb > 0.1.12 or
Packit 9f0df5
      --enable-usb-interrupt is used. libusb <= 0.1.12 is bogus and will
Packit 9f0df5
      consume more CPU than needed.
Packit 9f0df5
    - contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch was broken
Packit 9f0df5
      on Linux since release 1.3.1
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.4 - 8 February 2008, Ludovic Rousseau
Packit 9f0df5
    - the serial driver could not be loaded because of the missing
Packit 9f0df5
      symbol InterruptRead
Packit 9f0df5
    - remove WAIT_FOR_SYSFS="bInterfaceProtocol" to do not delay udev
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.3 - 6 February 2008, Ludovic Rousseau
Packit 9f0df5
    - add support for Lexar Smart Enterprise Guardian and Blutronics
Packit 9f0df5
      Bludrive II CCID
Packit 9f0df5
    - add support of TAG_IFD_POLLING_THREAD using IFDHPolling() to
Packit 9f0df5
      detect asynchronous card movements. With this feature pcscd will
Packit 9f0df5
      not poll the reader every 0.4 second for a card movement but will
Packit 9f0df5
      wait until the reader sends a USB interrupt signal
Packit 9f0df5
    - correct a bug with an ICCD-B device and a receive buffer smaller
Packit 9f0df5
      than 4 bytes
Packit 9f0df5
    - remove the sleep in the udev rule. It slows down the detection of
Packit 9f0df5
      any USB device
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.2 - 22 January 2008, Ludovic Rousseau
Packit 9f0df5
    - add support of Apple Mac OS X Leopard (10.5.1)
Packit 9f0df5
    - solve a hotplug problem on Ubuntu 7.10 (reader was not detected)
Packit 9f0df5
    - create a symlink from libccidtwin.so to libccidtwin.so.VERSION so
Packit 9f0df5
      that the /etc/reader.conf configuration file do not need to edited
Packit 9f0df5
      for each new driver version
Packit 9f0df5
    - make driver for the GemPC Serial compile again
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.1 - 16 November 2007, Ludovic Rousseau
Packit 9f0df5
    - add support for "Philips Semiconductors JCOP41V221" ICCD card,
Packit 9f0df5
      O2Micro oz776 (ProductID 0x7772), CardMan5321, Giesecke & Devrient
Packit 9f0df5
      StarSign Card Token 350 and 550, SafeNet IKey4000, Eutron
Packit 9f0df5
      CryptoIdentity, Eutron Smart Pocket, Eutron Digipass 860, Lenovo
Packit 9f0df5
      Integrated Smart Card Reader, "Kobil EMV CAP - SecOVID Reader III,
Packit 9f0df5
      Charismathics token, Reiner-SCT cyberJack pinpad(a)
Packit 9f0df5
    - improve support of Mac OS X and *BSD
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.3.0 - 10 May 2007, Ludovic Rousseau
Packit 9f0df5
    - add support of ICCD version A and B
Packit 9f0df5
    - add support for (new) KOBIL mIDentity, SchlumbergerSema Cyberflex
Packit 9f0df5
      Access e-gate ICCD, Fujitsu Siemens Computers SmartCard USB 2A and
Packit 9f0df5
      SmartCard Keyboard USB 2A readers, OmniKey CardMan 4321
Packit 9f0df5
    - contrib/RSA_SecurID/RSA_SecurID_getpasswd: tool to get the on time
Packit 9f0df5
      password also displayed on the token screen
Packit 9f0df5
    - contrib/Kobil_mIDentity_switch: tool to activate the CCID reader
Packit 9f0df5
      of the Kobil mIDentity. The tool should be started automatically
Packit 9f0df5
      by the udev rule on Linux
Packit 9f0df5
    - GemPC pinpad: localisation of the string "PIN blocked", add
Packit 9f0df5
      Portuguese(pt), Dutch(nl) and Turkish(tr) localisations
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
1.2.1 - 27 January 2007, Ludovic Rousseau
Packit 9f0df5
    - pcscd_ccid.rules: add non CCID generic (InterfaceClass: 0xFF)
Packit 9f0df5
      readers
Packit 9f0df5
    - INSTALL: document how to use --enable-udev on FreeBSD
Packit 9f0df5
    - move the O2Micro Oz7762 from the unsupported to the supported list
Packit 9f0df5
      since patches to support it are applied by default
Packit 9f0df5
      (O2MICRO_OZ776_PATCH)
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.2.0 - 19 January 2007, Ludovic Rousseau
Packit 9f0df5
    - add support for SCARD_ATTR_VENDOR_IFD_VERSION,
Packit 9f0df5
      SCARD_ATTR_VENDOR_NAME and SCARD_ATTR_MAXINPUT tags used by
Packit 9f0df5
      SCardGetAttrib(). Read SCARDGETATTRIB.txt for more documentation
Packit 9f0df5
    - add support for OmniKey CardMan 5125, CardMan 1021, C3PO LTC32,
Packit 9f0df5
      Teo by Xiring, HP USB Smartcard Reader
Packit 9f0df5
    - use --enable-twinserial to build the serial reader driver
Packit 9f0df5
    - use --enable-udev to configure for a use with Linux udev hotplug
Packit 9f0df5
      mechanism. This will allow pcscd to avoid polling the USB bus
Packit 9f0df5
      every 1 second
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.1.0 - 11 August 2006, Ludovic Rousseau
Packit 9f0df5
    - support Extended APDU (up to 64KB) for readers in TPDU mode (many
Packit 9f0df5
      readers) or Extended APDU mode (very rare). This only works for
Packit 9f0df5
      T=1 cards.
Packit 9f0df5
    - add support for C3PO LTC31 (new version), OmniKey CardMan 3021, HP
Packit 9f0df5
      USB Smart Card Keyboard, Actividentity (ActiveCard) Activkey Sim,
Packit 9f0df5
      id3 Semiconductors CL1356D and CL1356T, Alcor Micro AU9520
Packit 9f0df5
    - support the contactless interface of the SCR331-DI-NTTCOM
Packit 9f0df5
    - add support of FreeBSD
Packit 9f0df5
    - increase the USB timeout used for PIN verify/modify to not timeout
Packit 9f0df5
      before the reader
Packit 9f0df5
    - the 4-bytes value returned by CM_IOCTL_GET_FEATURE_REQUEST shall
Packit 9f0df5
      be encoded in big endian as documented in PCSC v2 part 10 ch 2.2
Packit 9f0df5
      page 2. The applications using this feature shall be updated (to
Packit 9f0df5
      respect the PCSC specification).
Packit 9f0df5
    - use ./configure --enable-twinserial to compile and install the the
Packit 9f0df5
      driver for the GemPC Twin serial
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.0.1 - 22 April 2006, Ludovic Rousseau
Packit 9f0df5
    - add support for Axalto Reflex USB v3, SCM Micro SDI 010, Winbond
Packit 9f0df5
      Electronics W81E381 chipset, Gemplus GemPC Card, Athena ASE IIIe
Packit 9f0df5
      KB USB, OmniKey CardMan 3621
Packit 9f0df5
    - support Solaris (Solaris uses a different libusb)
Packit 9f0df5
    - better documentation for ./configure arguments
Packit 9f0df5
    - improve support of Cherry XX44 keyboard for PIN verify and change
Packit 9f0df5
      (circumvent firmware bugs)
Packit 9f0df5
    - do not use LTPBundleFindValueWithKey() from pcscd since this
Packit 9f0df5
      function has been removed from pcscd API
Packit 9f0df5
    - use -fvisibility=hidden is available to limit the number of
Packit 9f0df5
      exported symbols
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
1.0.0 - 3 March 2006, Ludovic Rousseau
Packit 9f0df5
    - add support for ActivCard USB Reader 3.0, Athena ASE IIIe USB V2,
Packit 9f0df5
      SCM Micro SCR 355, SCR 3311, SCR 3320, SCR 3340 ExpressCard54,
Packit 9f0df5
      Gemplus GemCore SIM Pro, GemCore POS Pro (serial and USB), GemPC
Packit 9f0df5
      Express (ExpressCard/54 interface), SmartEpad (v 2.0), OmniKey
Packit 9f0df5
      CardMan 5121
Packit 9f0df5
    - greatly improve support of PIN PAD readers. We now support TPDU
Packit 9f0df5
      readers with T=1 cards
Packit 9f0df5
    - use l10n strings for the Gemplus GemPC PIN PAD (it has a screen).
Packit 9f0df5
      Supported languages are: de, en, es, fr, it
Packit 9f0df5
    - rename ACS ACR 38 in ACR 38U-CCID since the ACR 38 is a different
Packit 9f0df5
      reader and is not CCID compatible
Packit 9f0df5
    - allow to select the Power On voltage using Info.plist instead of
Packit 9f0df5
      recompiling the source code
Packit 9f0df5
    - correct bugs in the support of multi-slots readers
Packit 9f0df5
    - if the card is faster than the reader (TA1=97 for example) we try
Packit 9f0df5
      to use a not-so-bad speed (corresponding to TA1=96, 95 or 94)
Packit 9f0df5
      instead of the default speed of TA1=11
Packit 9f0df5
    - the src/parse tool do not use the driver anymore. No need to
Packit 9f0df5
      update the Info.plist file first.
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
0.9.4 - 27 November 2005, Ludovic Rousseau
Packit 9f0df5
    - add support for Eutron SIM Pocket Combo, Eutron CryptoIdentity,
Packit 9f0df5
      Verisign Secure Token and VeriSign Secure Storage Token, GemPC
Packit 9f0df5
      Card (PCMCIA), SCM SCR331-DI NTTCom, SCM Micro SCR 3310-NTTCom,
Packit 9f0df5
      Cherry ST-1044U, Cherry SmartTerminal ST-2XXX
Packit 9f0df5
    - add support of PC/SC v2 part 10 CM_IOCTL_GET_FEATURE_REQUEST add
Packit 9f0df5
      support of FEATURE_VERIFY_PIN_DIRECT and FEATURE_MODIFY_PIN_DIRECT
Packit 9f0df5
      remove support of IOCTL_SMARTCARD_VENDOR_VERIFY_PIN (now
Packit 9f0df5
      obsoleted). A sample code is available in examples/scardcontrol.c
Packit 9f0df5
    - we need pcsc-lite 1.2.9-beta9 since some structures used for PIN
Packit 9f0df5
      pad readers are defined by pcsc-lite
Packit 9f0df5
    - some (bogus) cards require an extra EGT but the ATR does not say
Packit 9f0df5
      so. We try to detect the bogus cards and set TC1=2
Packit 9f0df5
    - IFDHSetProtocolParameters(): only use a data rate supported by the
Packit 9f0df5
      reader in the PPS negociation, otherwise we stay at the default
Packit 9f0df5
      speed.
Packit 9f0df5
    - calculate and store the read timeout according to the card ATR
Packit 9f0df5
      instead of using a fixed value of 60 seconds
Packit 9f0df5
    - increase the read timeout if the card sends and WTX request
Packit 9f0df5
    - improve support of GemPC Twin and GemPC Card (serial protocol)
Packit 9f0df5
    - reset the device on close only if DRIVER_OPTION_RESET_ON_CLOSE is
Packit 9f0df5
      set. The problem was that a device reset also disconnects the
Packit 9f0df5
      keyboard on a keyboard + reader device.
Packit 9f0df5
    - use color logs
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
0.9.3 - 14 March 2005, Ludovic Rousseau
Packit 9f0df5
    - change the licence from GNU GPL to GNU Lesser GPL (LGPL)
Packit 9f0df5
    - add support for ACS ACR 38, Kobil KAAN Base, Kobil KAAN Advanced,
Packit 9f0df5
      Kobil KAAN SIM III, Kobil KAAN mIDentity, SCM Micro SCR 331,
Packit 9f0df5
      SCM Micro SCR 331-DI, SCM Micro SCR 335, SCM Micro SCR 3310,
Packit 9f0df5
      SCM Micro SCR 532, Cherry XX44 readers
Packit 9f0df5
    - improve communication speed with readers featuring "Automatic PPS
Packit 9f0df5
      made by the CCID"
Packit 9f0df5
    - switch the Cherry xx33 reader in ISO mode if power up in EMV mode
Packit 9f0df5
      fails.
Packit 9f0df5
    - add support of character level readers. Thanks to O2Micro for the
Packit 9f0df5
      patch
Packit 9f0df5
    - add support for the O2Micro OZ776S reader but the reader firmware
Packit 9f0df5
      is still bogus
Packit 9f0df5
    - check firmware version to avoid firmwares with bugs. You can still
Packit 9f0df5
      use a bogus firmware by setting DRIVER_OPTION_USE_BOGUS_FIRMWARE
Packit 9f0df5
      in Info.plist
Packit 9f0df5
    - some minor bugs removed
Packit 9f0df5
Packit 9f0df5
0.9.2 - 15 August 2004, Ludovic Rousseau
Packit 9f0df5
    - T=1 TPDU code:
Packit 9f0df5
      . the work on T=1 TPDU code was possible thanks to Gemplus
Packit 9f0df5
        validation team who helped me test, debug and bring the code to
Packit 9f0df5
        an EMV validation level. Thanks to Jérôme, Jean-Yves, Xavier and
Packit 9f0df5
        the Gemplus readers department
Packit 9f0df5
      . error code was not checked correctly
Packit 9f0df5
      . avoid a (nearly) infinite loop when resynch are needed.
Packit 9f0df5
      . correctly initialise an internal value to allow more than one
Packit 9f0df5
        reader to work
Packit 9f0df5
    - multi-slots readers
Packit 9f0df5
      . add support for multi-slots readers. The only one I have is a
Packit 9f0df5
        SCM Micro SCR 331-DI with a contact and a contactless interface.
Packit 9f0df5
        The contactless interface may or may not work for you since the
Packit 9f0df5
        reader uses proprietary (undocumented) commands.
Packit 9f0df5
    - GemPC Twin serial reader
Packit 9f0df5
      . perform a command (get the reader firmware) to be sure a GemPC
Packit 9f0df5
        Twin (serial or pcmcia) reader is connected
Packit 9f0df5
      . use a dynamic timeout when reading the serial port.
Packit 9f0df5
        The first timeout used when detecting the reader is 2 seconds to
Packit 9f0df5
        not wait too long if no reader is connected. Later timeouts are
Packit 9f0df5
        set to 1 minute to allow long time APDU.
Packit 9f0df5
    - use `pkg-config libpcsclite --cflags` to locate the pcsc-lite
Packit 9f0df5
      header files
Packit 9f0df5
    - use `pkg-config --print-errors --atleast-version=1.2.9-beta5 libpcsclite`
Packit 9f0df5
      to test the pcsc-lite version
Packit 9f0df5
    - code improvements thanks to the splint tool (http://www.splint.org/)
Packit 9f0df5
Packit 9f0df5
0.9.1 - 1 July 2004, Ludovic Rousseau
Packit 9f0df5
    - I forgot to define IFD_PARITY_ERROR in a .h file
Packit 9f0df5
Packit 9f0df5
0.9.0 - 1 July 2004, Ludovic Rousseau
Packit 9f0df5
    - The T=1 TPDU automata from Carlos Prados' Towitoko driver is very
Packit 9f0df5
      limited and do not support error management mechanisms.
Packit 9f0df5
      I then used the T=1 TPDU automata from OpenCT (OpenSC project).
Packit 9f0df5
      This automata is much more powerful but still lacks a lot of error
Packit 9f0df5
      management code.
Packit 9f0df5
      I then added all the needed code to reach the quality level
Packit 9f0df5
      requested by the EMV standard.
Packit 9f0df5
    - add support for new readers:
Packit 9f0df5
      . Advanced Card Systems ACR 38
Packit 9f0df5
      . Cherry XX33
Packit 9f0df5
      . Dell keyboard SK-3106
Packit 9f0df5
      . Dell smart card reader keyboard
Packit 9f0df5
      . SCR 333
Packit 9f0df5
    - add support of multi procotol cards (T=0 and T=1)
Packit 9f0df5
    - the debug level is now dynamic and set in the Info.plist file (no
Packit 9f0df5
      need to recompile the driver any more)
Packit 9f0df5
    - add support for the libusb naming scheme: usb:%04x/%04x:libusb:%s
Packit 9f0df5
    - INSTALL: add a "configuring the driver for the serial reader
Packit 9f0df5
      (GemPC Twin)" part
Packit 9f0df5
    - use `pkg-config libpcsclite --variable=usbdropdir` so you do not
Packit 9f0df5
      have to use --enable-usbdropdir=DIR or --enable-ccidtwindir=DIR
Packit 9f0df5
      even if pcscd does not use the default /usr/local/pcsc/drivers
Packit 9f0df5
    - add support of IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE and
Packit 9f0df5
      IOCTL_SMARTCARD_VENDOR_VERIFY_PIN in IFDHControl()
Packit 9f0df5
    - read ifdDriverOptions from Info.plist to limit the use of
Packit 9f0df5
      IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE (idea from Peter Williams)
Packit 9f0df5
    - provide an example of use of SCardControl()
Packit 9f0df5
      IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE and
Packit 9f0df5
      IOCTL_SMARTCARD_VENDOR_VERIFY_PIN in example/
Packit 9f0df5
    - add a --enable-pcsclite option (default to yes) so that the driver
Packit 9f0df5
      can be compiled for a different framework (one needing
Packit 9f0df5
      tokenparser.l like Solaris)
Packit 9f0df5
    - Reset action is power off and power on, not just power on
Packit 9f0df5
    - use the include files from pcsc-lite
Packit 9f0df5
    - add a mechanism to allow power on at 1.8V, 3V and then 5V as
Packit 9f0df5
      specified by ISO 7816. We still use 5V for now to avoid problems
Packit 9f0df5
      with non ISO compliant cards
Packit 9f0df5
Packit 9f0df5
0.4.1 - 14 February 2004, Ludovic Rousseau
Packit 9f0df5
    - distribute missing files readers/supported_readers.txt and
Packit 9f0df5
      src/create_Info_plist.pl
Packit 9f0df5
      'make install' failed because of this.
Packit 9f0df5
Packit 9f0df5
0.4.0 - 13 February 2004, Ludovic Rousseau
Packit 9f0df5
    - support of T=1 with TPDU readers. A lot of the T=1 code comes from
Packit 9f0df5
      Carlos Prados towitoko driver.
Packit 9f0df5
      My code is GNU GPL, his code is GNU LGPL so the global driver is
Packit 9f0df5
      GNU GPL
Packit 9f0df5
    - PPS negotiation if the reader does not do it automatically
Packit 9f0df5
    - add support for the Silitek SK-3105 keyboard. It's a USB device
Packit 9f0df5
      with multiple interfaces
Packit 9f0df5
    - use the create_Info_plist.pl script to generate the installed
Packit 9f0df5
      Info.plist from an Info.plist template and a list of supported
Packit 9f0df5
      readers. The Info.plist was too "complex" to maintain by hand
Packit 9f0df5
      since it now contains 11 entries
Packit 9f0df5
    - add support of IFDHCreateChannelByName to avoid wrong reader
Packit 9f0df5
      enumeration. This is not complete if you have multiple _identical_
Packit 9f0df5
      readers. You need to use a > 1.2.0 pcsc-lite version (not yet
Packit 9f0df5
      released at that time)
Packit 9f0df5
    - build but do not install the serial ccidtwin driver by default
Packit 9f0df5
      since it is useless on computers without a serial port or without
Packit 9f0df5
      this reader for example.
Packit 9f0df5
    - read and write timeouts are not symmetric. write timout can be
Packit 9f0df5
      shorter since the reader and card is not supposed to do anything
Packit 9f0df5
      before receiving (write) a command
Packit 9f0df5
    - do not try to find usb.h and other libusb files if
Packit 9f0df5
      --disable-libusb is used. Needed if you only want to build the
Packit 9f0df5
      serial driver.  Thanks to Niki Waibel for the patch
Packit 9f0df5
    - add a --enable-ccidtwindir argument to ./configure to specify the
Packit 9f0df5
      serial GemPC Twin installation directory
Packit 9f0df5
    - debug and code improvements and simplifications
Packit 9f0df5
Packit 9f0df5
0.3.2 - 4 November 2003, Ludovic Rousseau
Packit 9f0df5
    - src/commands.c: correct a stupid bug that occurs with an APDU with
Packit 9f0df5
      2 bytes response.
Packit 9f0df5
    - Info.plist: add SPR 532 in list of supported readers
Packit 9f0df5
    - parse.c: do not exit if the InterfaceClass is 0xFF (proprietary).
Packit 9f0df5
      It is the case with old readers manufactured before the final
Packit 9f0df5
      release of the CCID specs.
Packit 9f0df5
    - move LTC31 reader from unsupported to supported reader list. It
Packit 9f0df5
      was my f ault since in used odd INS byte in my test applet and odd
Packit 9f0df5
      INS bytes are forbidden by ISO 7816-4 ch. 5.4.2 Instruction byte.
Packit 9f0df5
      Thanks to Josep Moné s Teixidor for pointing the problem.
Packit 9f0df5
    - src/commands.c: comment out the automatic GET RESPONSE part. I
Packit 9f0df5
      don't think it should be in the driver. Maybe in pcscd instead?
Packit 9f0df5
Packit 9f0df5
0.3.1 - 23 September 2003, Ludovic Rouseau
Packit 9f0df5
    - add --enable-multi-thread (enabled by default) for thread safe
Packit 9f0df5
      support an APDU multiplexing. You will need pcsc-lite-1.2.0-rc3 or
Packit 9f0df5
      above to use this feature.
Packit 9f0df5
    - add --enable-libusb=PATH option is your libusb is not installed in
Packit 9f0df5
      /usr or /usr/local
Packit 9f0df5
    - honor DESTDIR in install rules (closes [ #300110 ]). Thanks to
Packit 9f0df5
      Ville Skyttä for the patch.
Packit 9f0df5
    - src/ccid.c: do not switch the GemPC Key and GemPC Twin in APDU
Packit 9f0df5
      mode since it also swicth in EMV mode and may not work with non
Packit 9f0df5
      EMV cards
Packit 9f0df5
    - src/ccid_serial.c: complete reimplementation of the Twin serial
Packit 9f0df5
      protocol using a finite state automata (code much simpler)
Packit 9f0df5
Packit 9f0df5
0.3.0 - 10 September 2003, Ludovic Rousseau
Packit 9f0df5
    - support of GemPC Twin connected to a serial port. Thanks to Niki
Packit 9f0df5
      W. Waibel for a working prototype.
Packit 9f0df5
    - support of auto voltage at power up if the reader support it
Packit 9f0df5
      instead of forcing a 5V in all cases.
Packit 9f0df5
    - support of APDU mode instead of just TPDU if the reader support
Packit 9f0df5
      it. Thanks to Jean-Luc Giraud for the idea and inspiration I got
Packit 9f0df5
      from his "concurrent" driver.
Packit 9f0df5
    - support of "time request" from the card.
Packit 9f0df5
    - parse: new indentation for more readability of supported features.
Packit 9f0df5
    - switch the GemPC Key and GemPC Twin in APDU mode since they
Packit 9f0df5
      support it but do not announce it in the dwFeatures.
Packit 9f0df5
    - new build process using autoconf/automake.
Packit 9f0df5
Packit 9f0df5
0.2.0 - 26 August 2003, Ludovic Rousseau
Packit 9f0df5
    - Works under MacOS X
Packit 9f0df5
    - Info.plist: use an <array></array> for the alias enumeration
Packit 9f0df5
    - Makefile rework for *BSD and MacOS X
Packit 9f0df5
Packit 9f0df5
0.1.0 - 13 August 2003, Ludovic Rousseau
Packit 9f0df5
    - First public release
Packit 9f0df5
Packit 9f0df5
Packit 9f0df5
 vim:ts=20