cancel
Showing results for 
Search instead for 
Did you mean: 

When I execute sendreceive command 952008 (for example) I get different answers

DRich.1
Associate II

I am working with Mifare Ultralight Ev1 (Iso14443A Type 2 tag). NFC Reader is CR95HF.

When I execute this command I get different answers. At first I only checked on if the answer started with 80, so they both succeed. However now I am getting in more detail on how answers work, and I see that sometimes I get a long response while at others I get 8000.

Example:

---------CR95HFDll_SendReceive strRequest:

---------952008

---------CR95HFDll_SendReceive strAnswer:

---------8000

---------CR95HFDll_SendReceive strRequest:

---------952008

---------CR95HFDll_SendReceive strAnswer:

---------80085A734D80E4280000

What causes this difference in response and what does it mean?

-------------------------------------------------------------

Also I am getting into CRC. I see that sometimes response ends with 280000, but it seems the command has been executed properly. Should I always retry unless the answer ends with 080000?

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

MB1054B is the latest revision of the board with the latest revision of the CR95HF (NFC FS2JAST4). Only the MCU FW needs to be updated from 3.6.0 to 3.7.1 thanks to the STSW-M24LR007 package.

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

5 REPLIES 5
Brian TIDAL
ST Employee

Hi,

would you please share more details about your setup:

  • HW: MB1054B CR95HF RF transceiver Demonstration Board? What is the CR95HF version (IDN command should returns NFC FS2JAST4)
  • SW:
    • CR95HF development software or you own driver based on ST DLL? if CR95HF development software , which menu is being used? If not using CR95HF development software, can you try it (Menu ISO14443-A->ISO14443-A Cards Commands then "One Tag Anticollision & Selection process" button and check the behavior)
    • MCU revision 3.7.1? DLL revision: 1.2?
  • Regarding the tag, is it a genuine tag or a clone? Can you share the UID of the tag?
  • do you have the same behavior with 9320 command?? What is the exact sequence being used:
    • REQA or WUPA? What is the ATQA answer?
    • 9320 command being used and reply from the tag

9520 is ANTICOLLISION Level 2 Command. As bit oriented anticollision frame does not include a CRC, the CRC error bit in the information bytes is always 1 and is not meaningful (i.e. has to be ignored). Therefore information bytes 280000 means no collision, full 5 bytes received from the tag.

8000 answer is not common for ANTICOLLISION commands. It looks like the tag has started to reply to the Anticollision command but has not completed. I would suggest to manage this case as a timeout or an error.

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.
DRich.1
Associate II

Hi, thank you for your response.

I work with my own C++ driver based on the ST CR95hfDll file.

The NFC reader is the CR95HF.

When I execute the getHardwareVersion I get 00074D423130353478.

When I execute the getDLLRev I get 1.2

When I execute the getMCURev I get 0003030600

I am working with a genuine Mifare Ultralight EV1 NFC tag. The UID is 044AE45A734D81

The Anticollision sequence is as follows:

>> 2607

<< 80054400280000

>> 932008

<< 800888044AE422280000 (but sometimes 8000)

>> 937088044AE422E08208

<< 800604DA17080000

>> 952008

<< 80085A734D81E5280000 (but sometimes 8000)

>> 95705A734D81E5AD1B08

<< 800600FE51080000

However this isnt only in this command. For example in read commands (for example 300628) at one time I get 8000 (so no data read) at other times a full response with the data read and 080000 or 280000 at the end.

8000 answer is not common for ANTICOLLISION commands. It looks like the tag has started to reply to the Anticollision command but has not completed. I would suggest to manage this case as a timeout or an error.

I will, thank you :) .

Brian TIDAL
ST Employee

Hi,

"When I execute the getMCURev I get 0003030600" ==> The MCU revision is 3.6.0. I would suggest to update to the latest one (3.7.1). See STSW-M24LR007 Firmware for RF transceiver board included in the M24LR-DISCOVERY kit.

Can you also

  • check the marking close to the USB connector on the board: is it MB1054A or MB1054B or other?
  • send the IDN command and check this returns 000F4E4643204653324A41535434002ACE (NFC FS2JAST4)?

Thanks

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.
DRich.1
Associate II

Its MB1054B.

The response of the IDN commaned is

"000F4E4643204653324A41535434002ACE"

which is equal to your assumed response.

Brian TIDAL
ST Employee

Hi,

MB1054B is the latest revision of the board with the latest revision of the CR95HF (NFC FS2JAST4). Only the MCU FW needs to be updated from 3.6.0 to 3.7.1 thanks to the STSW-M24LR007 package.

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.