AdamLaurie / RFIDIOt

python RFID / NFC library & tools
http://www.rfidiot.org/
1.05k stars 222 forks source link

ACS ACR38U cannot connect to rfidiot #37

Closed timza closed 5 years ago

timza commented 5 years ago

I seem to have a problem making my ACS ACR38U communicate with RFIDIOt.

I'm using Ubuntu 14.04. I have also downloaded the dependencies.

pcsc_scan command is executed successfully and shows reader as: Reader 0: ACS ACR 38U-CCID 00 00

I set my device as readertype= RFIDIOt.rfidiot.READER_PCSC in the RFIDIOtconfig.py file.

When I run command ./cardselect -L i get the below error, any suggestions on how to solve it?

bob@bob-HP-250-G3-Notebook-PC:~/RFIDIOt$ sudo python ./cardselect.py -L Traceback (most recent call last): File "./cardselect.py", line 25, in import rfidiot File "/home/bob/RFIDIOt/rfidiot/init.py", line 187, in card= RFIDIOt.rfidiot(readernum,readertype,line,speed,timeout,rfidiotglobals.Debug,noinit,nfcreader) File "/home/bob/RFIDIOt/rfidiot/RFIDIOt.py", line 160, in init self.acs_set_retry(to) File "/home/bob/RFIDIOt/rfidiot/RFIDIOt.py", line 1319, in acs_set_retry return self.acs_send_apdu(self.PCSC_APDU['ACS_SET_RETRY']) File "/home/bob/RFIDIOt/rfidiot/RFIDIOt.py", line 1186, in acs_send_apdu result, sw1, sw2= self.acs_transmit_apdu(apduout) File "/home/bob/RFIDIOt/rfidiot/RFIDIOt.py", line 1210, in acs_transmit_apdu result, sw1, sw2= self.pcsc_connection.transmit(apdu,protocol= self.pcsc_protocol) File "/usr/local/lib/python2.7/dist-packages/pyscard-1.9.5-py2.7-linux-x86_64.egg/smartcard/CardConnectionDecorator.py", line 82, in transmit return self.component.transmit(bytes, protocol) File "/usr/local/lib/python2.7/dist-packages/pyscard-1.9.5-py2.7-linux-x86_64.egg/smartcard/CardConnection.py", line 146, in transmit data, sw1, sw2 = self.doTransmit(bytes, protocol) File "/usr/local/lib/python2.7/dist-packages/pyscard-1.9.5-py2.7-linux-x86_64.egg/smartcard/pcsc/PCSCCardConnection.py", line 205, in doTransmit SCardGetErrorMessage(hresult)) smartcard.Exceptions.CardConnectionException: Failed to transmit with protocol T0. Transaction failed.

timza commented 5 years ago

I ended up solving my issue by including my reader name in the RFIDIOt.py file, in my case ACS ACR 38U-CCID. I restarted pcscd and everything worked fine after that.