Project

General

Profile

Feature #4806

Add support of T=1?

Added by rousseau about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Low
Assignee:
-
Target version:
-
Start date:
10/14/2020
Due date:
% Done:

0%

Spec Reference:

Description

The sysmoOCTSIM reader does support only the T=0 protocol as indicated in the USB CCID descriptor:
dwProtocols: 0x0000 0x0001
T=0

Maybe it can be easy to add support of T=1 protocol?
The reader works in TPDU mode so a lot of the T=1 work is done by the CCID driver on the host.

I do not have a real use case for T=1 myself. So this issue importance is minor.

I think that is the first time I have a reader (in which you can insert the card I want) that supports only T=0 cards.

You can see a list of readers that support only T=0 at https://ccid.apdu.fr/select_readers/?dwProtocols=1
But all/most of them are tokens so the T=0 card is embedded and can't be replaced by a T=1 card.

History

#1 Updated by laforge about 2 months ago

rousseau wrote:

The sysmoOCTSIM reader does support only the T=0 protocol as indicated in the USB CCID descriptor:
dwProtocols: 0x0000 0x0001
T=0

This is correct (and documented in the data sheet, AFAICT).

Maybe it can be easy to add support of T=1 protocol?

I haven't really looked into it yet. But it's true, I was typically thinking of APDU mode, where a lot of state machine logic needs to happen inside the reader firmware.

The reader works in TPDU mode so a lot of the T=1 work is done by the CCID driver on the host.

Interesting idea. I suppose pcsc-lite supports that?

I do not have a real use case for T=1 myself. So this issue importance is minor.

Same here. All the commercial users of the sysmoOCTSIM so far have only T=0 use cases, and given that the R&D budget of the sysmoOCTSIM firmware unfortunately exploded due to many problems with the [broken] UART peripheral of the microcontroller, sysmocom decided not to spend even more resources on currently not required features like T=1 support in osmo-ccid-firmware until there either is a strong customer demand, or somebody else contributes related code.

I think that is the first time I have a reader (in which you can insert the card I want) that supports only T=0 cards.

Indeed, it is unusual, I know. But in the telecom domain, all cards must support T=0, so we can actually get away with it. For now.

#2 Updated by rousseau about 2 months ago

laforge wrote:

The reader works in TPDU mode so a lot of the T=1 work is done by the CCID driver on the host.

Interesting idea. I suppose pcsc-lite supports that?

pcsc-lite no. pcsc-lite does not contain any reader driver.
But my CCID driver do support TPDU for T=1 (and it is a complex code :-) ).
https://ccid.apdu.fr/#features

I think that is the first time I have a reader (in which you can insert the card I want) that supports only T=0 cards.

Indeed, it is unusual, I know. But in the telecom domain, all cards must support T=0, so we can actually get away with it. For now.

I was not sure that T=0 was mandatory for SIM/USIM cards. It is now clear why only T=0 is supported.

#3 Updated by laforge about 2 months ago

On Wed, Oct 14, 2020 at 03:21:18PM +0000, rousseau [REDMINE] wrote:

laforge wrote:

Interesting idea. I suppose pcsc-lite supports that?

pcsc-lite no. pcsc-lite does not contain any reader driver.

well, yes, I should have been more specific.

But my CCID driver do support TPDU for T=1 (and it is a complex code :-) ).
https://ccid.apdu.fr/#features

That was of course what I intended to say.

I was not sure that T=0 was mandatory for SIM/USIM cards. It is now clear why only T=0 is supported.

To be specific: SIM cards are only specified for T=0, while USIM cards
must provide T=0 and may provide T=1 optionally. Phones in turn must
support T=0 and may support T=1 optionally.

I've never seen a single phone use T=1, though - even if some SIM cards
state support for it. And given that we have sold hundreds of SIMtrace
devices for SIM card protocol tracing during the past decade, I think
somebody would have complained if it didn't work. SIMtrace also only
supports T=0 at this point.

So I think we have a solid basis to say that anything except T=0 is
irrelevant in the context of SIM/USIM/ISIM/... cards.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)