Dear Ludovic & CO, I hope you can help me or light me a bit.

Consider the following scenario (A-B proccess do same, C is "doing the same"):
...
Process A reconnect and start a transaction with BeginTransaction
 before transaction, reconnection is made using:
SCardReconnect(hCard, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0,
SCARD_RESET_CARD, &dwActiveProtocol);
Process A start a series of commands to read some files on smartcard

Process B reconnects and start a transaction with BeginTransaction
 before transaction, reconnection is made using:
SCardReconnect(hCard, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0,
SCARD_RESET_CARD, &dwActiveProtocol);
Process B start a series of commands to read some files on smartcard

Process A raises SCardTransmit with an error 2148532328->SCARD_W_RESET_CARD
    Try to EndTransaction fails cause card was reset
---->Should it really fail? I agree SCardTransmit failed, but shouldnt
hCard be the same altough card were reset? and transactions?
Hapend same as...
Process B raises SCardTransmit with an error 2148532328->SCARD_W_RESET_CARD
    Try to EndTransaction fails cause card was reset
---->Should it really fail? I agree SCardTransmit failed, but shouldnt
hCard be the same altough card were reset? and transactions?

As it failed, proccess try EndTranscaction (failed) and have to retry
all the process above, but when retriend both process hang at:
Process A try to reconnect using SCardReconnect(hCard,
SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0, SCARD_RESET_CARD,
&dwActiveProtocol);
Process B try to reconnect using SCardReconnect(hCard,
SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0, SCARD_RESET_CARD,
&dwActiveProtocol);

Process C started doing things much earlier and ended normally, but
get stuck on next call to connect a few seconds later (same as A and
B)

Any clue?What Im doing wrong?

I attach you some output i got from my logs, for your consideration.

Thanks a lot for your patience and time
Process A(Firefox):

        SCardGetStatusChange (watch for changes)...
        Event raised...
        getReaderList...
2011-06-30-17:00:04->3500#3660 Slot::getReaderList.
                SCardListReaders...
                SCardListReaders (mszReaders)...
                        Reader: Gemplus USB Smart Card Reader 0
                #3660 -> Slot::getReaderList: OK.
                Gemplus USB Smart Card Reader 0 was 5898258 and now its 5963810
        Card inserted...
                Trying to connect...
2011-06-30-17:00:04->3500#3660 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:04->3500#3660 Slot::beginTransaction.
                        SCardReconnect with hCard 3926130689...
                        SCardBeginTransaction...
                        #3660 -> Slot::beginTransaction: OK.
                selectDF...
2011-06-30-17:00:05->3500#3660 Slot::selectDF.
                        Transmit...
2011-06-30-17:00:05->3500#3660 Slot::transmit.
                                SCardTransmit...
                                ERROR: SCardTransmit: 2148532328. Expected 
length 2
                                #3660 -> Slot::transmit: 6.
                        ERROR: Transmit: 6.
                        #3660 -> Slot::selectDF: 6.
                ERROR: DF selection: 6.
                EndTransaction...
2011-06-30-17:00:05->3500#3660 Slot::endTransaction.
                        SCardEndTransaction: 3926130689...
                        ERROR: SCardEndTransaction: 2148532328.
                        #3660 -> Slot::endTransaction: 6.
                ERROR: EndTransaction: 6.
                        SCardDisconnect...
                #3660 -> Slot::doConnect: 6.
                        Connect failed: 6, retry: 1.
2011-06-30-17:00:06->3500#3660 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:07->3500#3660 Slot::beginTransaction.
                        SCardReconnect with hCard 3926196225...




Process B(Thunderbird):

        SCardGetStatusChange (watch for changes)...
        Event raised...
        getReaderList...
2011-06-30-17:00:04->3756#3892 Slot::getReaderList.
                SCardListReaders...
                SCardListReaders (mszReaders)...
                        Reader: Gemplus USB Smart Card Reader 0
                #3892 -> Slot::getReaderList: OK.
                Gemplus USB Smart Card Reader 0 was 5898258 and now its 5963810
        Card inserted...
                Trying to connect...
2011-06-30-17:00:04->3756#3892 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:04->3756#3892 Slot::beginTransaction.
                        SCardReconnect with hCard 3929407488...
                        SCardBeginTransaction...
                        #3892 -> Slot::beginTransaction: OK.
                selectDF...
2011-06-30-17:00:05->3756#3892 Slot::selectDF.
                        Transmit...
2011-06-30-17:00:05->3756#3892 Slot::transmit.
                                SCardTransmit...
                                ERROR: SCardTransmit: 2148532328. Expected 
length 2
                                #3892 -> Slot::transmit: 6.
                        ERROR: Transmit: 6.
                        #3892 -> Slot::selectDF: 6.
                ERROR: DF selection: 6.
                EndTransaction...
