cancel
Showing results for 
Search instead for 
Did you mean: 

What does a Security Status = 63 mean when reading a single block from a RFID tag using the ST25R3911B and ISO-15693?

SDesa.1
Associate II

Hi,

Hardware Setup: MCU: XMC4200 (infineon) connected to ST25R3911B over SPI, tag is ISO15693 compliant

Software: Using the rfal library and the iso15693 APIs in en.STSW-ST25RFAL001 (V2.1.2)

I am able to successfully read the inventory, write a single block and read a single block from the RFID tag memory.

In my testing, if I write to a single block and read from that same block immediately after (to verify that the write occurred successfully), I get a "Security Stat: 63" on the block read transaction. If I simply read a single block (which is not preceded by a write to the same block the Security Status comes out to be 0)

What does this security status code mean? Why is it not 0?

I have attached the C code snippets for my read_single_block and write_single_block function implementation.

Here is the printout from my Debug UART

******************************************************************

Running Inventory Command

iso15693Inventory status: 0

Found Tag!

ISO15693/NFC-V card found

. UID: E0:08:01:55:AB:75:6C:D5

, DSFID: 0

, RES_FLAG: 0

, CRC: a090

Reading system info

System Info for card with UIDE0:08:01:55:AB:75:6C:D5:

Flags:     0

infoFlags:   f

dsfid:     0

afi:      0

numBlocks:   250

blockSize:   8

icReference:  84

Write Contents: 0A, 0C, 41, 47 5F, 39, 35, 37

Iso15693/NFC-V Successful write to block num: 1

Reading block number: 1

Read block 1:

  Flags:     0

  ErrorCode:   0

  SecurityStat: 63

  ActualSize:  8

  Data:     0A:0C:41:47:5F:39:35:37

Block Num: 1, Read Data Length: 8

Block Contents: 0A, 0C, 41, 47 5F, 39, 35, 37

*************************************************************************

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

As per ISO/IEC 15693-3, the block security status is sent back by the tag as a parameter in the response to a reader request such as Read Single Block with Option flag set to 1.

The meaning of the block security status is described in ISO/IEC 15693-3 §6:

  • b1: lock flag
  • b5:b2: proprietary
  • b8:b6: RFU 0

As this value is sent by the tag, I would suggest to contact the tag manufacturer (if I am not wrong Fujitsu Limited).

You can also dump the full receive buffer to make sure the 0x63 is not due to a decoding error due to casting an array of bytes to a structure in your code.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
Brian TIDAL
ST Employee

Hi,

As per ISO/IEC 15693-3, the block security status is sent back by the tag as a parameter in the response to a reader request such as Read Single Block with Option flag set to 1.

The meaning of the block security status is described in ISO/IEC 15693-3 §6:

  • b1: lock flag
  • b5:b2: proprietary
  • b8:b6: RFU 0

As this value is sent by the tag, I would suggest to contact the tag manufacturer (if I am not wrong Fujitsu Limited).

You can also dump the full receive buffer to make sure the 0x63 is not due to a decoding error due to casting an array of bytes to a structure in your code.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.