1

実行時にこの例外が表示される理由がわかりません

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 アーキテクチャにインストールする方法を教えていただけないでしょうか? または何とか私の問題を解決するには?

ありがとうございました

4

1 に答える 1