I dont know why appear this exception in the execution
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
The code is:
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");
}
Its strange because the RPi recognize the card reader with the command "lsusb" where appear "Bus 001 Device 007: ID 072f:2200 Advanced Card Systems, Ltd".
I have been reading days ago and people talk about install the PC/SC Package from the page of ACR122U - http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/ - and it will solve the problem. Indeed, that package is useful to the amd64 and i386 architecture and the RPi has a ARM architecture with Raspbian (Debian/Linux).
My question is, could you help me in the way to install that package in a ARM architecture? or someway to solve my problem?
Thank you
smartcardio
compatibleTerminal
class yourself of course. – Maarten Bodewes