覆盆子无法与ACR122U通信

时间:2014-09-17 19:57:21

标签: java debian raspberry-pi smartcard acr122

我不知道为什么在执行中出现这个异常

javax.smartcardio.CardException: list() failed
        at sun.security.smartcardio.PCSCTerminals.list(PCSCTerminals.java:126)
        at javax.smartcardio.CardTerminals.list(CardTerminals.java:72)
        at prueba.ClaseNFC.doCardReaderCommunication(ClaseNFC.java:41)
        at prueba.Prueba.main(Prueba.java:20)
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_NO_READERS_AVAILABLE
        at sun.security.smartcardio.PCSC.SCardListReaders(Native Method)
        at sun.security.smartcardio.PCSCTerminals.list(PCSCTerminals.java:80)
        ... 3 more

代码是:

        TerminalFactory terminalFactory;
        terminalFactory = TerminalFactory.getDefault();
        System.out.println(terminalFactory);


        List<CardTerminal> terminals = terminalFactory.terminals().list();
        System.out.println("Terminals: " + terminals);
        if (terminals.isEmpty()) {

            throw new Exception("No card terminals available");

        }

奇怪的是因为RPi用“lsusb”命令识别读卡器,其中显示“Bus 001 Device 007:ID 072f:2200 Advanced Card Systems,Ltd”。

我几天前一直在阅读,人们谈论从ACR122U页面安装PC / SC软件包 - http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/ - 它将解决问题。实际上,该软件包对amd64和i386体系结构很有用,而RPi具有带Raspbian(Debian / Linux)的ARM体系结构。

我的问题是,您可以帮助我在ARM架构中安装该软件包吗?还是为了解决我的问题?

谢谢

1 个答案:

答案 0 :(得分:1)

如果您遇到同样的问题,这就是解决方案。

  1. 首次,您必须安装ACR122驱动程序。在这种情况下,我们使用的是Raspberry,因此我们必须下载下一个驱动程序:http://www.acs.com.hk/download-driver-unified/6258/ACS-Unified-Driver-Lnx-Mac-108-P.zip

  2. 解压缩文件夹中的文件,转到“acsccid-1.X.X”并运行“./configure”

  3. 在“/etc/modprobe.d/”中打开并编辑raspi-blacklist.conf,并在最后添加下两行:

    黑名单nfc

    黑名单pn533

  4. 重新启动raspberry