2093136_zh-CN

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

2093136_zh-CN

2093136_zh-CN

ICODE SLI 标签在执行 write_single_block 命令时返回 64 01 错误

我使用的是 Windows 11 笔记本电脑和 ACS ACR1552 阅读器。

我正在使用 ACS 脚本工具(v5.02)向恩智浦 ICODE SLI 标签发送 APDU。

我正在创建一个透明会话,将协议设置为 15693/Layer3,然后使用透明交换封装向标签发送 APDU。

GET_SYSTEM_INFO 和 READ_SINGLE_BLOCK 似乎工作正常。

WRITE_SINGLE_BLOCK 返回"64 01" 错误,但似乎确实写入了数据。

我没有找到任何关于 64 01 响应的含义或原因的信息。

有谁能对此提供一些信息?

以下是我正在处理的 APDU 序列。

  • APDU #4 读取数据块 0 的数据为 11 22 33 44
  • APDU #5 将数据块 0 的数据写入 12 34 56 78 - 但收到 64 01 错误
  • APDU #6 读取的 0 号数据块数据为 12 34 56 78 --这说明之前的写入实际上起了作用?

; (1) 建立透明会话
< FF C2 00 00 02 81 00 00
> C0 03 00 90 00 90 00

; (2) 透明交换 - 将协议切换到 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) 读取具有安全状态的用户屏蔽 0
< FF C2 00 01 05 95 03 42 20 00 00
> C0 03 00 90 00 92 01 00 92 01 00 96 02 00 00 97 06 00 00 00 00 97 06 00 00 00 11 22 33 90 00

; (5) 用 12 34 56 78
< FF C2 00 01 09 95 07 02 21 0012 34 56 7800
> C0 03 01 64 01 90 00

; (6) 读取具有网络安全状态的用户屏蔽 0
< FF C2 00 01 05 95 03 42 20 00 00
> C0 03 00 90 00 92 01 00 92 01 00 96 02 00 00 97 06 00 00 97 06 00 00 12 34 56 78 90 00

; (7) 结束透明会话
< 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

我在读取/写入 icode SLIX/SLIX2 标签时也遇到了同样的问题,写入正常,但出现了 64 01 超时。

我通过在写入的同一事务中加入计时器选项,调整命令的超时时间,从而解决了这个问题。

例如将"00 01 02 03" 写入 0 号区块

> FF C2 00 01 10 5F 46 04 40 42 0F 00 95 07 02 21 00 01 02 0300

透明命令 命令
大小(0x10 = 接下来是 16 字节) 超时 命令

设备


可以看出,现在答案是正确的。

该命令与原作者问题中的命令基本相同,只是增加了绿色部分,根据文档,该部分设置了 1 秒超时(可能过长)。

5f 46 = 计时器数据对象
04 = 长度
40 42 0f 00 = 1,000,000(微秒,LSB 优先),即 000f4240h = 1,000,000

可能太晚了,对最初的发帖人没用,但也许这能帮其他人省下我花费的两三个小时。

Re: ICODE SLI tag returns a 64 01 error for a write_single_block command
谢谢@jimmychan。 是的,我见过错误代码和描述列表,包括 6401。 鉴于我在原帖中提供的 APDU 序列,我想弄明白是什么原因导致该错误。
 
您知道标签不响应向用户内存写入单块命令的原因吗? 我想过的一个例子是,写入操作可能比读者等待的时间更长。 我曾尝试配置阅读器,让它等待更长的时间,但到目前为止,我还没能解决这个问题。 另外,我在 SLI 或 DNA 规格表中没有看到任何参考,所以我怀疑这是问题所在。
 
如果您能帮助我们了解标签为何没有反应,我们将再次不胜感激。
 
谢谢 - 德鲁
Re: ICODE SLI tag returns a 64 01 error for a write_single_block command

你可以查看参考手册 ref-ACR1552U-Series-1.06.pdf。第 43 页。

Re: ICODE SLI tag returns a 64 01 error for a write_single_block command你好@jimmychan- 我已经阅读了阅读器的文档,这就是我使用的命令语法。据我所知,我的命令语法是正确的。你是说 6401 错误来自读卡器?您有什么具体的文件需要我查看吗?

感谢您的帮助。

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

请阅读读者文件。

ACR1552U - USB NFC 阅读器 IV | ACS

Tags (1)
No ratings
Version history
Last update:
‎01-12-2026 03:18 AM
Updated by: