首页 > 解决方案 > 首次使用时,MIFARE Ultralight 上的 OTP 页面是否应该为空?

问题描述

我从亚马逊购买了一些 MIFARE Ultralight 贴纸。他们都将第 3 页设置为E1 10 6D 00

我的理解是我现在无法设置已经设置的这 10 位,所以我现在只有 22 位可以在 OTP 页面中有效使用。事实上,我尝试设置为 0 但它不起作用(这是有道理的,因为文档声明它们将在编写之前进行 ORed)。

碰巧的是,我想用它们做什么对我来说并不重要,但我想至少在亚马逊评论中指出这一点,以供其他可能想要使用 OTP 页面并从该卖家购买的人.

我是 NFC 新手,所以不确定会发生什么,但我觉得我被卖了一个 duff 产品。你能确认我应该期待第 3 页00 00 00 00吗?

标签: formatnfcspecificationsrfidmifare

解决方案


这在很大程度上取决于您想购买什么以及您实际收到什么。

如果您将这些标签作为“MIFARE Ultralight”标签购买,那么您通常会认为 OTP 区域处于其出厂状态(即全为零)。

但是,如果您将它们作为NFC标签(或作为 NFC Forum Type 2 标签或作为 NTAG)购买,那么 OTP 区域的初始内容在某种程度上是有意义的。您在 OTP 区域中找到的值是 Capability Container,表明该标签是根据 NFC Forum Type 2 Tag 规范进行格式化的(即它预先格式化为 NFC 标签)。通常,还会有一些数据已经写入下一页(可能03 00 FE 00在您的情况下)。NFC(论坛)标签不会将 OTP 区域用作单向计数器,因此将它们设置并用作 Capability Container 没有问题。

我在您描述的内存内容中看到的问题是功能容器中指示的数据区域大小。0x6D 表示 872 字节的数据存储器。如果标签不是 MIFARE Ultralight 标签而是 NTAG216,这很好,它具有正好可用的数据内存量并且始终处于这种预格式化状态。

然而,如果标签实际上是一个 MIFARE Ultralight 标签(芯片 MF0ICU1),那么这个 Capability Container 将指定比标签实际拥有的更多的数据内存。这将使标记无法用于正确的 NDEF 消息处理,并且由于无法清除 OTP 位,因此您无法将指示的大小更改为实际可用的值(48 字节 = 0x06)。

注意:根据 OP 的评论,标签确实是 NTAG216(从 www.amazon.co.uk/gp/product/B075RXBVKM 购买)。因此,内存内容非常好。


推荐阅读