From: Jean-Luc Giraud <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Re: [Fwd: MUSCLE Error using an IBM MFC in GemPlus readers.]
Message-ID: <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
References: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
User-Agent: Mutt/1.0.1i
In-Reply-To: <[EMAIL PROTECTED]>; from [EMAIL PROTECTED] on Mon, 
Jul 02, 2001 at 01:38:26PM +0200

Rich Wareham wrote:
>
> Hello,
>
> I am currently porting some Windows software for the management of
> smartcards over to Linux, the cards in question are IBM MFC 4.22 smart
> cards. I get the same error on card power up from both the GemPlus 410
> serial and GemPlus 430 USB card reader when using the PCSClite drivers. In
> both cases the drivers send the following OROS command:
>
> 12
>
> which attempts to power up the card and return the ATR, the response is
>
> A0 3B EF 00 FF 81 31 FF 65 49 42 4D 20 4D 46 43 39 32 32 39 32 38 39 30 17
>
> The first byte is an error code which is, according to the GemPlus docs,
> "Error in the card reset response, such as unknown exchange protocol, or
> byte TA1 not recognized [sic]. The card is not supported by OROS. The card
> reset response is nevertheless returned."
>
> Since I'm rather new to smart-card programming, could someone tell me what
> this means and who is at fault.
>
> BTW, the same readers and cards work fine with PC/SC under Windows.

As far as the 430 driver is concerned, you can try to modify ifdhandler.c
to make it more permissive.

In function IFDHPowerICC( DWORD Lun,...) CHANGE:
    switch(Action)
    {
     ....
        case IFD_POWER_UP:
        case IFD_RESET:
        ....
             switch ( pcbuffer[STATUS_OFFSET] )
             {
                 case GCORE_OK:
                 case GCORE_WRONG_TCK:
                 .....

BY:
    switch(Action)
    {
     ....
        case IFD_POWER_UP:
        case IFD_RESET:
        ....
             switch ( pcbuffer[STATUS_OFFSET] )
             {
                 case GCORE_OK:
                 case GCORE_WRONG_TCK:
                 case 0xA0:
                 .....


The driver should not complain any more, but I don't know if the reader will
work!  I don't have any card with this ATR, so I can't do any test.

I hope this helps.
JLuc.

***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to