Mifare Classic 1k - 三星S III mini GT-i8190N上出错

3

你好,我遇到了一个应用程序问题。该应用程序使用Mifare Classic 1k芯片工作。 我使用密钥B在卡上写入了一些信息。

问题是: 尽管应用程序在三星S3(jelly 4.1.2,调试模式开启,nfc开启)上运行良好,但在三星S III mini GT-i8190N(jelly 4.1.2,调试模式开启,nfc开启)上相同的应用程序不能正常工作。我可以使用keyA读取,但我无法使用keyB写入。实际上,任何调用authenticateSectorWithKeyB的尝试都会返回false,导致任何后续的写请求抛出以下异常:

01-01 01:21:44.682: E/TAG(4392): java.io.IOException: Transceive failed 01-01 01:21:44.682: E/TAG(4392): at android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:52)

有什么想法为什么会发生这种情况吗?有没有解决问题的方法?


你好,你找出是什么原因导致错误了吗?我遇到了类似的问题,使用完全相同的移动设备,但在我的情况下它无法解密数据(相同的代码在Nexus 7上运行得非常完美)。谢谢! - Adrian
1个回答

1
很不幸,我没有找到三星S3 mini的NFC芯片制造商的任何信息。然而...也许尝试使用另一个NFC芯片(例如NTAG203)。Mifare Classic 1k芯片并非完全符合NFC标准,因此只能与NXP芯片组配合使用。

手机上可用MifareClassic NFC技术,因此它应该可以正常工作,无论如何。我已经与三星英国交换了几封电子邮件,但他们几乎没有提供任何有用的信息(更不用说首先承认问题了)。 - dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接