/[pcsclite]/trunk/Drivers/ccid/src/ccid_usb.c
ViewVC logotype

Log of /trunk/Drivers/ccid/src/ccid_usb.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2974 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 28 18:32:52 2008 UTC (4 years, 11 months ago) by rousseau
File length: 25518 byte(s)
Diff to previous 2871 , to selected 2048
update Free Software Foundation mail address

Revision 2871 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 8 09:34:13 2008 UTC (5 years, 1 month ago) by rousseau
File length: 25522 byte(s)
Diff to previous 2859 , to selected 2048
Simulate card absence for the GemCore SIM Pro

Revision 2859 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 29 15:16:45 2008 UTC (5 years, 1 month ago) by rousseau
File length: 25356 byte(s)
Diff to previous 2802 , to selected 2048
ccid_check_firmware(): use unsigned int instead of int

ccid_usb.c:720: warning: comparison between signed and unsigned

Revision 2802 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 7 07:49:48 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25347 byte(s)
Diff to previous 2793 , to selected 2048
InterruptRead(): in case of timeout we can also get EAGAIN (Resource
temporarily unavailable)

Revision 2793 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 6 08:57:41 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25314 byte(s)
Diff to previous 2776 , to selected 2048
add support for Bludrive II CCID

Revision 2776 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 09:29:44 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25281 byte(s)
Diff to previous 2774 , to selected 2048
add InterruptRead() to read the interrupt pipe use by asynchronous card
movements

Revision 2774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 15:01:21 2008 UTC (5 years, 3 months ago) by rousseau
File length: 24323 byte(s)
Diff to previous 2772 , to selected 2048
add comments

Revision 2772 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 14:52:52 2008 UTC (5 years, 3 months ago) by rousseau
File length: 24068 byte(s)
Diff to previous 2771 , to selected 2048
add interrupt end point field in _usbDevice structure

Revision 2771 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 14:51:34 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23814 byte(s)
Diff to previous 2763 , to selected 2048
add bNumEndpoints field in _ccid_descriptor structure

Revision 2763 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 24 09:36:15 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23722 byte(s)
Diff to previous 2754 , to selected 2048
ReadUSB(): return an error if we get more than 10 duplicate frames error
in one read. Avoids an infinite loop with some buggy readers.

Revision 2754 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 22 10:22:09 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23552 byte(s)
Diff to previous 2697 , to selected 2048
add support for Mac OS X Leopard (10.5.1)

Revision 2697 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 16:28:41 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23380 byte(s)
Diff to previous 2691 , to selected 2048
remove Reiner-SCT cyberJack pinpad(a) from bogus firmware list since yhe
bug is just a missing management of time requests

Revision 2691 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 13:26:40 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23446 byte(s)
Diff to previous 2690 , to selected 2048
move the readers without a correct firmware together at the end of the
list of bogus firmwares

Revision 2690 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 13:24:28 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23440 byte(s)
Diff to previous 2685 , to selected 2048
add Reiner-SCT cyberJack pinpad(a) in the list of bogus firmwares

Revision 2685 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 15 23:10:36 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23374 byte(s)
Diff to previous 2664 , to selected 2048
add support for Reiner SCT

Revision 2664 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 21 14:54:54 2007 UTC (5 years, 7 months ago) by rousseau
File length: 23344 byte(s)
Diff to previous 2602 , to selected 2048
get_end_points(): check that dev->config is not NULL before
dereferencing dev->config->bNumInterfaces

Avoid a crash on Mac OS X

Revision 2602 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 2 20:04:12 2007 UTC (5 years, 9 months ago) by rousseau
File length: 23329 byte(s)
Diff to previous 2510 , to selected 2048
add support of the O2Micro oz776 (ProductID 0x7772)

Revision 2510 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 3 19:21:54 2007 UTC (6 years ago) by rousseau
File length: 23230 byte(s)
Diff to previous 2470 , to selected 2048
get_end_points(): avoid a double free on close for the O2MICRO_OZ776
special case.

