[Pcsclite-git-commit] [CCID] 04/05: Add Feitain R502 dual interface reader into CCID driver

Ludovic Rousseau rousseau at moszumanska.debian.org
Wed Sep 16 16:31:27 UTC 2015


This is an automated email from the git hooks/post-receive script.

rousseau pushed a commit to branch master
in repository CCID.

commit 0fe9bda3e9af88d2cd8e2e08edbcb7aad9f4792a
Author: Feitian Technologies <hongbin at ftsafe.com>
Date:   Wed Jul 8 22:46:01 2015 +0200

    Add Feitain R502 dual interface reader into CCID driver
    
    Feitian R502 is a composite multislot reader.
    Mac OS X does not yet support composite readers.
---
 src/ccid.h       | 1 +
 src/ccid_usb.c   | 5 +++--
 src/ifdhandler.c | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/ccid.h b/src/ccid.h
index bc32315..4f861e2 100644
--- a/src/ccid.h
+++ b/src/ccid.h
@@ -210,6 +210,7 @@ typedef struct
 #define HP_CCIDSMARTCARDKEYBOARD 0x03F00036
 #define KOBIL_IDTOKEN 0x0D46301D
 #define FUJITSUSMARTKEYB 0x0BF81017
+#define FEITIANR502DUAL 0x096E060D
 
 #define VENDOR_GEMALTO 0x08E6
 #define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)
diff --git a/src/ccid_usb.c b/src/ccid_usb.c
index 38591b7..c0bacc5 100644
--- a/src/ccid_usb.c
+++ b/src/ccid_usb.c
@@ -399,7 +399,8 @@ again_libusb:
 
 				/* simulate a composite device as when libudev is used */
 				if ((GEMALTOPROXDU == readerID)
-					|| (GEMALTOPROXSU == readerID))
+					|| (GEMALTOPROXSU == readerID)
+					|| (FEITIANR502DUAL == readerID))
 				{
 						/*
 						 * We can't talk to the two CCID interfaces
@@ -611,7 +612,7 @@ again:
 
 				/* reset for a next reader */
 				if (static_interface > 2)
-					static_interface = 1;
+					static_interface = (FEITIANR502DUAL == readerID) ? 0: 1;
 #endif
 
 				/* Get Endpoints values*/
diff --git a/src/ifdhandler.c b/src/ifdhandler.c
index 0f618ee..b34f01e 100644
--- a/src/ifdhandler.c
+++ b/src/ifdhandler.c
@@ -456,7 +456,7 @@ EXTERNAL RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag,
 					 * multi-slot reader */
 					int readerID =  get_ccid_descriptor(reader_index) -> readerID;
 
-					if ((GEMALTOPROXDU == readerID) || (GEMALTOPROXSU == readerID))
+					if ((GEMALTOPROXDU == readerID) || (GEMALTOPROXSU == readerID) || (FEITIANR502DUAL == readerID))
 						*Value = 2;
 				}
 #endif

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pcsclite/CCID.git



More information about the Pcsclite-cvs-commit mailing list