Accdg to the API for javax.smartcardio.CardTerminal protocols supported are the following ("T=0", "T=1", or "T=CL")
However in the implementation for example in sun.security.smartcardio, it only accepts T=0, T=1 or *
and T=CL parameter will result to PCSCException - SCARD_E_PROTO_MISMATCH.
Does anyone know which api supports T=CL? or if not, how this can be done? thanks.
the T=n notation is defined in ISO 7816. Only T=0 to T=15 is possible and usable in an ATR.
so, T=CL does not exist, it does not mean anything. The real protocol is ISO14443-4, which is very similar to T=1.
In practice, contactless readers use T=1, even if some of them emulate/advertise a T=0 protocol.
The best way to go is, as explained by Shane, to use the wildcard protocol.