" In ccid_usb.c you move the extra descriptor from the endpoint 2
descriptor to the interface descriptor. The problem is, when libusb try
to free the descriptors associated to this device on shutdown or if the
device disappears, it tries to free the same buffer twice. For me it
means the pcscd is killed with a glibc detected "double free". "

Thanks to Michael Wegner for the patch

Revision 2470 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 12:44:37 2007 UTC (6 years, 2 months ago) by rousseau
File length: 23079 byte(s)
Diff to previous 2469 , to selected 2048
add support of ICCD version A and B

Revision 2469 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 10:21:47 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22977 byte(s)
Diff to previous 2426 , to selected 2048
ControlUSB(): add some debug: request value and data send/received

Revision 2426 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:45:05 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22777 byte(s)
Diff to previous 2425 , to selected 2048
get_end_points(): change parameter name from usb_device to usbdevice to
avoid: warning: declaration of 'usb_device' shadows a global declaration
/usr/include/usb.h:329: warning: shadowed declaration is here

Revision 2425 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:41:18 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22781 byte(s)
Diff to previous 2424 , to selected 2048
ControlUSB(): explicit cast to avoid warning: pointer targets in passing
argument 6 of 'usb_control_msg' differ in signedness

Revision 2424 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:40:08 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22773 byte(s)
Diff to previous 2423 , to selected 2048
get_data_rates(): use ControlUSB() instead of usb_control_msg()

Revision 2423 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:37:09 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22910 byte(s)
Diff to previous 2393 , to selected 2048
add ControlUSB() declaration and implementation

Revision 2393 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 10 19:45:51 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22602 byte(s)
Diff to previous 2392 , to selected 2048
get_end_points(): correct bug in revision 2392

Revision 2392 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 10 19:43:13 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22588 byte(s)
Diff to previous 2359 , to selected 2048
get_end_points(): use usb_interface->altsetting->bNumEndpoints instead
of the hardcoded value 3

Revision 2359 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 27 13:31:33 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22563 byte(s)
Diff to previous 2356 , to selected 2048
Bogus_firmwares[]: the driver now contains patches to circumvent the
Oz776 reader. It is then declared bogus only if O2MICRO_OZ776_PATCH is
not defined

Revision 2356 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 26 16:43:45 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22528 byte(s)
Diff to previous 2296 , to selected 2048
move #define O2MICRO_OZ776_PATCH from ccid_usb.c to ccid.h so we can use
it in other .c files

Revision 2296 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 19:55:40 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22716 byte(s)
Diff to previous 2295 , to selected 2048
CloseUSB(): free .dirname and .filename only for the last slot

Revision 2295 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 17:01:15 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22713 byte(s)
Diff to previous 2294 , to selected 2048
OpenUSBByName(): move the "Checking device: " log message out of the
usbDevice[] loop since we display info of the new device and not of
a device from usbDevice[]

Revision 2294 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:55:33 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22717 byte(s)
Diff to previous 2293 , to selected 2048
struct _usbDevice: replace struct usb_device *dev; by char *dirname; and
char *filename; since the libusb structure can be modified at any time
by libusb (this structure is reused for another USB device when the USB
device is removed)

Revision 2293 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:46:58 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22821 byte(s)
Diff to previous 2292 , to selected 2048
get_data_rates() now has a struct usb_device *dev parameter to avoid
storing it in struct _usbDevice

Revision 2292 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:25:03 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22793 byte(s)
Diff to previous 2291 , to selected 2048
remove unused get_desc() function

Revision 2291 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:23:04 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23250 byte(s)
Diff to previous 2290 , to selected 2048
revert revisions 2289 and 2290

It is not the correct solution to the problem

Revision 2290 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 14:28:08 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23466 byte(s)
Diff to previous 2289 , to selected 2048
WriteUSB()/ReadUSB(): check that the device entry is still valid before
using it

