Read single block

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Read single block

1,622 Views
g20500178
Contributor I

I have a SL2S2602 TAG, Why i always get the R-APDU is 0xC0 0x03 0x02 0x63 0x00 0x90 0x00 when i transmit 

0xFF, 0xC2, 0x00, 0x01,
0x0B,
0x5F, 0x46, 0x04, 0xF0, 0xBA, 0x04, 0x00,
0x95, 0x04, 0x20, 0x00 ,
0x00

Could somebody give me a few pointers with this problem?

Tags (1)
3 Replies

1,440 Views
nxf54945
NXP Employee
NXP Employee

Hello Chen GuangJian,

 

The reader you are using is not a mass market product. It is taking us a while to confirm the command structure and answer your question because the information we need is not on the public webpage. This might be due to an NDA restriction or to the product status. However, we are working on it and we will let you know as soon as we have useful information.

Meanwhile, could you please confirm that your command structure is based on "Interoperability Specification for ICCs and Personal Computer Systems"?

We cannot support directly the third party guide you are using; rather, we can help you go through the standard.

This user manual might come in handy when building your commands on transparent mode.

 

Best regards,

Javier

0 Kudos

1,440 Views
g20500178
Contributor I

HI Javier:

   Thank you for your support.

   In my case , i working in windows 10 and the device driver is PN548(NXP NPC300). I use the APDU command through PC / SC to control SL2S2602, then i do some experiments below:

1. Get UID :            FF CA 00 00 00                        => 69 A3 C5 0A 08 01 04 E0
2. Write Block 0 :    FF D6 01 00 04 01 02 03 04    => 90 00

3. Read Block 0 :    FF B0 01 00 04                        => 01 02 03 04 90 00

And i saw windows doc has a command "Transparent exchange command" can help user to performing specific commands ,so i try to use Transparent exchange command to performing ISO 15693-3 read single command below:

Transparent exchange command (Windows Drivers) | Microsoft Docs 

1. FF C2 00 01 13 5F 46 04 F0 BA 04 00 95 04 20 69 A3 C5 0A 08 01 04 E0 01 E9 5A

    => C0 03 02 69 86 90 00

2. FF C2 00 01 13 5F 46 04 F0 BA 04 00 95 04 20 E0 04 01 08 0A C5 A3 69 01 4D 8C

    => C0 03 02 69 86 90 00

 

It's not working. I want to confirm where are the error points ? Command Error or The device driver is not support?

Best regards,

Chen

0 Kudos

1,440 Views
nxf54945
NXP Employee
NXP Employee

Dear Chen,

 

I hope you are doing well.

 

Your TAG only supports ISO/IEC 15693-3.

Could you please confirm you are coding your commands under this standard?

 

On the ISO/IEC 15693-3 documentation you will find the command structures and codes.

For example, the command code for READ SINGLE BLOCK is 20h, and its structure is:

{SOF, Flags (1 byte), command code (1 byte), UID (8 bytes), block number (1 byte), CRC16 (2 bytes), EOF}

 

Here is the implementation I used:

First I request the inventory

[pTxBuffer=010000]

Then, I select my SL2S2602 card.

[pUid=D71C6E01080104E0   bUidLength=08   ->   pTxBuffer=25]

Finally, I read block 00 from the User Memory, which contains 686F6C61.

[pTxBuffer=2000   ->   ppData=686F6C61]

 

Could you please confirm that you are performing the inventory and TAG selection?

 

I hope this information helps. Please let us know if you have any doubts or concerns and we will be glad to assist you.

 

Best regards,

Javier