问题标签 [acr122]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
625 浏览

nfc - 如何使用 ACR122U NFC 读卡器和 PyApdu 工具欺骗我的 EMV 非接触式卡进行离线非接触式交易?

我已经成功完成了五个 APDU 命令中的三个 - 在 ACR122 NFC 读卡器(充当 POS)和 EMV Visa 非接触式借记卡之间完成的响应。1- 列出可用的 NFC 应用 C-APDU:00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 0E R-APDU:6F 47 84 0E 32 50 41 59 2E 53 59 53 2E 44 90 00 2- 选择应用程序 (AID) C-APDU:00 A4 04 00 07 A0 00 00 00 03 10 10 0E R-APDU:6F 56 84 07 A0 00 00 00 03 10 10 A5 4B 50 90 00 3-获取处理选项 ( GPO) C-APDU:80 A8 00 00 23 83 21 F6 20 C0 00 00 00 00 00 00 01 00 00 00 00 00 00 08 26 00 00 00 00 00 08 26 17 10 31 00 71 17 0F 68 2 :77 81 D1 82 02 20 00 94 04 10 02 05 00 57 13 XX XX XX XX XX XX XX XX D2 01 12 01 00 93 60 00 00 00 1F 5F 90 00 现在。

0 投票
0 回答
156 浏览

authentication - 使用 ACR1255U 认证 UL-C 标签

我正在使用 ACS 的 ACR1255U-J1,我正在尝试通过 PC/SC 透明命令验证 UL-C 标签。

目前我的命令如下所示:

但是在身份验证命令上,我的阅读器冻结了,我没有得到任何响应,我必须重新启动它

有人有想法吗?我还阅读了有关 UL-C 的 3DS 身份验证的信息,但我找不到与阅读器进行通信的方法来做到这一点

0 投票
0 回答
879 浏览

android - Android ACR122U NFC 集成

请参阅NFC 阅读器“选择(通过 AID)”APDU在调试和最终结果中未路由到 Android 设备。TL; DR 读者可能已经不复存在了。


我将 ACR122U 阅读器连接到我的 Android 设备。我的最终目标是在 HCE 模式下使用另一台 Android 设备来启用设备之间的数据通信。

目前我在与 ACR122U 阅读器集成时遇到问题。我使用供应商提供的 lib acssmc-1.1.1.jar 提供程序。这是我目前拥有的代码(省略打开阅读器的示例代码)。

如果我在 NFC 阅读器上点击标签,这就是我得到的输出

当我点击 Android 设备时,这是响应:

基本上它在轮询阶段失败(?)。在 Android 设备上,我有一个基本的HostAdpuService实现:

processCommandApdu从来没有被叫过。查看 Android 设备的日志时,当我点击该设备时,我找不到任何相关内容。

我在网上浏览了几个示例,但也无法使其在其他(非 Android)平台(Windows、OSX)上运行。

0 投票
1 回答
2394 浏览

java - NFC 阅读器“SELECT(通过 AID)”APDU 未路由到 Android 设备

我有一个 ACR122U NFC 读写器连接到我的 Windows 机器,并安装了 ACR122 驱动程序。

我尝试使用javax.smartcardioAPI 将 SELECT(通过 AID)ADPU 发送到我的 Android 设备(应该处于 HCE 模式)。

这是我的代码:

这是我得到的输出:

我猜01020304是我的 Android 设备向 NFC 阅读器提供的 UID。SELECT APDU 不返回响应,它的长度为 0 字节。

在我的 Android 设备上,我有这项服务:

但是processCommandAdpu没有被调用。当 SELECT ADPU 应该发送给阅读器时,通过查看日志我找不到任何东西,所以看起来 ADPU 甚至没有到达 Android 设备。

这是 Android 项目的 apduservice.xml:

此外,还有几个 ADPU 在传输时会使 NFC 阅读器有些卡住。例如,

查询PN532芯片当前状态的伪APDU不返回任何响应。会不会是这个特定的读者有缺陷?我怎样才能检查它?


更新(基于聊天中的讨论):