Revision 2289 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 14:25:30 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23320 byte(s)
Diff to previous 2206 , to selected 2048
WriteUSB()/ReadUSB(): call CloseUSB() as soon as the device disapears
(ENODEV) since the libusb structures pointed by usbDevice[] may be
reused by another USB device

Revision 2206 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 15 14:31:38 2006 UTC (6 years, 6 months ago) by rousseau
File length: 23250 byte(s)
Diff to previous 2154 , to selected 2048
WriteUSB() & ReadUSB(): return STATUS_NO_SUCH_DEVICE if read() or
write() fails with ENODEV

Revision 2154 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 10 19:58:02 2006 UTC (6 years, 8 months ago) by rousseau
File length: 23136 byte(s)
Diff to previous 2152 , to selected 2048
Bogus_firm[]: firmware 1.01 for Alcor AU9520 is bogus. The time request
of the card is not forwarded to the host by the reader.

Revision 2152 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 6 20:06:58 2006 UTC (6 years, 8 months ago) by rousseau
File length: 23086 byte(s)
Diff to previous 2119 , to selected 2048
remove trailing spaces at end of lines

Revision 2119 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 1 20:05:22 2006 UTC (6 years, 9 months ago) by rousseau
File length: 23092 byte(s)
Diff to previous 2107 , to selected 2048
ReadUSB(): check that usbDevice[reader_index].dev->bus is still non-NULL
(as we do in WriteUSB()) before dereferencing it in the debug message.

Thanks to Michael Wegner for the patch

Revision 2107 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 11 18:35:25 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22962 byte(s)
Diff to previous 2097 , to selected 2048
correct a typo in a comment

Revision 2097 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 4 07:06:10 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22961 byte(s)
Diff to previous 2083 , to selected 2048
ReadUSB(): be sure we have read enough bytes before checking for frame
detectation

Revision 2083 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 3 12:51:59 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22929 byte(s)
Diff to previous 2048
ReadUSB(): detect and ignore duplicated CCID frames

Revision 2048 - (view) (download) (annotate) - [selected]
Modified Fri May 19 12:18:49 2006 UTC (7 years ago) by rousseau
File length: 22700 byte(s)
Diff to previous 2014
SCM SPR 532 with firmware < 5.10 has problems

Revision 2014 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 18 15:05:33 2006 UTC (7 years, 1 month ago) by rousseau
File length: 22700 byte(s)
Diff to previous 2002 , to selected 2048
declare get_ccid_usb_interface() as EXTERNAL since this function is used
by src/parse

Revision 2002 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 14 18:42:41 2006 UTC (7 years, 1 month ago) by rousseau
File length: 22673 byte(s)
Diff to previous 1875 , to selected 2048
firmwares for Athena ASE IIIe USBv2 and ASE IIIe KB USB were bogus.

Revision 1875 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 21 23:03:27 2006 UTC (7 years, 2 months ago) by rousseau
File length: 22572 byte(s)
Diff to previous 1818 , to selected 2048
the ActivCard V2 is bogus (problem with wMaxPacketSize size frames)

Revision 1818 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 20 13:25:56 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22524 byte(s)
Diff to previous 1808 , to selected 2048
get_ccid_usb_interface(): use the same code for a device with 1 or >1
interfaces

Revision 1808 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 18 10:25:34 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22678 byte(s)
Diff to previous 1807 , to selected 2048
add support of GemCore SIM Pro and GemCore POS Pro (serial and USB).

Revision 1807 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 18 10:24:09 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22155 byte(s)
Diff to previous 1804 , to selected 2048
CloseUSB(): free the allocated arrayOfSupportedDataRates only for the
pimary slot. The other slots of the same reader either point to the
same array or point to a statically allocated array.

Revision 1804 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 17 19:57:11 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22027 byte(s)
Diff to previous 1792 , to selected 2048
OpenUSBByName(): check that usbDevice[previous_reader_index].dev is
still valid before dereferencing it

Thanks to Martin Paljak for the bug report

Revision 1792 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 09:14:47 2006 UTC (7 years, 4 months ago) by rousseau
File length: 21980 byte(s)
Diff to previous 1791 , to selected 2048
OpenUSBByName(): use log level INFO instead of CRITICAL to display
copyright information

