cancel
Showing results for 
Search instead for 
Did you mean: 

ST95HF Error Code type : 0x87 0x01 0x90

choongkeanfatt29
Associate II
Posted on October 05, 2016 at 06:28

Hi Sir / Madam,

I receive error code from ST95HF :  0x87  0x01  0x90  ,   may I know what does this means  ?

There is no explanation on the above code.  The explained code in ST95HF datasheet DoclD025630 Rev4  is only 0x87 0x00.  Which means timeout or no tag, meaning no acknowledge or No Acknowledge being send back.   

Please help soon.

Thank you very much.

Cheers,

kf

#nfc
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on October 10, 2016 at 12:03

Hello,

Can you please elaborate your conditions, type of tag, initialization sequence (protocol select command...)

If you are in ISO14443A in a certain condition you can have such return code :

<MainErrorCode> <Len> <ErrorCode_0> <ErrorCode_1>

In your case it seems you have two errors:

the main one is 0x87

Frame wait time out (no valid reception)

And the CR95HF has detected a second error  

0x90 

Residual bits in last byte. Useful for ACK/NAK reception

  of ISO/IEC 14443 Type A.

This is an indication but for your setup your Tag has not provided answer to the CR95HF request, and can consider only the main return code 0x87

 Regards

View solution in original post

3 REPLIES 3
Posted on October 10, 2016 at 12:03

Hello,

Can you please elaborate your conditions, type of tag, initialization sequence (protocol select command...)

If you are in ISO14443A in a certain condition you can have such return code :

<MainErrorCode> <Len> <ErrorCode_0> <ErrorCode_1>

In your case it seems you have two errors:

the main one is 0x87

Frame wait time out (no valid reception)

And the CR95HF has detected a second error  

0x90 

Residual bits in last byte. Useful for ACK/NAK reception

  of ISO/IEC 14443 Type A.

This is an indication but for your setup your Tag has not provided answer to the CR95HF request, and can consider only the main return code 0x87

 Regards

choongkeanfatt29
Associate II
Posted on October 11, 2016 at 06:31

Hi Sir / Madam,

Million thanks to your support. 

I am developing communication between 2 devices(ST95HF, peer device is another vendor NFC device) communicate through NFC touching.

I am using Type 2, ISO 14443-A.

My problem is ST95HF is unable to write to peer NFc device. It return timeout error.

However, I am able to read from peer NFC device with the same code and same memory locaton.

During my debug attempt, I need more information from the error code send back from ST95HF.

May I provide you the following information:

To write I have done 2 trials. Both fail.

[Trial 1]  FIrst, select sector(need to send 2 packets of command) to write, then write. 

It has already failed after the first packet send out.  

[Trial 2]  Without select sector, straight away select Memory lcoation to be written.

It has already failed for all attempt writting to memory location.

//--------------------------------------------------------------------------------

Trial 1:

To select a sector location in peer NFC device, I am sending out packet 1.

SEND_RECEIVE (0x04), Data_Length (0x03), Peer_NFC_Device_Sector_select_command_set(C2, FF), 0x28.

But the response is an error code from ST95HF. Tthe following is capture from microcontroller memory:

87 01 90 d0 00 00 00 00 f9 ff ff ff 00 00 00 00 10 ab 03 08

So far, I have not encounter a sector-select success attempt.

But I can estimate the sector-select success response will be:

0x90 0x04, 0x000A

//----------------------------------------------------------------------------------

Trial 2:

To write a memory location (0xF0) in peer NFC device, I am sending out the following packet to ST95HF : 

SEND_RECEIVE (0x04), Length (0x07), Peer_NFC_Write_Command (0xA2), Location to be written (0xF0), Data to be written (01, 02, 03, 04), 0x28

But receive an error code from ST95HF:

87 01 90 78 80 07 01 d5 00 00 00 00 f9 ff ff ff a0 e8 00 20  --> First writing loop

87 01 90 00 a0 00 00 00 00 00 00 00 f9 ff ff ff a0 e8 00 20  --> Second writing loop

87 01 90 00 e8 00 00 00 00 00 00 00 f9 ff ff ff a0 e8 00 20  --> Third writing loop

87 01 90 00 e8 00 00 00 00 00 00 00 f9 ff ff ff a0 e8 00 20  --> Fourth writing loop

For your information, I am using multiple loops to write to peer NFC device, 64 byets of data starting from Peer NFC page address 0xF0.

So far, I have not encounter a write success attempt.

But I can estimate the write success response will be:

0x90 0x04, 0x000A

//----------------------------------------------------------------------------

Some information:

For Peer NFC device, when ST95HF send out sector select command, By right, It will reply the following data or response:

It will return either Acknowledge (0x0A)  or

No Acknowledge (0x0000 - invalid page address,

0x0001 - Paroty or CRC error,

0x0003 - Arbiter locked to I2C,

0x0007 - EEPROM Write Error) 

or timeout (no response at all).

However, from the above response, none of the above code is matching.

//--------------------------------------------------------------------------

For Peer NFC device, when ST95HF write to its memory location, by right, it will reply the following data or response:

It will return either Acknowledge (0x0A)  or

No Acknowledge (0x0000 - invalid page address,

0x0001 - Paroty or CRC error,

0x0003 - Arbiter locked to I2C,

0x0007 - EEPROM Write Error) 

or timeout (no response at all).

However, from the above response, none of the above code is matching.

//---------------------------------------------------------------------------

For your information,

I have successfully Read 64 bytes of data from the same memory location (0xF0) in Peer NFC device, using the same code.

ST95HF sends back all 64 bytes correct informationto microcontroller.

 

The difference between read and write is :

Peer NFC device reading timeout is 5ms. But, its writing timeout is 10ms. 

May I ask, from the error code above, is there any clue indicates that I need to prolong the waiting time in ST95HF,

to wait for the Acknowledge (0x000A) yet to be received from Peer NFC Device ?  

May I know How can I adjust this characteristic of ST95HF,

the waiting time for an Acknowledge to be received from its Peer NFC Device  ? 

Please advice soon.

Your advice is very much appreciated.

Thank you.

Cheers,

kf

choongkeanfatt29
Associate II
Posted on October 17, 2016 at 05:11

Thank you NFC product support5 for your advice.

I am able to write to Peer NFC device.

The previous failure is caused by Peer NFC device system is unstable.

Thank you very much.

Cheers,

kf