gemplus twin smartcard reader does not work in rdesktop

"James Li" <[email protected]>
Newsgroups gmane.network.rdesktop.user
Message-ID <4E307F9FC2D34913939B26A801AEDA14@JAMES>
Hi : 
 I have a GemPlus GemPC Twin USB smartcard reader. It can be used in 
windows very well. But when I use this reader in linux and use rdesktop to 
redirect to windows, It does not work. 

#pcscd -f -d 

00002164 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFB0 
00000077 readerfactory.c:267:RFAddReader() Using the pcscd polling thread 
00002034 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFAE 
00000078 ifdhandler.c:353:IFDHGetCapabilities() Reader supports 1 slot(s) 
00002802 hotplug_libhal.c:305:get_driver() Looking a driver for VID: 0x1D6B, 
PID: 0x0001 
00000997 ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerUp 
00003088 hotplug_libhal.c:305:get_driver() Looking a driver for VID: 0x0483, 
PID: 0x2016 
00002686 hotplug_libhal.c:305:get_driver() Looking a driver for VID: 0x1D6B, 
PID: 0x0001 
00127312 Card ATR: 3B 3F 94 00 80 69 AF 03 1F 01 CD 00 00 00 00 83 00 1F 00 
39409223 winscard_msg_srv.c:217:SHMProcessEventsServer() Common channel packet 
arrival 
00000050 winscard_msg_srv.c:226:SHMProcessEventsServer() 
SHMProcessCommonChannelRequest detects: 7 
00000017 pcscdaemon.c:160:SVCServiceRunLoop() A new context thread creation is 
requested: 7 
00000096 winscard_svc.c:132:ContextThread() Thread is started: 7 
00000117 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000019 winscard_svc.c:188:ContextThread() Client is protocol version 3:0 
00000150 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000047 winscard.c:239:SCardEstablishContext() Establishing Context: 17008349 
00000406 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000018 winscard.c:296:SCardConnect() Attempting Connect to Gemplus GemPC 
Twin 00 00 using protocol: 3 
00000016 prothandler.c:128:PHSetProtocol() Attempting PTS to T=0 
00000017 ifdhandler.c:488:IFDHSetProtocolParameters() lun: 0, protocol T=0 
00000019 towitoko/atr.c:351:ATR_GetDefaultProtocol() no default protocol found 
in ATR. Using T=0 
00015716 winscard.c:428:SCardConnect() Active Protocol: T=0 
00000026 winscard.c:438:SCardConnect() hCard Identity: 14214 
00000563 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000021 winscard.c:1603:SCardTransmit() Send Protocol: T=0 
00000014 ifdhandler.c:1035:IFDHTransmitToICC() lun: 0 
00085655 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000037 ifdhandler.c:1073:IFDHControl() lun: 0, ControlCode: 0x42000001 
00000018 Control TxBuffer: 02 
00000011 ifdhandler.c:1087:IFDHControl() ifd exchange (Escape command) not allowed 
00000010 Control RxBuffer: 
00000011 ifdwrapper.c:664:IFDControl() Card not transacted: 612 
00000236 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000023 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0x90303 
00000297 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000033 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0x90303 
00000295 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000020 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0x10102 
00000285 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000020 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0x7A007 
00000282 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000020 ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0x10100 
00000293 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000020 ifdhandler.c:447:IFDHSetCapabilities() lun: 0, tag: 0x90303 
00000227 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00593187 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000027 winscard.c:511:SCardReconnect() Attempting reconnect to token. 
00005367 ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerDown 
00003997 ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerUp 
00131047 winscard.c:649:SCardReconnect() Reset complete. 
00000038 Card ATR: 3B 3F 94 00 80 69 AF 03 1F 01 CD 00 00 00 00 83 00 1F 00 
00000016 prothandler.c:128:PHSetProtocol() Attempting PTS to T=0 
00000014 ifdhandler.c:488:IFDHSetProtocolParameters() lun: 0, protocol T=0 
00000018 towitoko/atr.c:351:ATR_GetDefaultProtocol() no default protocol found 
in ATR. Using T=0 
00055537 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000021 winscard.c:845:SCardDisconnect() Active Contexts: 1 
00005310 ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerDown 
00004001 ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerUp 
00131025 winscard.c:906:SCardDisconnect() Reset complete. 
00037239 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000021 winscard.c:250:SCardReleaseContext() Releasing Context: 17008349 
00000965 winscard_msg_srv.c:276:SHMProcessEventsContext() Client has 
disappeared: 7 
00000029 winscard_svc.c:145:ContextThread() Client die: 7 
33722253 winscard_msg_srv.c:217:SHMProcessEventsServer() Common channel packet 
arrival 
00000046 winscard_msg_srv.c:226:SHMProcessEventsServer() 
SHMProcessCommonChannelRequest detects: 7 
00000017 pcscdaemon.c:160:SVCServiceRunLoop() A new context thread creation is 
requested: 7 
00000110 winscard_svc.c:132:ContextThread() Thread is started: 7 
00000182 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000092 winscard_svc.c:188:ContextThread() Client is protocol version 3:0 
00000204 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000105 winscard.c:239:SCardEstablishContext() Establishing Context: 17012869 
00000193 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000099 winscard.c:250:SCardReleaseContext() Releasing Context: 17012869 
00000352 winscard_msg_srv.c:276:SHMProcessEventsContext() Client has 
disappeared: 7 
00000103 winscard_svc.c:145:ContextThread() Client die: 7 
22173395 winscard_msg_srv.c:217:SHMProcessEventsServer() Common channel packet 
arrival 
00000033 winscard_msg_srv.c:226:SHMProcessEventsServer() 
SHMProcessCommonChannelRequest detects: 7 
00000031 pcscdaemon.c:160:SVCServiceRunLoop() A new context thread creation is 
requested: 7 
00000061 winscard_svc.c:132:ContextThread() Thread is started: 7 
00000034 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000012 winscard_svc.c:188:ContextThread() Client is protocol version 3:0 
00000094 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000021 winscard.c:239:SCardEstablishContext() Establishing Context: 17023163 
00005951 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 7 
00000018 winscard.c:296:SCardConnect() Attempting Connect to Gemplus GemPC 
Twin 00 00 using protocol: 3 
00000017 prothandler.c:128:PHSetProtocol() Attempting PTS to T=0 
00000014 ifdhandler.c:488:IFDHSetProtocolParameters() lun: 0, protocol T=0 
00000018 towitoko/atr.c:351:ATR_GetDefaultProtocol() no default protocol found 
in ATR. Using T=0 
00016274 winscard.c:428:SCardConnect() Active Protocol: T=0 
00000026 winscard.c:438:SCardConnect() hCard Identity: 106c1 
07564355 winscard_msg_srv.c:217:SHMProcessEventsServer() Common channel packet 
arrival 
00000033 winscard_msg_srv.c:226:SHMProcessEventsServer() 
SHMProcessCommonChannelRequest detects: 8 
00000013 pcscdaemon.c:160:SVCServiceRunLoop() A new context thread creation is 
requested: 8 
00000095 winscard_svc.c:132:ContextThread() Thread is started: 8 
00000047 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 8 
00000013 winscard_svc.c:188:ContextThread() Client is protocol version 3:0 
00000082 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 8 
00000030 winscard.c:239:SCardEstablishContext() Establishing Context: 16994602 
00006721 winscard_msg_srv.c:287:SHMProcessEventsContext() correctly processed 
client: 8 
00000015 winscard.c:296:SCardConnect() Attempting Connect to Gemplus GemPC 
Twin 00 00 using protocol: 3 
00000013 winscard.c:428:SCardConnect() Active Protocol: T=0 
00000013 winscard.c:438:SCardConnect() hCard Identity: 1064a 
10949148 winscard_msg_srv.c:276:SHMProcessEventsContext() Client has 
disappeared: 7 
00000030 winscard_svc.c:145:ContextThread() Client die: 7 
00000015 winscard.c:250:SCardReleaseContext() Releasing Context: 17023163 
00000061 winscard.c:845:SCardDisconnect() Active Contexts: 2 
00000044 winscard_msg_srv.c:276:SHMProcessEventsContext() Client has 
disappeared: 8 
00000172 winscard_svc.c:145:ContextThread() Client die: 8 
000012 winscard.c:250:SCardReleaseContext() Releasing Context: 16994602 

