Hello,
 
I am writing a SmartCard reader driver under Linux.
Now I will handle a Memory Card.
 
I found a problem
After I return the ATR 92 23 10 91
After Pcsc-lite 0.8.4
 
LONG IFDStatusICC( PREADER_CONTEXT rContext, PDWORD pdwStatus,
     PDWORD pdwProtocol, PUCHAR pucAtr, PDWORD pdwAtrLen ) {
 
 rv = ATRDecodeAtr( &sSmartCard, pucAtr, MAX_ATR_SIZE );
     
      /* Might be a memory card without an ATR */
      if ( rv == 0 ) {
 *pdwAtrLen = 0;
      } else {
 *pdwAtrLen = sSmartCard.ATR.Length;
      }
}
 
it will make the return ATR length zero
This will cause EHSpawnEventHandler: power up fail
#ifdef PCSC_DEBUG
 DebugLogC("EHSpawnEventHandler: Card inserted into %s\n",
    lpcReader, __FILE__, __LINE__);
 
 if ( rContext->dwAtrLen > 0 ) {
   DebugLogD("EHSpawnEventHandler: Card insertion ATR:\n\t",
      rContext->ucAtr, rContext->dwAtrLen,  __FILE__, __LINE__ );
 } else {
   DebugLogA("EHSpawnEventHandler: Error powering up card.\n",
      __FILE__, __LINE__);
 }  
#endif
 
Does this is MUSCLE issue in Memory Card?
Or anybody can tell me, how does MUSCLE to support Memory Card.
 
Randy Chen
(02)2545-9095 #41
[EMAIL PROTECTED]
 

Reply via email to