• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MacOSX/H06-Jan-2020-1,437455

config/H06-Jan-2020-17,61313,175

m4/H06-Jan-2020-9,6648,750

src/H03-May-2022-21,04913,735

AUTHORSH A D22-May-2012184 97

COPYINGH A D18-Nov-200825.9 KiB511422

ChangeLogH A D06-Jan-2020103 KiB3,4001,945

INSTALLH A D10-Dec-2014462 2416

Makefile.amH A D23-Oct-2017494 2620

Makefile.inH A D06-Jan-202026.4 KiB868767

NEWSH A D10-Dec-201431 21

READMEH A D06-Jan-202022.3 KiB574520

aclocal.m4H A D06-Jan-202099.4 KiB2,6562,486

bootstrapH A D02-Jun-2011272 138

config.h.inH A D06-Jan-20203.7 KiB14899

configureH A D06-Jan-2020510.5 KiB17,32314,565

configure.acH A D06-Jan-20207.6 KiB280228

README

1ACS CCID PC/SC Driver for Linux/Mac OS X
2Advanced Card Systems Ltd.
3
4
5
6Introduction
7------------
8
9acsccid is a PC/SC driver for Linux/Mac OS X and it supports ACS CCID smart card
10readers. This library provides a PC/SC IFD handler implementation and
11communicates with the readers through the PC/SC Lite resource manager (pcscd).
12
13acsccid is based on ccid. See CCID free software driver [1] for more
14information.
15
16To build acsccid, you need the following software:
17
18Linux
19- pcsclite 1.8.3 or above
20- libusb 1.0.9 or above
21- flex
22- perl
23- pkg-config
24
25Mac OS X
26- libusb 1.0.9 or above
27- pkg-config
28
29For more information, see the INSTALL file.
30
31[1] https://ccid.apdu.fr/
32
33
34
35System Requirements
36-------------------
37
38Linux
39Mac OS X 10.5 or above
40
41
42
43Supported Readers
44-----------------
45
46CCID Readers
47
48VID  PID  Reader              Reader Name
49---- ---- ------------------- -----------------------------
50072F B301 ACR32-A1            ACS ACR32 ICC Reader
51072F B304 ACR3201-A1          ACS ACR3201 ICC Reader
52072F B305 ACR3201             ACS ACR3201 ICC Reader
53072F 8300 ACR33U-A1           ACS ACR33U-A1 3SAM ICC Reader
54072F 8302 ACR33U-A2           ACS ACR33U-A2 3SAM ICC Reader
55072F 8307 ACR33U-A3           ACS ACR33U-A3 3SAM ICC Reader
56072F 8301 ACR33U              ACS ACR33U 4SAM ICC Reader
57072F 90CC ACR38U-CCID         ACS ACR38U-CCID
58072F 90CC ACR100-CCID         ACS ACR38U-CCID
59072F 90D8 ACR3801             ACS ACR3801
60072F B100 ACR39U              ACS ACR39U ICC Reader
61072F B101 ACR39K              ACS ACR39K ICC Reader
62072F B102 ACR39T              ACS ACR39T ICC Reader
63072F B103 ACR39F              ACS ACR39F ICC Reader
64072F B104 ACR39U-SAM          ACS ACR39U-SAM ICC Reader
65072F B10C ACR39U-U1           ACS ACR39U ID1 Card Reader
66072F B113 ACR39U-W1           ACS ACR39U-W1 Top ICC Reader
67072F B114 ACR39U-W1           ACS ACR39U-W1 Edge ICC Reader
68072F B000 ACR3901U            ACS ACR3901 ICC Reader
69072F 90D2 ACR83U-A1           ACS ACR83U
70072F 8306 ACR85               ACS ACR85 PINPad Reader
71072F 2011 ACR88U              ACS ACR88U
72072F 8900 ACR89U-A1           ACS ACR89 ICC Reader
73072F 8901 ACR89U-A2           ACS ACR89 Dual Reader
74072F 8902 ACR89U-FP           ACS ACR89 FP Reader
75072F 1205 ACR100I             ACS ACR100 ICC Reader
76072F 1204 ACR101              ACS ACR101 ICC Reader
77072F 1206 ACR102              ACS ACR102 ICC Reader
78072F 2200 ACR122U             ACS ACR122U
79072F 2200 ACR122U-SAM         ACS ACR122U
80072F 2200 ACR122T             ACS ACR122U
81072F 2214 ACR1222U-C1         ACS ACR1222 1SAM PICC Reader
82072F 1280 ACR1222U-C3         ACS ACR1222 1SAM Dual Reader
83072F 2207 ACR1222U-C6         ACS ACR1222 Dual Reader
84072F 222B ACR1222U-C8         ACS ACR1222 1SAM PICC Reader
85072F 2206 ACR1222L-D1         ACS ACR1222 3S PICC Reader
86072F 222E ACR123U             ACS ACR123 3S Reader
87072F 2237 ACR123U             ACS ACR123 PICC Reader
88072F 2219 ACR123U Bootloader  ACS ACR123US_BL
89072F 2203 ACR125              ACS ACR125 nPA plus
90072F 221A ACR1251U-A1         ACS ACR1251 1S CL Reader
91072F 2229 ACR1251U-A2         ACS ACR1251 CL Reader
92072F 222D [OEM Reader]        [OEM Reader Name]
93072F 2218 ACR1251U-C (SAM)    ACS ACR1251U-C Smart Card Reader
94072F 221B ACR1251U-C          ACS ACR1251U-C Smart Card Reader
95072F 2232 ACR1251UK           ACS ACR1251K Dual Reader
96072F 2242 ACR1251U-C3         ACS ACR1251 1S Dual Reader
97072F 2238 ACR1251U-C9         ACS ACR1251 Reader
98072F 225F ACR1251T-E2         ACS ACR1251T CL Reader
99072F 224F ACM1251U-Z2         ACS ACR1251 CL Reader
100072F 223B ACR1252U-A1         ACS ACR1252 1S CL Reader
101072F 223B ACR1252U-M1         ACS ACR1252 1S CL Reader
102072F 223E ACR1252U-A2         ACS ACR1252 CL Reader
103072F 223D ACR1252U BL         ACS ACR1252 USB FW_Upgrade v100
104072F 2244 ACR1252U-A1 (PICC)  ACS ACR1252U BADANAMU MAGIC READER
105072F 2259 ACR1252U-A1         ACS ACR1252IMP 1S CL Reader
106072F 225B ACM1252U-Z2ACE      ACS ACR1252 CL Reader
107072F 225C ACM1252U-Z2ACE BL   ACS ACR1252 USB FW_Upgrade v100
108072F 223F ACR1255U-J1         ACS ACR1255U-J1 PICC Reader
109072F 2239 ACR1256U            ACS ACR1256U PICC Reader
110072F 2211 ACR1261U-C1         ACS ACR1261 1S Dual Reader
111072F 2252 ACR1261U-A          ACS ACR1261 CL Reader
112072F 2100 ACR128U             ACS ACR128U
113072F 2224 ACR1281U-C1         ACS ACR1281 1S Dual Reader
114072F 220F ACR1281U-C2 (qPBOC) ACS ACR1281 CL Reader
115072F 2217 ACR1281U-C2 (UID)   ACS ACR1281 Dual Reader
116072F 2223 ACR1281U    (qPBOC) ACS ACR1281 PICC Reader
117072F 2208 ACR1281U-C3 (qPBOC) ACS ACR1281 Dual Reader
118072F 0901 ACR1281U-C4 (BSI)   ACS ACR1281 PICC Reader
119072F 220A ACR1281U-C5 (BSI)   ACS ACR1281 Dual Reader
120072F 2215 ACR1281U-C6         ACS ACR1281 2S CL Reader
121072F 2220 ACR1281U-C7         ACS ACR1281 1S PICC Reader
122072F 2233 ACR1281U-K          ACS ACR1281U-K PICC Reader
123072F 2234 ACR1281U-K          ACS ACR1281U-K Dual Reader
124072F 2235 ACR1281U-K          ACS ACR1281U-K 1S Dual Reader
125072F 2236 ACR1281U-K          ACS ACR1281U-K 4S Dual Reader
126072F 2213 ACR1283L-D1         ACS ACR1283 4S CL Reader
127072F 222C ACR1283L-D2         ACS ACR1283 CL Reader
128072F 220C ACR1283 Bootloader  ACS ACR1283U FW Upgrade
129072F 2258 ACR1311U-N1         ACS ACR1311 PICC Reader
130072F 0102 AET62               ACS AET62 PICC Reader
131072F 0103 AET62               ACS AET62 1SAM PICC Reader
132072F 0100 AET65               ACS AET65 ICC Reader
133072F 224A AMR220-C            ACS AMR220 Reader
134072F 8201 APG8201-A1          ACS APG8201
135072F 8206 APG8201-B2          ACS APG8201-B2
136072F 8202 [OEM Reader]        [OEM Reader Name]
137072F 8205 [OEM Reader]        [OEM Reader Name]
138072F 90DB CryptoMate64        ACS CryptoMate64
139072F B200 ACOS5T1             ACS CryptoMate (T1)
140072F B106 ACOS5T2             ACS CryptoMate (T2)
141072F B112 ACOS5T2             ACS CryptoMate EVO
142
143non-CCID Readers
144
145VID  PID  Reader              Reader Name
146---- ---- ------------------- -----------------------------
147072F 9000 ACR38U              ACS ACR38U
148072F 90CF ACR38U-SAM          ACS ACR38U-SAM
149072F 90CE [OEM Reader]        [OEM Reader Name]
150072F 0101 AET65               ACS AET65 1SAM ICC Reader
151072F 9006 CryptoMate          ACS CryptoMate
152
153
154
155History
156-------
157
158v1.1.8 (6/1/2020)
159- Add the following readers support:
160  ACR39U-W1 Top ICC Reader
161  ACR39U-W1 Edge ICC Reader
162  ACR1251T CL Reader
163- Import files from ccid 1.4.31.
164- Merge with ccid 1.4.31.
165  - InterruptRead(): log the timeout used.
166- Remove response timeout fix for APG8201 and APG8201Z.
167
168v1.1.7 (24/7/2019)
169- Add the following readers support:
170  ACR3201 ICC Reader
171  CryptoMate EVO
172- Fix card detection issue for multi-slot readers on macOS.
173- Fix configuration descriptor issue on macOS in OpenUSBByName().
174- Fix APG8201 response timeout issue.
175- Merge with ccid 1.4.5.
176  - Do not build simclist with (unused) file dump option.
177- MacOSX/configure: fix checking error for dynamic library libusb.
178
179v1.1.6 (29/10/2018)
180- Add the following readers support:
181  ACR1252 CL Reader           (ACM1252U-Z2ACE)
182  ACR1252 USB FW_Upgrade v100 (ACM1252U-Z2ACE BL)
183- Enable TLV properties for APG8201-B2 in IFDHControl().
184- Enable TLV properties for APG8201-B2 in process_spe_ppdu().
185- Fix ACR39U T=0 APDU problem in CmdXfrBlockTPDU_T0().
186- Return 6B 80 for supported readers in CCID_Receive().
187- Merge with ccid 1.4.29.
188  - Remove extra_egt() causing problems.
189- Update the comment in IFDHControl().
190- Fix undefined symbol yylex.
191- Set the status to absent if SAM reset failed in IFDHPowerICC().
192- Merge with ccid 1.4.30.
193  - Import files from ccid 1.4.30.
194  - macOS: exit configure with an error when needed.
195  - Fix libusb config descriptor leak.
196  - Fix leaking an allocated bundle in case no matching reader was found.
197  - InterruptStop(): Log the libusb text instead of number.
198  - InterruptRead(): revert change.
199- Enable ICC extended APDU for ACR1281U-C1 >= v526.
200- Add IOCTL_SMARTCARD_TOGGLE_CARD_STATE for SAM slot.
201
202v1.1.5 (23/10/2017)
203- Add the following readers support:
204  ACR1252IMP 1S CL Reader
205  AMR220 Reader
206  APG8201-B2
207- Merge with ccid 1.4.26.
208  - Fix spelling in log message.
209  - PowerOn: use automatic voltage selection when needed.
210  - PowerOn: move from 1.8V to 5V if 1.8V is not supported.
211  - PowerOn: always try every possible voltage values.
212  - PowerOn: default value comes from Info.plist.
213  - MacOSX/configure: remove reference to libusbx.
214  - MacOSX/configure: check static libusb will be used.
215  - MacOSX/configure: move definition of MAC_VERSION.
216  - ifdhandler: only GetNewReaderIndex() has to be thread protected.
217  - FreeChannel(): release reader_index only after use.
218- Fix ACR39U memory card problem in IFDHSetProtocolParameters().
219- Use CHECK_STATUS macro to check read/write status in acr38cmd.c.
220- Try 10 times to warm up the reader in CreateChannelByNameOrChannel().
221- Merge with ccid 1.4.27.
222  - InterruptRead(): return a valid IFDHandler code.
223  - ccid_usb.c: document CCID composite devices.
224  - Makefile.am: do not display udev message in red.
225  - OpenUSBByName(): the device bus & addr must match.
226  - CmdEscapeCheck(): signals buffer overflow.
227  - OpenUSBByName(): simplify USE_COMPOSITE_AS_MULTISLOT code.
228  - configure.ac: fix error message for SCardEstablishContext.
229- Return IFD_ERROR_INSUFFICIENT_BUFFER in IFDHControl().
230- Rename ACR3901U ICC Reader to ACR3901 ICC Reader.
231- Merge with ccid 1.4.28.
232  - udev rule: allow rule overwrite.
233  - Makefile: add support of spaces in DESTDIR.
234- Process IOCTL_FEATURE_IFD_DISPLAY_PROPERTIES in IFDHControl().
235- Process FEATURE_IFD_DISPLAY_PROPERTIES in process_spe_ppdu().
236- Process IOCTL_FEATURE_GET_KEY in IFDHControl().
237- Process FEATURE_GET_KEY in process_spe_ppdu().
238- Process IOCTL_FEATURE_WRITE_DISPLAY in IFDHControl().
239- Process FEATURE_WRITE_DISPLAY in process_spe_ppdu().
240- Check for iconv.
241- Enable specific I/O controls for APG8201-B2 in IFDHControl().
242
243v1.1.4 (7/12/2016)
244- Add the following readers support:
245  ACR1261 CL Reader
246  ACR1311 PICC Reader
247  ACR1281 Dual Reader (ACR1281U-C2 UID Reader)
248- Merge with ccid 1.4.25.
249  - Import src/misc.h.
250  - log_msg(): log up to 3 lines of 80 characters.
251  - Fix spelling error in a log message.
252  - Add missing openct/README in distribution.
253  - CmdXfrBlockCHAR_T0: returns an error when needed.
254  - create_Info_plist.pl: fix typos in comment.
255  - Remove extra spaces.
256- Fix incorrect message length for APG8201 v008I.
257
258v1.1.3 (22/6/2016)
259- Add the following readers support:
260  ACR39U ID1 Card Reader
261  ACR1251 CL Reader (ACM1251U-Z2)
262- Break if the device was disconnected in Multi_PollingProc().
263- Merge with ccid 1.4.23.
264  - MacOSX/configure: exit in error if configure failed.
265  - InterruptRead(): log libusb error name.
266  - Remove support of DRIVER_OPTION_RESET_ON_CLOSE.
267  - Update URL in a comment.
268  - ccid_usb.c: improve close_libusb_if_needed().
269  - Fix a busy loop consuming 100% of CPU.
270- Merge with ccid 1.4.15.
271  - get_end_points(): be more strict for bInterfaceClass = 255.
272- Add control codes for Windows compatibility.
273- Merge with ccid 1.4.24.
274  - ccid_usb.c: fix a race condition on multi reader.
275  - CreateChannel: allow to use a non default timeout.
276  - IFDHGetCapabilities: fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO size.
277- Fix a race condition in CardDetectionThread().
278- Avoid libusb timeout on Mac OS X in CreateChannelByNameOrChannel().
279- Fix random order of interfaces in OpenUSBByName().
280
281v1.1.2 (18/2/2016)
282- Return the second version in ACR83_GetFirmwareVersion().
283- Disable SetParameters for OEM Reader (VID: 072F, PID: 8205) v029Z in
284  ccid_open_hack_post().
285- Merge with ccid 1.4.22.
286  - Comments: Remove the $Id$ tag.
287  - Move max() definition in a header file.
288  - IFDHTransmitToICC: Reuse ccid_descriptor.
289  - OpenUSBByName(): use device bus and address only when available.
290  - IFDHCloseChannel(): use FreeChannel().
291  - CreateChannelByNameOrChannel(): call FreeChannel() in case of error.
292  - OpenUSBByName(): do not call close_libusb_if_needed().
293  - OpenUSBByName(): read Info.plist only once.
294  - OpenUSBByName(): add some low level debug.
295  - OpenUSBByName(): fix possible use of uninitialized variable.
296
297v1.1.1 (3/11/2015)
298- Fix the mutex lock problem in Multi_InterruptRead().
299- Fix uninitialized variable warning in ACR38_CmdPowerOn().
300- Fix APDU sequence bug in ACR122U.
301- Merge with ccid 1.4.19.
302  - Use libusb_error_name() instead of strerror().
303  - Ignore errno and use libusb returned value only.
304  - IFDHSleep(): timout parameter is in ms not µs.
305  - Enable syslog logging on Yosemite.
306- Merge with ccid 1.4.20.
307  - MacOSX/configure: use /usr/local/libexec/... on El Capitan.
308- Merge with ccid 1.4.21.
309  - Use libusb_error_name() to display the error name.
310  - OpenUSBByName(): add more time on Mac OS X.
311  - OpenUSBByName(): fix the order of interfaces in log.
312  - OpenUSBByName(): free the device list in case of error.
313  - Info.plist: use hex values in the documentation.
314- Replace ccid_error() with acr38_error() in ACR38_Receive().
315- Update LIBUSB_NEEDED_VERSION to 1.0.9 in configure.ac.
316- Return IFD_ERROR_INSUFFICIENT_BUFFER if rx_length < 2 in CCID_Receive().
317- Return 64 02 if two "new PIN" entries do not match in CCID_Receive().
318- Implements SPE pseudo APDU from PC/SC v2.02.02 Part 10 Supplement.
319- Enable bPPDUSupport over SCardTransmit in IFDHControl().
320- Return 6B 80 if the parameter is invalid in SecurePINVerify().
321- Return 6B 80 if the parameter is invalid in SecurePINModify().
322- Fix segmentation fault on Mac OS X in CardDetectionThread().
323- Break if the device was disconnected in CardDetectionThread().
324- Use pthread_exit() in CardDetectionThread().
325- Add the following readers support:
326  ACR1251 Reader
327  ACR3201 ICC Reader
328  OEM Reader (VID: 072F, PID: 8205)
329
330v1.1.0 (10/12/2014)
331- Add the following readers support:
332  ACR1255U-J1 PICC Reader
333- Fix the PICC detection problem in ACR1281 2S CL Reader.
334- Merge with ccid 1.4.18.
335  - Fix the memory leak in Multi_PollingProc().
336- Fix the compilation warnings.
337
338v1.0.8 (3/7/2014)
339- Add the following readers support:
340  ACS ACR1252U BADANAMU MAGIC READER
341  ACS ACR1261 1S Dual Reader
342- Change the delay of cold reset to 10 ms.
343- Remove the checking of specific mode before setting the parameters.
344
345v1.0.7 (16/6/2014)
346- Fix ACR39U card power on problem.
347- Add the following readers support:
348  ACR1251 1S Dual Reader
349  CryptoMate (T1)
350  CryptoMate (T2)
351- Remove ChangeLog from DISTCLEANFILES.
352
353v1.0.6 (17/4/2014)
354- Add the following readers support:
355  ACR32 ICC Reader
356  ACR1251K Dual Reader
357  ACR1252 1S CL Reader
358  ACR1252 CL Reader
359  ACR1252 USB FW_Upgrade v100
360  ACR1256U PICC Reader
361- Fix ACR32 incorrect max slot index.
362- Get the data rates if bNumDataRatesSupported is not equal to zero.
363- Merge the fixes from ccid:
364  Use ATTRS{bInterfaceClass}=="0b" in src/pcscd_acsccid.rules.
365  Fix the buffer overflow in ATR_InitFromArray().
366  Fix the T1 resync problem.
367
368v1.0.5 (2/9/2013)
369- Fix a bug that ACR38U cannot select the card type reading from Info.plist on
370  Linux x64 platform.
371- Fix a bug that ACR1222U-C1 and ACR39U cannot detect the card.
372- Fix a bug that the driver cannot start the debug mode on Mac OS X 10.8.
373- Import udev rules from ccid-1.4.12 to remove pcscd group support.
374- Add the following readers support:
375  ACR3901U ICC Reader
376  ACR123 3S Reader
377  ACR123 PICC Reader
378  ACR123US_BL
379  ACR1251U-C Smart Card Reader (SAM)
380  ACR1251U-C Smart Card Reader
381  ACR1281U-K PICC Reader
382  ACR1281U-K Dual Reader
383  ACR1281U-K 1S Dual Reader
384  ACR1281U-K 4S Dual Reader
385
386v1.0.4 (15/6/2012)
387- Add the following readers support:
388  ACR39U ICC Reader
389  ACR39K ICC Reader
390  ACR39T ICC Reader
391  ACR39F ICC Reader
392  ACR39U-SAM ICC Reader
393  ACR1251 1S CL Reader
394  ACR1251 CL Reader
395  OEM Reader (VID: 072F, PID: 222D)
396  ACR1283 4S CL Reader
397  ACR1283 CL Reader
398  ACR1283U FW Upgrade
399- Fix a bug that only the first slot of reader (composite device) can be used if
400  pcsc-lite is compiled with libudev support.
401- Fix a bug that APG8201 causes segmentation fault with pcsc-lite 1.8.2.
402- Fix a bug that the SAM slot support is not enabled for ACR1281 1S PICC Reader
403  if the configure option "--enable-composite-as-multislot" is not used.
404- Enable silent build and disable static library creation.
405- Remove symbolic link creation.
406- Fix a bug that pcscd causes segmentation fault on Mac OS X after unloading the
407  driver.
408- Display default message for ACR83U.
409
410v1.0.3 (13/1/2012)
411- Add the following readers support:
412  ACR1281 PICC Reader (qPBOC)
413  ACR1281 1S Dual Reader
414  ACR1281 2S CL Reader
415  ACR33 ICC Reader
416  ACR1281 1S PICC Reader
417  ACR38U
418  ACR38U-SAM
419  OEM Reader (VID: 072F, PID: 90CE)
420  CryptoMate
421  OEM Reader (VID: 072F, PID: 8202)
422  ACR1222 1SAM PICC Reader (ACR1222U-C1)
423  ACR1222 1SAM PICC Reader (ACR1222U-C8)
424  ACR89 ICC Reader
425  ACR89 Dual Reader
426  ACR89 FP Reader
427  AET62 PICC Reader
428  AET62 1SAM PICC Reader
429  AET65 ICC Reader
430  AET65 1SAM ICC Reader
431  CryptoMate64
432- Import udev rules from ccid-1.4.3 to support pcscd auto-start.
433- Fix reader hang problem by checking card status of ACR85 PICC before
434  exchanging APDU.
435- Correct the code that enabling polling mode is applied to ACR122U only and
436  not all ACS readers.
437- Fix a problem that the optimal baud rate is not selected properly in
438  IFDHSetProtocolParameters().
439- Perform cold reset and try default Fl/Dl (0x11) if PPS_Exchange() or
440  SetParameters() is failed in IFDHSetProtocolParameters().
441- Protocol parameters will not be set in IFDHSetProtocolParameters() if card is
442  specific mode.
443- Correct the value of CCID features and maximum data rate of ACR88U and
444  ACR128U.
445- Add BSI miscellaneous command to return driver version for ACR1281 BSI
446  readers.
447- Correct the value of CCID features and maximum data rate of ACR1281 1S Dual
448  Reader.
449- Fix problem using pcsc-lite 1.7.3 or later header files.
450- Add SCARD_CTL_CODE(2079) support for sending escape command to ACR1222,
451  ACR128 and ACR1281 readers.
452- Add firmware version check for ACR85.
453- Change PID of ACR33 ICC reader from 0x8306 to 0x8307 because 0x8306 is used
454  by ACR85 ICC.
455- Check if the card supports the selected protocol before setting protocol in
456  IFDHSetProtocolParameters() and return IFD_ERROR_PTS_FAILURE if the card does
457  not support the selected protocol. On Mac OS X 10.6, pcscd will select wrong
458  protocol if Starcos 3.2 card is inserted.
459- Rename "ACR1222L 3S CL Reader" to "ACR1222 3S PICC Reader".
460- Rename "ACR33 ICC Reader" to "ACS ACR33U-A1 3SAM ICC Reader",
461  "ACS ACR33U-A2 3SAM ICC Reader", "ACS ACR33U-A3 3SAM ICC Reader" and
462  "ACS ACR33U 4SAM ICC Reader".
463- Fix incorrect max slot index for ACR1222U-C1.
464- Enable SAM slot support.
465- Fix connection problem by setting default supported protocol to T=0 in
466  IFDHSetProtocolParameters() if the card does not support any protocol.
467- Add SCARD_ATTR_ICC_INTERFACE_STATUS and SCARD_ATTR_ICC_PRESENCE support in
468  IFDHGetCapabilities() (import from ccid-1.4.5).
469- Fix problem on getting IFSC from ATR (import from ccid-1.4.5).
470- Support extended APDU of up to 64kB with APDU readers
471  (import from ccid-1.4.5).
472- Change CmdPowerOn() read timeout in IFDHPowerICC() from 4 seconds to 10
473  seconds.
474
475v1.0.2 (16/3/2011)
476- Add the following readers support:
477  ACR125 nPA plus
478  ACR1281 PICC Reader (BSI)
479  ACR1281 Dual Reader (qPBOC)
480  ACR1222 Dual Reader
481  ACR1222 1SAM Dual Reader
482  ACR83U
483  ACR85 PINPad Reader
484  APG8201
485  ACR100 ICC Reader
486  ACR101 ICC Reader
487  ACR102 ICC Reader
488  ACR1222L 3S CL Reader
489  ACR1281 CL Reader (qPBOC)
490  ACR1281 Dual Reader (BSI)
491  ACR3801
492- Do not use separate thread to poll the slot ICC status due to poor
493  performance of libusb v0.1.12.
494- Enable polling mode automatically for ACR122U v2.06.
495- Import Mac OS X 10.6 configure script from ccid-1.3.12.
496- Secure PIN Entry (SPE) support for ACR83U requires firmware version 4500 or
497  later.
498- Add SCARD_CTL_CODE(3500) support for sending CCID escape command.
499- Add the following readers support:
500- Fix a bug that APG8201 and ACR85 cannot receive command properly if command
501  length is greater than 64 bytes.
502- Set infinite timeout in T=0, Short APDU and Extended APDU exchange.
503- Simulate ACR1281 Dual Reader (composite device) as multi-slot reader.
504- Improve performance and stability for ACR122U v2.00 - v2.04.
505- Replace acx_pthread.m4 with ax_pthread.m4 from autoconf archive.
506- Add the following driver options and these options are enabled by default:
507  DRIVER_OPTION_REMOVE_PUPI_FROM_ATR
508      Remove PUPI from ATR if ISO 14443-B card is detected (ACR1222).
509  DRIVER_OPTION_DISABLE_PICC
510      Disable PICC if ICC is inserted (ACR1222).
511- Add DRIVER_OPTION_REMOVE_PUPI_FROM_ATR and DRIVER_OPTION_DISABLE_PICC driver
512  options to ACR85.
513- Simulate ACR85 as multi-slot reader. The first slot is ICC and the second
514  slot is PICC.
515- Add firmware version check for ACR1222. The driver options are for ACR1222
516  v401 only.
517- Fix reader hang problem by checking card status of ACR85 PICC if SW1SW2
518  "63 00" is received.
519
520v1.0.1 (9/11/2009)
521- Remove firmware version check.
522- Modify the driver to use separate thread to poll the slot ICC states from
523  interrupt endpoint.
524
525v1.0.0 (14/10/2009)
526- New release.
527- Based on ccid-1.3.11 (http://pcsclite.alioth.debian.org/ccid.html).
528- Change CmdPowerOn() read timeout in IFDHPowerICC() from 60 seconds to 4
529  seconds.
530- Import Mac OS X 10.5 configure script from ccid-1.3.11.
531- Update AUTHORS and COPYING files.
532- Disable interrupt read in ccid_open_hack_pre() for all readers. It will cause
533  the driver hang in ACR88U and ACR128U readers on Mac OS X.
534- There is a pcscd problem supporting multi-slot readers on Mac OS X. It will
535  create duplicate reader name for each slot. ACR88U and ACR128U readers are
536  affected by this bug. For more information, please refer to
537  http://www.opensc-project.org/sca/wiki/LeopardBugs.
538- Test the driver on Mac OS X 10.6.
539
540
541
542Support
543-------
544
545In case of problem, please contact ACS through:
546
547Web Site: http://www.acs.com.hk/
548E-mail: info@acs.com.hk
549Tel: +852 2796 7873
550Fax: +852 2796 1286
551
552
553
554-------------------------------------------------------------------------------
555Copyright (C) 2009-2020 Advanced Card Systems Ltd.
556Copyright (C) 2003-2011 Ludovic Rousseau
557Copyright (C) 2000-2001 Carlos Prados
558Copyright (C) 2003 Olaf Kirch
559Copyright (C) 1999-2002 Matthias Bruestle
560
561This library is free software; you can redistribute it and/or
562modify it under the terms of the GNU Lesser General Public
563License as published by the Free Software Foundation; either
564version 2.1 of the License, or (at your option) any later version.
565
566This library is distributed in the hope that it will be useful,
567but WITHOUT ANY WARRANTY; without even the implied warranty of
568MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
569Lesser General Public License for more details.
570
571You should have received a copy of the GNU Lesser General Public
572License along with this library; if not, write to the Free Software
573Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
574