Revision 1791 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 09:08:43 2006 UTC (7 years, 4 months ago) by rousseau
File length: 21996 byte(s)
Diff to previous 1775 , to selected 2048
release the allocated ressources only when the last slot of a multi-slot
reader is closed

Revision 1775 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 29 14:33:22 2005 UTC (7 years, 5 months ago) by rousseau
File length: 21443 byte(s)
Diff to previous 1703 , to selected 2048
OpenUSBByName(): do not (re)set the usbDevice[].ccid.pbSeq field since
we just copied the complete structure just before

Revision 1703 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 7 15:46:03 2005 UTC (7 years, 6 months ago) by rousseau
File length: 21532 byte(s)
Diff to previous 1641 , to selected 2048
remove #ifdef DEBUG_LEVEL_COMM since DEBUG_LEVEL_COMM is a numeric value
and not a compilation flag anymore. Debug is always active and filtered
by pcscd.

Revision 1641 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 5 14:43:02 2005 UTC (7 years, 8 months ago) by rousseau
File length: 21656 byte(s)
Diff to previous 1613 , to selected 2048
get_data_rates(): check the response size only if bNumDataRatesSupported
is non zero

Revision 1613 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 13 14:26:22 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21647 byte(s)
Diff to previous 1608 , to selected 2048
CloseUSB(): call usb_reset() only if DRIVER_OPTION_RESET_ON_CLOSE is
set.

The problem was that a device reset also disconnects the keyboard on a
keyboard + reader device.

Revision 1608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 11 13:48:21 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21595 byte(s)
Diff to previous 1585 , to selected 2048
get_data_rates(): check that we do not get more data rates than the
reader supports

Revision 1585 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 13:44:09 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21265 byte(s)
Diff to previous 1569 , to selected 2048
OpenUSBByName(): call usb_close() if the device can't be used

Revision 1569 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 4 09:17:27 2005 UTC (7 years, 10 months ago) by rousseau
File length: 21106 byte(s)
Diff to previous 1547 , to selected 2048
OpenUSBByName(): vendorID, productID are unsigned
avoids a "comparison between signed and unsigned" warning

Revision 1547 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 4 09:44:31 2005 UTC (7 years, 11 months ago) by rousseau
File length: 21097 byte(s)
Diff to previous 1486 , to selected 2048
WriteUSB(): do not parse usbDevice[reader_index].dev->bus if it is a
NULL pointer (the device has been removed for example)

Revision 1486 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 09:19:36 2005 UTC (8 years ago) by rousseau
File length: 20968 byte(s)
Diff to previous 1485 , to selected 2048
get_data_rates(): if the reader do not support GET DATA RATES we return
NULL instead of a manually constructed/fake list

Revision 1485 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 09:17:53 2005 UTC (8 years ago) by rousseau
File length: 21312 byte(s)
Diff to previous 1483 , to selected 2048
Open*ByName(): initialise dwMaxDataRate field

Revision 1483 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 08:30:57 2005 UTC (8 years ago) by rousseau
File length: 21218 byte(s)
Diff to previous 1479 , to selected 2048
get_data_rates(): check that the reader sends a DATA RATES list size
multiple of 4 othewise it is an error

Revision 1479 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 14:10:38 2005 UTC (8 years ago) by rousseau
File length: 21280 byte(s)
Diff to previous 1476 , to selected 2048
Open*ByName: do not initialise the now disappeared .dwMaxDataRate field

Revision 1476 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 14:04:38 2005 UTC (8 years ago) by rousseau
File length: 21374 byte(s)
Diff to previous 1475 , to selected 2048
get_data_rates(): if the CCID command GET DATA RATES is nto supported
the array of supported rates contains only the default and max data
rates

Revision 1475 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 13:55:52 2005 UTC (8 years ago) by rousseau
File length: 20865 byte(s)
Diff to previous 1467 , to selected 2048
get_data_rates(): test if int_array is NULL (and not buffer)