使用第二个阅读器(相同型号,相同版本)进行的测试刚刚奏效。因此,可能是第一个阅读器上的一些模糊设置,或者阅读器只是出现故障。

两个阅读器具有相同的版本信息:

  • ACR122U固件版本:41435231323255323135 (-> ACR122U215)
  • PN532 版本:D503 32010607 9000 (-> PN532 v1.6)
0 投票
0 回答
768 浏览

nfc - 带有 ACR122U 的 libnfc 对 SELECT (by AID) APDU 没有响应

请参阅NFC 阅读器“选择(通过 AID)”APDU在调试和最终结果中未路由到 Android 设备。TL; DR 读者可能已经不复存在了。


我有 ACR122U NFC 阅读器。我尝试在我的 Ubuntu 机器上运行这个示例http://www.nfc-tools.org/index.php?title=Libnfc:APDU_example#apdu_example.c 。

这是当我将我的 Android 设备(应该处于 HCE 模式)点击到阅读器时得到的日志输出:

基本上我可以看到我的 Android 设备被读者看到,因为我可以看到 UID (01 02 03 04)(或者如果我点击另一个设备,则为另一个 UID)。之后传输select AIDapdu 只是超时,我在我的 Android 日志中看不到相关响应。

在 Android 设备上,我安装了一个带有 AID 的应用程序,我试图选择 - f0 01 02 03 04 05 06

这可能是这个特定读者的问题吗?还有其他 ADPU 似乎也阻止了读者做出回应,例如FF 00 00 00 02 D4 04只是不给我回应。我可以以某种方式诊断硬件吗?

0 投票
0 回答
274 浏览

nfc - 如何更改 ACR122U / PN532 上的轮询顺序

我正在寻找一个 Go 应用程序来读取具有 2 个单独的自定义唤醒帧的 EMV 和 NFC 卡。

我的轮询循环应该检查 WUPA,然后是 WUPB,然后是 WUPCUST1,然后是 WUPCUST2。两个自定义框架都遵循与 Type-A 相同的协议

在循环结束时,它应该返回它找到的四个中的哪一个(如果有的话)(在正常情况下,它将是四个 Eg Type-A 和 Custom 1 中的 1 个或 2 个)。

我一直在尝试通过对 PN532 芯片使用伪 ADPU 命令来配置它,但我很难理解文档,该文档非常技术性并且包含许多未引用的术语和首字母缩略词。

我可以成功调用InJumpForDEP, InJumpForPSL, InListPassiveTarget,但是当我尝试InATR使用[]byte{0xFF, 0x00, 0x00, 0x00, 0x04, 0xD4, 0x50, 0x00, 0x00}or调用时得到 0x27 错误 () []byte{0xFF, 0x00, 0x00, 0x00, 0x04, 0xD4, 0x50, 0x01, 0x00}

不幸的是,我对 NFC 硬件的了解不够深入,无法弄清楚我需要对 PN532 进行哪些调用来配置它。或者实际上,如果我想要实现的目标是可能的。

0 投票
1 回答
2897 浏览

usb - 无法声明 USB 接口(设备或资源繁忙)卡住

我正在尝试使用 ACR122U 阅读器。我安装了所有东西,但是当我使用nfc-list或任何其他命令时,我得到:

我搜索并找到了几个关于相同问题的帖子,例如:

无法认领 USB 接口(设备或资源忙)

但他们的解决方案对我不起作用。我已列入黑名单pn533nfc

但是,当我尝试禁用内核模块时,我得到:

有没有办法解决这个问题?

0 投票
1 回答
580 浏览

python-3.x - 如何在检测到智能卡后重置此代码而不终止它,从而继续侦听其他智能卡?

我有一个代码正在运行并成功打印 ATR、UID 和状态,但是,程序在检测并打印 UID 后结束。如何在检测到并等待移除和插入不同的卡(或同一张卡)后重置我的代码

我尝试过使用 while 循环,但这会导致程序多次打印 ATR、UID 和状态,并且当卡被移除时,程序会因错误而终止。

它尝试过的修复(这会继续打印,当我取出卡时它会终止(已解决)):