2011-06-30-17:00:05->3756#3892 Slot::endTransaction.
                        SCardEndTransaction: 3929407488...
                        ERROR: SCardEndTransaction: 2148532328.
                        #3892 -> Slot::endTransaction: 6.
                ERROR: EndTransaction: 6.
                        SCardDisconnect...
                #3892 -> Slot::doConnect: 6.
                        Connect failed: 6, retry: 1.
2011-06-30-17:00:06->3756#3892 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:07->3756#3892 Slot::beginTransaction.
                        SCardReconnect with hCard 3929473024...



Process C(Shell):

SCardGetStatusChange (watch for changes)...
        Event raised...
        getReaderList...
2011-06-30-17:00:04->3800#3876 Slot::getReaderList.
                SCardListReaders...
                SCardListReaders (mszReaders)...
                        Reader: Gemplus USB Smart Card Reader 0
                #3876 -> Slot::getReaderList: OK.
                Gemplus USB Smart Card Reader 0 was 5898258 and now its 5963810
        Card inserted...
                Trying to connect...
2011-06-30-17:00:04->3800#3876 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:04->3800#3876 Slot::beginTransaction.
                        SCardReconnect with hCard 3925999660...
                        SCardBeginTransaction...
                        #3876 -> Slot::beginTransaction: OK.
                selectDF...
2011-06-30-17:00:05->3800#3876 Slot::selectDF.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        #3876 -> Slot::selectDF: OK.
                selectFile...
2011-06-30-17:00:05->3800#3876 Slot::selectFile.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        #3876 -> Slot::selectFile: OK.
                getObjectList...
2011-06-30-17:00:05->3800#3876 Slot::getObjectList.
                        #3876 -> Slot::getObjectList: OK.
                getMechanisms...
2011-06-30-17:00:05->3800#3876 Slot::getMechanisms.
                        #3876 -> Slot::getMechanisms: OK.
                EndTransaction...
2011-06-30-17:00:05->3800#3876 Slot::endTransaction.
                        SCardEndTransaction: 3925999660...
                        #3876 -> Slot::endTransaction: OK.
                #3876 -> Card::doConnect: OK.
                        Connection succeed.
        Event raised and flagged.
        unlock...
2011-06-30-17:00:05->3800#3876 Slot::unlock.
                unlock mutexSlot...
                unlock mutexControl...
                #3876 -> Slot::unlock: OK.
        #3876 -> Slot::waitForSlotEvent OK.
2011-06-30-17:00:05->3800#3876 Slot::connect...
        lock...
2011-06-30-17:00:05->3800#3876 Slot::lock.
                SCardCancel...
                mutexControl...
                mutexSlot...
                #3876 -> Slot::lock: OK.
        doConnect...
2011-06-30-17:00:05->3800#3876 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
                BeginTransaction...
2011-06-30-17:00:05->3800#3876 Slot::beginTransaction.
                        SCardReconnect with hCard 3925934126...
                        SCardBeginTransaction...
                        #3876 -> Slot::beginTransaction: OK.
                selectDF...
2011-06-30-17:00:05->3800#3876 Slot::selectDF.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        #3876 -> Slot::selectDF: OK.
                selectFile...
2011-06-30-17:00:05->3800#3876 Slot::selectFile.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        Transmit...
2011-06-30-17:00:05->3800#3876 Slot::transmit.
                                SCardTransmit...
                                #3876 -> Slot::transmit: OK.
                        #3876 -> Slot::selectFile: OK.
                getObjectList...
2011-06-30-17:00:05->3800#3876 Slot::getObjectList.
                        #3876 -> Slot::getObjectList: OK.
                getMechanisms...
2011-06-30-17:00:05->3800#3876 Slot::getMechanisms.
                        #3876 -> Slot::getMechanisms: OK.
                EndTransaction...
2011-06-30-17:00:05->3800#3876 Slot::endTransaction.
                        SCardEndTransaction: 3925934126...
                        #3876 -> Slot::endTransaction: OK.
                #3876 -> Card::doConnect: OK.
        unlock...
2011-06-30-17:00:05->3800#3876 Slot::unlock.
                unlock mutexSlot...
                unlock mutexControl...
                #3876 -> Slot::unlock: OK.
        #3876 -> Card::connect: OK.



Proccess C (Shell) later:

2011-06-30-17:00:09->3800#3876 Slot::connect...
        lock...
2011-06-30-17:00:09->3800#3876 Slot::lock.
                SCardCancel...
                mutexControl...
                mutexSlot...
                #3876 -> Slot::lock: OK.
        doConnect...
2011-06-30-17:00:09->3800#3876 Slot::doConnect...
                SCardIsValidContext...
                        SCardConnect Gemplus USB Smart Card Reader 0...
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to