Revision 1467 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 13:20:39 2005 UTC (8 years ago) by rousseau
File length: 20862 byte(s)
Diff to previous 1460 , to selected 2048
get_data_rates(): use the real interface number instead of 0

Revision 1460 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 12:11:47 2005 UTC (8 years ago) by rousseau
File length: 20833 byte(s)
Diff to previous 1459 , to selected 2048
get_data_rates(): buffer argument of usb_control_msg is (char *) and not
(unsigned char *)

Revision 1459 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 12:10:45 2005 UTC (8 years ago) by rousseau
File length: 20825 byte(s)
Diff to previous 1453 , to selected 2048
get_data_rates() returns an unsigned int [] (not just int [])

Revision 1453 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 14:34:52 2005 UTC (8 years ago) by rousseau
File length: 20807 byte(s)
Diff to previous 1446 , to selected 2048
use the calculated read timeout instead of a fixed value

Revision 1446 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 13:43:13 2005 UTC (8 years ago) by rousseau
File length: 20920 byte(s)
Diff to previous 1399 , to selected 2048
OpenUSBByName(): get the list of data rates the reader supports

See 3.7.3 Get Data Rates (page 25) from CCID spec 1.00

Revision 1399 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 14 18:56:53 2005 UTC (8 years, 2 months ago) by rousseau
File length: 19456 byte(s)
Diff to previous 1327 , to selected 2048
change licence from GNU GPL to GNU LGPL

Revision 1327 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 20 14:34:42 2005 UTC (8 years, 3 months ago) by rousseau
File length: 19434 byte(s)
Diff to previous 1325 , to selected 2048
add an "interface field" in _usbDevice. This value is set in OpenUSB()
and used in CloseUSB().

The struct usb_device structure is half "corrupted" after the USB device
is removed and we wanted to use it when when closing the driver after a
reader removal. This caused a crash with libusb 0.1.10.

Revision 1325 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 20 14:03:07 2005 UTC (8 years, 3 months ago) by rousseau
File length: 19586 byte(s)
Diff to previous 1312 , to selected 2048
Bogus_firmwares[]: add Kobil KAAN Base & KAAN Advanced readers

