[英]“Time Out, the target has not answered” from ACR122U reader with Jewel/Topaz512 NFC tags
我正在構建一個 Windows/Java 程序(使用javax.smartcardio
)以使用 ACR122U 設備(內部帶有 PN532 NFC Controller 芯片)與 Jewel/Topaz512 標簽(來自 Innovision/Broadcom)進行通信。
我實現了 Topaz512 協議(來自此數據表),但我的命令只有一半有效。
RID, RALL, READ, WRITE-NE, RSEG
WRITE-E, READ8, WRITE-E8, WRITE-NE8
例如,這是我發送 WRITE-NO-ERASE 命令時得到的結果:
命令: FF:00:00:00:0C:D4:40:01:1A:7F:42:38:01:9A:00:17:E8
在哪里:
D4:40:01
是 InDataExchange 命令,1A:7F:42
是 WRITE-NO-ERASE 命令(值:0x42,塊 0x0F,字節 7),38:01:9A:00
是 4 字節的標簽 UID,17:E8
是 CRC。 響應: D5:41:00:42:90:00
這里的響應是正確的: 0x42
。 狀態字節 ( 0x00
) 通知一切順利。
這是我發送 WRITE-WITH-ERASE 命令時得到的結果:
命令: FF:00:00:00:0C:D4:40:01:53:7F:42:38:01:9A:00:28:6E
在哪里:
D4:40:01
是 InDataExchange 命令,53:7F:42
是 WRITE-WITH-ERASE 命令(值:0x42,塊 0x0F,字節 7),38:01:9A:00
是 4 字節的標簽 UID,28:6E
是 CRC。 回復: D5:41:01:90:00
在這里,狀態字節 ( 0x01
) 通知 PN532 檢測到超時。 (來自PN532 文檔(p67):“超時,目標未回答 - 0x01”)
此外,當我刪除 PN532 超時(使用FF:00:00:00:06:D4:32:02:00:00:00
)非工作命令不響應D5:41:01:90:00
,但等待再長一點,我就沒有反應了。
我只是嘗試使用 gscriptor(來自pcsc-tools套件)執行命令,我得到了相同的行為。 這是我的結果:
劇本:
FF 00 00 00 06 D4 32 05 02 02 02
# SAMConfiguration
FF 00 00 00 04 D4 14 01 00
# SetParameters
FF 00 00 00 03 D4 12 04
# InListPassiveTarget: Jewel mode
FF 00 00 00 04 D4 4A 01 04
# InDataExchange: RID
FF 00 00 00 04 D4 40 01 78
# InDataExchange: RALL
FF 00 00 00 04 D4 40 01 00
# InDataExchange: RSEG 0-3
FF 00 00 00 05 D4 40 01 10 00
FF 00 00 00 05 D4 40 01 10 20
FF 00 00 00 05 D4 40 01 10 40
FF 00 00 00 05 D4 40 01 10 60
##########
# GetFirmwareVersion
FF 00 00 00 02 D4 02
# GetGeneralStatus
FF 00 00 00 02 D4 04
##########
# RFConfiguration: No timeout
FF 00 00 00 06 D4 32 02 00 00 00
# InDataExchange: READ-1
FF 00 00 00 05 D4 40 01 01 7F
# InDataExchange: READ-8
FF 00 00 00 05 D4 40 01 02 00
# InDataExchange: WRITE-E-1
FF 00 00 00 06 D4 40 01 53 7F 42
# InDataExchange: WRITE-E-8
FF 00 00 00 0C D4 40 01 55 02 01 02 03 04 05 06 07 08
# InDataExchange: WRITE-NE-1
FF 00 00 00 06 D4 40 01 1A 7F 42
# InDataExchange: WRITE-NE-8
FF 00 00 00 0C D4 40 01 1B 02 01 02 03 04 05 06 07 08
結果:
Sending: FF 00 00 00 06 D4 32 05 02 02 02
Received: D5 33 90 00
Normal processing.
Sending: FF 00 00 00 04 D4 14 01 00
Received: D5 15 90 00
Normal processing.
Sending: FF 00 00 00 03 D4 12 04
Received: D5 13 90 00
Normal processing.
Sending: FF 00 00 00 04 D4 4A 01 04
Received: D5 4B 01 01 0C 00 38 01 9A 00 90 00
Normal processing.
Sending: FF 00 00 00 04 D4 40 01 78
Received: D5 41 00 12 4C 38 01 9A 00 90 00
Normal processing.
Sending: FF 00 00 00 04 D4 40 01 00
Received: D5 41 00 12 4C 38 01 9A 00 00 10 25 00 00 10 3F
00 01 03 F2 30 33 02 03 F0 02 03 03 E3 D1 01 DF
54 02 65 6E 30 31 32 33 34 35 36 37 38 39 30 30
31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 55 55 AA
AA 12 4C 06 00 01 E0 00 00 00 00 00 00 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 10 00
Received: D5 41 00 38 01 9A 00 00 10 25 00 00 10 3F 00 01
03 F2 30 33 02 03 F0 02 03 03 E3 D1 01 DF 54 02
65 6E 30 31 32 33 34 35 36 37 38 39 30 30 31 32
33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 55 55 AA AA 12
4C 06 00 01 E0 00 00 00 00 00 00 00 00 00 00 00
00 00 47 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 10 20
Received: D5 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 10 40
Received: D5 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 10 60
Received: D5 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 90 00
Normal processing.
Sending: FF 00 00 00 02 D4 02
Received: D5 03 32 01 06 07 90 00
Normal processing.
Sending: FF 00 00 00 02 D4 04
Received: D5 05 01 00 01 01 00 00 02 80 90 00
Normal processing.
Sending: FF 00 00 00 06 D4 32 02 00 00 00
Received: D5 33 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 01 7F
Received: D5 41 00 47 90 00
Normal processing.
Sending: FF 00 00 00 05 D4 40 01 02 00
Received:
wrong SW size for:
Sending: FF 00 00 00 06 D4 40 01 53 7F 42
Received:
wrong SW size for:
Sending: FF 00 00 00 0C D4 40 01 55 02 01 02 03 04 05 06
07 08
Received:
wrong SW size for:
Sending: FF 00 00 00 06 D4 40 01 1A 7F 42
Received: D5 41 00 47 90 00
Normal processing.
Sending: FF 00 00 00 0C D4 40 01 1B 02 01 02 03 04 05 06
07 08
Received:
wrong SW size for:
Script was executed without error...
前段時間,我詳細研究了這一點,並得出結論,NXP 的 PN532 NFC controller 芯片的固件存在問題,導致其無法成功接收帶有 NFC Forum Type 1 標簽(Topaz/Jewel 品牌)的一些命令。 如前所述,ACR122U 基於此芯片。
當我嘗試使用WRITE-E8 (0x54)
命令一次寫入 8 個字節塊時,收到的響應是0x01
,等待標簽響應的超時。
我試過的東西不起作用:
包括InDataExchange
中的 UID 回顯,我什至使用了 UID 回顯的字節順序,但結果仍然相同。
使用inCommunicateThru
命令而不是InDataExchange
並在應用程序級別計算 CRC1 和 CRC2 值(結果相同)
我得出的最后結論是:
PN532 無法寫入 Type 1 標簽上的0x10
和更大的頁面,這使得無法在 Topaz 512 等流行型號上寫入 memory 的全系列。
推薦:
這個問題與 2012 年有關,當時 Topaz 512 是一款非常低成本但高 memory NFC 標簽。 現在有了 NAG215 和 NTAG216 型號,我推薦使用那些具有高 memory 並且與 NFC 讀卡器通用兼容性的型號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.