问题是我不知道如何创建一个打印一次的循环。打印 UID 后,它等待卡被移除并输入另一个卡,然后循环重置。

编辑:我设法使代码重置,但是,我不知道如何让程序打印一次而不是继续打印。有什么建议么?

我希望代码在智能卡出现后打印一次,然后当智能卡被移除时,重置并再次收听智能卡。

0 投票
1 回答
3651 浏览

python - 无法通过 Python 用 NFC/RFID 读卡器读卡

我买了一个 NFC 读卡器 (ACS / ACR122U),我通过 USB 端口插入我的树莓派 3;我已经安装了 swig、pcsc-tools、pcscd、libpcsclite... pcscd 服务由 systemctl 启动并绑定到 pcscd.socket。启动时我可以看到读卡器,启动时nfc-scan-device也可以读取读卡器提供的卡nfc-list 然后我尝试使用 python3 和 pyscard 读取标签 ID,但它不起作用。我可以看到阅读器并启动连接而没有任何错误消息,但无法读取 tagID。

sudo nfc-list返回:

NFC读卡器因此可以访问,我什至可以获得卡片的标签ID

然后我尝试在 python 上使用它我在那里找到了一些信息: https://pyscard.sourceforge.io/user-guide.html https://pyscard.sourceforge.io/epydoc/smartcard-module.html

我首先在 pipenv 环境中尝试它,但没有奏效。然后我删除了 pipenv 以确保它不在关键路径上......

第一次测试

我尝试了一个可以在 pyscard doc 和大多数教程上找到的基本脚本......我们称之为nfcReader-1.py

找到了读卡器,但我无法读取卡。transmit() 方法返回 [0x63,x0x00] ([99,00]) 这意味着发生了一些奇怪的事情当我在 python 命令行中键入每个命令时它都不起作用

第二次测试

我也尝试另一种方式。我在 pyscard 文档中找到了第二种方法,但结果完全一样:

反应没有什么不同:

我使用的命令是 [0xFF,0xCA,0x00,0x00,0x00] 似乎是获取 tagid 的命令。ACS 阅读器文档 ( https://www.acs.com.hk/en/download-manual/419/API-ACR122U-2.04.pdf ) 确认这是正确的顺序。 ACS tagid 序列描述

至少,我尝试使用sudo启动我的 python 脚本以防万一。我将套接字文件夹(/var/run/pcscd/pcscd.comm)的权限更改为 777 ...以防万一

有人知道我可以如何解决这个奇怪的问题吗?谢谢你的帮助。

0 投票
1 回答
2760 浏览

ubuntu - ACR122 NFC 阅读器不适用于 libnfc ubuntu

我刚给自己买了一个新的 ACR122U-A9 nfc 阅读器,我需要在 ubuntu 18.10 上使用 libnfc 进行设置。它需要与 libnfc 一起使用,因为 mfoc 接口就是这样(如果有办法在没有 libnf 的情况下使用 mfoc,那太好了!该解决方案也会对我有所帮助!)在安装 libnfc 1.7.1 并进行了几个小时的研究之后,我仍然做了不让它工作。每次我使用sudo nfc-list并且 pcscd 没有运行时,它都会给我以下错误:

如果 pcscd 正在运行,则错误内容如下:

有时这也会出现:

我从中读到的是:

  • libnfc 工作
  • 有一些驱动程序问题
  • 某些东西挡住了读者
  • 那东西是 pcscd (根据互联网)

我已经做了以下事情:

  • nfc pn533 pn533_usb文件中的黑名单/etc/modprobe.d/blacklist-libnfc.conf
  • 停止 pcscd 守护进程
  • 使用手动删除上述驱动程序sudo modprobe -r <driver>
  • 从这里安装设备驱动程序:https ://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/
  • 重启我的笔记本电脑大约 100 次
  • 向 nfc 上帝祈祷

谁能帮助我和/或告诉我我做错了什么?先感谢您!

PS:我不知何故让它与 pcscd 一起工作,但因为我不知道如何让 mfoc 使用它(如果这甚至可能的话)它没有用。