# rdesktop -r scard:"Gemplus GemPC Twin 00 00"="Gemplus USB SmartCard Reader 
0" 192.168.1.100 
Static/aliased Device: 
Lin name: [Gemplus GemPC Twin 00 00] 
Win name: [Gemplus USB SmartCard Reader 0] 
Vendor  : [] 
WARNING: Remote desktop does not support colour depth 24; falling back to 16 
SCARD: SCardAccessStartedEvent() 
SCARD: SCardAccessStartedEvent() 
SCARD: SCardEstablishContext() 
SCARD: -> Success (context: 0x0103c0bb) 
SCARD: SCardListReaders(context: 0x0103c0bb) 
SCARD: -> Success 
SCARD: SCardListReaders(context: 0x0103c0bb) 
SCARD: -> Success 
SCARD: SCardConnect(context: 0x0103c0bb, share: 0x00000002, proto: 0x00000003, 
reader: "Gemplus GemPC Twin 00 00") 
SCARD: -> Success (hcard: 0x000006c1 [0x000106c1]) 
SCARD: SCardState(hcard: 0x000006c1 [0x000006c1], atr len: 1243264 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x000006c1 [0x000006c1], atr len: 1243264 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x000006c1 [0x000006c1], atr len: 1243264 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x000006c1 [0x000006c1], atr len: 1243264 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x000006c1 [0x000006c1], atr len: 1243264 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardEstablishContext() 
SCARD: -> Success (context: 0x0103512a) 
SCARD: SCardListReaders(context: 0x0103512a) 
SCARD: -> Success 
SCARD: SCardListReaders(context: 0x0103512a) 
SCARD: -> Success 
SCARD: SCardConnect(context: 0x0103512a, share: 0x00000002, proto: 0x00000003, 
reader: "Gemplus GemPC Twin 00 00") 
SCARD: -> Success (hcard: 0x0000064a [0x0001064a]) 
SCARD: SCardState(hcard: 0x0000064a [0x0000064a], atr len: 1243140 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x0000064a [0x0000064a], atr len: 1243140 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x0000064a [0x0000064a], atr len: 1243140 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x0000064a [0x0000064a], atr len: 1243140 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 
SCARD: SCardState(hcard: 0x0000064a [0x0000064a], atr len: 1243140 bytes) 
SCARD: -> Failure: Invalid handle. (0x80100003) 

# testpcsc 

MUSCLE PC/SC Lite unitary test Program 

THIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL FOR END USERS! 
Do NOT use it unless you really know what you do. 

Testing SCardEstablishContext   : Command successful. 
Testing SCardIsValidContext     : Command successful. 
Testing SCardIsValidContext     : Invalid handle. (don't panic) 
Testing SCardGetStatusChange 
Please insert a working reader  : Command successful. 
Testing SCardListReaderGroups   : Command successful. 
Command successful. 
Group 01: SCard$DefaultReaders 
Testing SCardListReaders        : Command successful. 
Command successful. 
Reader 01: Gemplus GemPC Twin 00 00 
Waiting for card insertion      : Command successful. 
Testing SCardConnect            : Command successful. 
Select file: 00 A4 00 00 02 3F 00 
Testing SCardTransmit           : Command successful. 
card response: 90 00 
Testing SCardControl            : Transaction failed. (don't panic) 
Testing SCardGetAttrib          : Command successful. 
ATR length: 19 
Testing SCardGetAttrib          : Command successful. 
3B 3F 94 00 80 69 AF 03 1F 01 CD 00 00 00 00 83 00 1F 00 
Testing SCardGetAttrib          : Command successful. 
Vendor IFD version              : 0x01030008 
Testing SCardGetAttrib          : Command successful. 
Max message length              : 261 
Testing SCardGetAttrib          : Command successful. 
Vendor name                     : Ludovic Rousseau 
Testing SCardSetAttrib          : Transaction failed. (don't panic) 
Testing SCardStatus             : Command successful. 
Current Reader Name             : Gemplus GemPC Twin 00 00 
Current Reader State            : 0x0034 
Current Reader Protocol         : T=0 
Current Reader ATR Size         : 19 bytes 
Current Reader ATR Value        : 3B 3F 94 00 80 69 AF 03 1F 01 CD 00 00 00 00 
83 00 1F 00 
Press enter: 
Testing SCardReconnect          : Command successful. 
Testing SCardDisconnect         : Command successful. 
Testing SCardReleaseContext     : Command successful. 

PC/SC Test Completed Successfully ! 
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.