[Pcsclite-cvs-commit] r4383 - in /trunk/Drivers/ccid/src: ccid.h commands.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Sep 10 14:36:25 UTC 2009


Author: rousseau
Date: Thu Sep 10 14:36:24 2009
New Revision: 4383

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4383
Log:
circumvent bugs of the Dell 413c:2100 keyboard

Modified:
    trunk/Drivers/ccid/src/ccid.h
    trunk/Drivers/ccid/src/commands.c

Modified: trunk/Drivers/ccid/src/ccid.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid.h?rev=4383&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid.h (original)
+++ trunk/Drivers/ccid/src/ccid.h Thu Sep 10 14:36:24 2009
@@ -179,6 +179,7 @@
 #define SEG			0x08E68000
 #define BLUDRIVEII_CCID	0x1B0E1078
 #define DELLSCRK    0x413C2101
+#define DELLSK      0x413C2100
 #define KOBIL_TRIBANK	0x0D463010
 
 #define VENDOR_GEMALTO 0x08E6

Modified: trunk/Drivers/ccid/src/commands.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/commands.c?rev=4383&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/commands.c (original)
+++ trunk/Drivers/ccid/src/commands.c Thu Sep 10 14:36:24 2009
@@ -346,7 +346,8 @@
 
 	}
 
-	if (DELLSCRK == ccid_descriptor->readerID)
+	if ((DELLSCRK == ccid_descriptor->readerID)
+		|| (DELLSK == ccid_descriptor->readerID))
 	{
 		/* the firmware rejects the cases: 01h-FEh and FFh default
 		 * CCID message. The only value supported is 00h (no message) */
@@ -356,6 +357,17 @@
 				TxBuffer[8]);
 			TxBuffer[8] = 0x00;
 		}
+	}
+
+	if (DELLSK == ccid_descriptor->readerID)
+	{
+		/* the 2 bytes of wPINMaxExtraDigit are reversed */
+		int tmp;
+
+		tmp = TxBuffer[6];
+		TxBuffer[6] = TxBuffer[5];
+		TxBuffer[5] = tmp;
+		DEBUG_INFO("Correcting wPINMaxExtraDigit for Dell keyboard");
 	}
 #endif
 




More information about the Pcsclite-cvs-commit mailing list