Revision 1312 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 13 10:37:40 2005 UTC (8 years, 4 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1298 , to selected 2048
Bogus_firmwares[]: the 3 SMC readers had the same (cut-n-paste) USB
identification

Revision 1298 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 19 17:13:27 2004 UTC (8 years, 5 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1287 , to selected 2048
SPR 532 firmware previous to 5.04 is bogus regarding min/max pin lengths

Revision 1287 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 19 08:40:42 2004 UTC (8 years, 7 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1281 , to selected 2048
check firmware version to avoid firmwares with bugs. You can still use a
bigus firmware by setting DRIVER_OPTION_USE_BOGUS_FIRMWARE in Info.plist

Revision 1281 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 7 20:28:49 2004 UTC (8 years, 7 months ago) by rousseau
File length: 17701 byte(s)
Diff to previous 1256 , to selected 2048
the first argument of get_desc() is lun instead of channel and the
function uses LunToReaderIndex() to get the reader index

Revision 1256 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 30 13:57:07 2004 UTC (8 years, 7 months ago) by rousseau
File length: 17672 byte(s)
Diff to previous 1151 , to selected 2048
get_ccid_usb_interface(): the O2Micro OZ776S reader has a wrong USB
descriptor. The extra[] field is associated with the last endpoint instead
of the main USB descriptor.

Revision 1151 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:18:41 2004 UTC (8 years, 9 months ago) by rousseau
File length: 16923 byte(s)
Diff to previous 1149 , to selected 2048
for multi-slots readers IFDHCreateChannel*()/OpenUSB is called for each
slot. If we are opening a new slot of an already opened reader we reuse
the same data (same libusb structures) and share the same pbSeq.

Revision 1149 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:00:25 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15940 byte(s)
Diff to previous 1146 , to selected 2048
use pbSeq instead of bSeq

Revision 1146 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 4 21:30:14 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15852 byte(s)
Diff to previous 1106 , to selected 2048
remove defaultFeatures management (was used for SCR331-DI hack)

Revision 1106 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 28 08:33:18 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15945 byte(s)
Diff to previous 1101 , to selected 2048
use reader_index instead of lun as reader identification

Revision 1101 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 26 09:16:16 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15798 byte(s)
Diff to previous 1091 , to selected 2048
initialise ccid.defaultFeatures field

Revision 1091 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 21 08:59:28 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15718 byte(s)
Diff to previous 1079 , to selected 2048
initialise bMaxSlotIndex and ccid.bCurrentSlotIndex fields

Revision 1079 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 09:07:26 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15586 byte(s)
Diff to previous 1077 , to selected 2048
OpenUSBByName(): use base 0 instead of 16 in strtoul() so that you can
express the decimal value 15 as: 15 (decimal), 0xF (hex) or 017 (octal).

It is not really needed since the reader descriptions in Info.plist are
all in hex.

Revision 1077 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 06:53:25 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15582 byte(s)
Diff to previous 1054 , to selected 2048
rename PCSCLITE_MAX_READERS in CCID_DRIVER_MAX_READERS

This value is not defined by pcsc-lite but is internal to the CCID
driver. By default pcsc-lite supports the same number of readers (16).

Revision 1054 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:23:37 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15573 byte(s)
Diff to previous 1053 , to selected 2048
mark potentially null values as /*@null@*/ for splint

Revision 1053 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:21:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15551 byte(s)
Diff to previous 1052 , to selected 2048
mark unused arguments as /*@unused@*/ for splint

Revision 1052 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:19:09 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15538 byte(s)
Diff to previous 1049 , to selected 2048
include <sys/types.h> so splint can parse the file

Revision 1049 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 08:28:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15487 byte(s)
Diff to previous 1043 , to selected 2048
lun is (unsigned int) so reader = LunToReaderIndex(lun) is also (unsigned int)

Revision 1043 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 07:10:17 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15451 byte(s)
Diff to previous 900 , to selected 2048
lun is (unsigned int) instead of (int)

Avoid a warning by splint in #define LunToReaderIndex(Lun) (Lun>>16)
Left operand of >> may be negative (int): lun >> 16

Revision 900 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 14:46:02 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15397 byte(s)
Diff to previous 895 , to selected 2048
add support for SCardGetAttrib(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)
to know if the reader supports SCardControl(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)

Revision 895 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 08:23:20 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15317 byte(s)
Diff to previous 892 , to selected 2048
set length to 0 when a usb_bulk_read() error is returned

Revision 892 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 24 12:58:43 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15301 byte(s)
Diff to previous 878 , to selected 2048
recompile using gcc -pedantic and correct:
- some C++ syntax comments
- many signedness "problems"

Revision 878 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 17 14:37:08 2004 UTC (9 years ago) by rousseau
File length: 15224 byte(s)
Diff to previous 781 , to selected 2048
do not export get_end_points() declaration and make the function static

Revision 781 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 8 14:35:57 2004 UTC (9 years, 1 month ago) by rousseau
File length: 15119 byte(s)
Diff to previous 774 , to selected 2048
add support for the libusb naming scheme: usb:%04x/%04x:libusb:%s

Revision 774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 13:15:34 2004 UTC (9 years, 1 month ago) by rousseau
File length: 14295 byte(s)
Diff to previous 762 , to selected 2048
add { } to avoid ambiguities now that DEBUG_* are "if (x) y" constructions

Revision 762 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 5 09:47:21 2004 UTC (9 years, 1 month ago) by rousseau
File length: 14277 byte(s)
Diff to previous 738 , to selected 2048
define ALLOW_PROPRIETARY_CLASS by default

Proprietary USB Class (0xFF) are (or are not) accepted
A proprietary class is used for devices released before the final CCID
specifications were ready.
We should not have problems with non CCID devices becasue the
Manufacturer and Product ID are also used to identify the device */

Revision 738 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 30 13:01:05 2004 UTC (9 years, 1 month ago) by rousseau
File length: 13944 byte(s)
Diff to previous 694 , to selected 2048
allow proprietary CCID Class byte but only if ALLOW_PROPRIETARY_CLASS is
defined. You should know what you do. Only useful for pre-CCID devices.

Revision 694 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 12 16:09:32 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13810 byte(s)
Diff to previous 683 , to selected 2048
fill dwDefaultClock and dwMaxDataRate according to the reader descriptor

Revision 683 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 13:57:14 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13685 byte(s)
Diff to previous 682 , to selected 2048
first bSeq is 0 (even if 1 works ok)

Revision 682 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 13:55:09 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13685 byte(s)
Diff to previous 672 , to selected 2048
usb_reset() the device before usb_close()

Revision 672 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 3 15:43:51 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13647 byte(s)
Diff to previous 662 , to selected 2048
add dwMaxIFSD field

Revision 662 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 29 10:33:52 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13563 byte(s)
Diff to previous 655 , to selected 2048
- remove device_name[] from struct _usbDevice
- use naming scheme usb:vendor/product
- simplify (a bit) the code

Revision 655 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 14:46:01 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13753 byte(s)
Diff to previous 650 , to selected 2048
use DEBUG_CRITICAL2() instead of DEBUG_CRITICAL()

Revision 650 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 13:39:47 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13752 byte(s)
Diff to previous 649 , to selected 2048
add support of USB devices with multiple interfaces (like the Silitek
SK-3105 keyboard)

Revision 649 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 13:32:55 2004 UTC (9 years, 3 months ago) by rousseau
File length: 12461 byte(s)
Diff to previous 612 , to selected 2048
add support of IFDHCreateChannelByName

Revision 612 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 13:45:37 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11583 byte(s)
Diff to previous 608 , to selected 2048
call ccid_open_hack() in IFDHCreateChannel() instead of in each OpenPort()

Revision 608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 08:30:31 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11685 byte(s)
Diff to previous 581 , to selected 2048
remove function name from debug message since __FUNCTION__ is now used in
DEBUG_* macro definition

Revision 581 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 6 07:21:27 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11694 byte(s)
Diff to previous 579 , to selected 2048
the USB extra field length shall be exactly 54 bytes to be CCID.

Revision 579 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 5 20:53:59 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11684 byte(s)
Diff to previous 570 , to selected 2048
add a test on the USB extra field length to avoid a crash and print an
error message. This occurs when the reader is _not_ CCID and the CCID
driver is used (wrong Info.plist for example).

Revision 570 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 16 10:11:09 2003 UTC (9 years, 5 months ago) by rousseau
File length: 11454 byte(s)
Diff to previous 525 , to selected 2048
read and write timeouts are not symmetric. write timout can be shorter
since the reader and card is not supposed to do anything before
receiving (write) a command.

Revision 525 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 28 18:18:11 2003 UTC (9 years, 6 months ago) by rousseau
File length: 11096 byte(s)
Diff to previous 406 , to selected 2048
correctly use the device name in a debug message instead of a not yet initialised field.

Revision 406 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 10 09:01:30 2003 UTC (9 years, 8 months ago) by rousseau
File length: 11123 byte(s)
Diff to previous 301 , to selected 2048
redesign to separate communication media and CCID protocol. call
ccid_open_hack() upon open to do some reader dependent magic.

Revision 301 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 20 08:37:34 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12736 byte(s)
Diff to previous 279 , to selected 2048
do not duplicate the Info.plist filename but "calculate" it once

Revision 279 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 14 06:53:21 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12051 byte(s)
Diff to previous 269 , to selected 2048
use a 1 minute USB timeout instead of the 1 second used for debug

Revision 269 - (view) (download) (annotate) - [select for diffs]
Added Tue Aug 12 12:40:23 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12101 byte(s)
Diff to selected 2048
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.5