2093136_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2093136_en-US

2093136_en-US

ICODE SLI tag returns a 64 01 error for a write_single_block command

I'm using a Windows 11 laptop and and ACS ACR1552 reader. 

I'm using the ACS Script Tool (v5.02) to send APDUs to a NXP ICODE SLI tag.

I'm creating a transparent session, setting the protocol to 15693/Layer3, and then using transparent exchange encapsulation to the send the APDUs to the tag.

GET_SYSTEM_INFO and READ_SINGLE_BLOCK seems to work OK.

WRITE_SINGLE_BLOCK returns a "64 01" error but does appear to actually write the data.

I have not been able to find any info on the meaning or cause of this 64 01 response.

Can anyone shed some light on this?

Here's the sequence of APDUs I'm working with.

  • APDU #4 reads block 0 data as 11 22 33 44
  • APDU #5 writes block 0 data to 12 34 56 78  -  yet gets a 64 01 error
  • APDU #6 reads block 0 data as 12 34 56 78  -  which shows the previous write actually worked?

; (1) establish transparent session
< FF C2 00 00 02 81 00 00
> C0 03 00 90 00 90 00

; (2) transparent exchange - switch protocol to SwitchProtocolRf::ISO15693 SwitchProtocolLayer::PART3
< FF C2 00 02 04 8F 02 02 03
> C0 03 00 90 00 8F 01 00 90 00

; (3) get sys info
< FF C2 00 01 04 95 02 02 2B 00
> C0 03 00 90 00 92 01 00 96 02 00 00 97 0F 00 0F 2E 98 5C 8A 00 01 04 E0 00 00 1B 03 01 90 00

; (4) read user block 0 with security status
< FF C2 00 01 05 95 03 42 20 00 00
> C0 03 00 90 00 92 01 00 96 02 00 00 97 06 00 00 00 11 22 33 90 00

; (5) write block 0 with 12 34 56 78
< FF C2 00 01 09 95 07 02 21 00 12 34 56 78 00
> C0 03 01 64 01 90 00

; (6) read user block 0 with security status
< FF C2 00 01 05 95 03 42 20 00 00
> C0 03 00 90 00 92 01 00 96 02 00 00 97 06 00 00 12 34 56 78 90 00

; (7) end transparent session
< FF C2 00 00 02 82 00 00
> C0 03 00 90 00 90 00


Re: ICODE SLI tag returns a 64 01 error for a write_single_block command

I had this exact same issue reading/writing icode SLIX/SLIX2 tags, the writes were working but giving the 64 01 timeout. 

I was able to solve the problem by adjusting the timeout for the command by including the timer option within the same transaction as the write.

Example: Write "00 01 02 03" to block 0

ff c2 00 01 10 5f 46 04 40 42 0f 00 95 07 02 21 00 00 01 02 03 00

Transparent command
Size of command (0x10 = 16 bytes to follow)
Timeout command
Command To Device

As can be seen, the response is now correct.

This command is basically the same as shown in the original poster's question, with the addition of the green section, which is, per the docs setting a 1sec timeout (which is probably way excessive).

5f 46 = Timer Data Object
04 = Length
40 42 0f 00 = 1,000,000 (microseconds, LSB first), i.e. 000f4240h = 1,000,000

Probably too late to be useful for the original poster, but maybe this will save someone else the 2-3 hours it cost me.

Re: ICODE SLI tag returns a 64 01 error for a write_single_block command
Thanks  @jimmychan.  Yes I’ve seen that list of error codes and descriptions, including the 6401.     I’m trying to understand what can cause that error given the APDU sequence I included in my original post.   
 
Do you know reasons the tag wouldn’t respond to a write single block command to user memory?  An example I’ve thought  about is possibly the write operation takes longer than the reader is waiting for.  I’ve experimented with trying to configure the reader to wait longer but so far I haven’t been able to get this to resolve the issue.  Also, I don’t see any reference to this in the SLI or DNA spec sheets so I doubtful this is the issue.  
 
Again, any help in understanding why the tag wouldn’t respond would be much appreciated. 
 
Thanks - Drew
Re: ICODE SLI tag returns a 64 01 error for a write_single_block command

You could check the reference manual REF-ACR1552U-Series-1.06.pdf. page 43.

Re: ICODE SLI tag returns a 64 01 error for a write_single_block commandHi @jimmychan - I have read the documentation for the reader, that's how I got the command syntax I'm using. As far as I can tell I have the command syntax correct. Are you saying the 6401 error is coming from the reader? Do you have any specific area of the documentation that I should look into?

I appreciate your help.

Drew
Re: ICODE SLI tag returns a 64 01 error for a write_single_block command

Please read the document of the reader.

ACR1552U - USB NFC Reader IV | ACS

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-12-2026 03:19 AM
更新者: