ACR122u p2p limitations
I have just bought a brand new ACR122u, but i have some doubts about nfcpy limitations with this reader.
I already use nfcpy on raspberry pi with an adafruit nxp pn532 nfc board, and i'm really enjoying it.. At the moment, i've wrote a single python program that uses nfcpy for p2p (with android) and tag reading. It's working like a charm!
Unfortunately, I need to substitute the adafruit pn532 nfc reader with an acr 122u.
I read about some limitations in p2p mode, but it's not clear to me: what i can't do with this reader?
I need to read passive tags (nxp ntag 216) and be able to receive a message from android (or windows phone) phones and hopefully reply to this message. (using Snep)
These are the files of the python program that i wrote:
https:/
https:/
Thank you Stephen for your work, this project is an amazing nfc library!
PS: This morning i am doing some tests, and i'm starting from very simple examples.
Running:
$ sudo python tagtool.py -d nfc is working, green led turns on and when i put a tag on the reader, the read operation is successful
[main] enable debug output for module 'nfc'
[nfc.clf] searching for reader with path 'usb'
[nfc.dev.transport] using pyusb version 0.x
[nfc.dev.transport] path matches '^(usb|)$'
[nfc.dev] trying usb:072f:2200
[nfc.dev] import nfc.dev.acr122
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.acr122] initialize ACR122U213
[nfc.dev.acr122] CCID ICC-POWER-ON
[nfc.dev.transport] >>> 620000000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] Set PICC Operating Parameters
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] Configure Buzzer and LED
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] PN53x GetFirmwareVersion called with timeout 100 ms
[nfc.dev.transport] >>> 6f0700000000000
[nfc.dev.transport] <<< 800800000000000
[nfc.dev.pn53x] chipset is a PN532 version 1.6
[nfc.dev.acr122] PN53x SAMConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0a00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x Diagnose called with timeout 100 ms
[nfc.dev.transport] >>> 6f0d00000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.pn53x] ATR_RES timeout: 102.4 ms
[nfc.dev.pn53x] non-DEP timeout: 51.2 ms
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.pn53x] set retries: ATR_REQ=2 PSL_REQ=1 PassiveTarget=3
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.clf] using ACS ACR122U PICC Interface at usb:001:005
[nfc.clf] connect({'llcp': None, 'card': {'on-release': <bound method TagTool.
[main] touch a tag
[nfc.dev.pn53x] polling for NFC-A technology
[nfc.dev.acr122] PN53x InListPassiveTarget called with timeout 1000 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.dev.acr122] PN53x InListPassiveTarget called with timeout 1000 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.dev.pn53x] poll NFC-F 00ffff0103
[nfc.dev.acr122] PN53x InListPassiveTarget called with timeout 1000 ms
[nfc.dev.transport] >>> 6f0e00000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.pn53x] polling for NFC-A technology
[nfc.dev.acr122] PN53x InListPassiveTarget called with timeout 1000 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 801100000000000
[nfc.dev.pn53x] found NFC-A target @ 106 kbps
[nfc.clf] found target TTA br=106 cfg=440000 uid=047b2072d53880 ats=
[nfc.dev] Driver.
[nfc.tag.tt2] read block #0
[nfc.clf] >>> 3000 0.100s
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x InDataExchange called with timeout 406 ms
[nfc.dev.transport] >>> 6f0a00000000000
[nfc.dev.transport] <<< 801500000000000
[nfc.clf] <<< 047b20d772d5388
[nfc.tag.tt2] capability container e1106d00
[nfc.tag.tt2] read block #4
[nfc.clf] >>> 3004 0.100s
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x InDataExchange called with timeout 406 ms
[nfc.dev.transport] >>> 6f0a00000000000
[nfc.dev.transport] <<< 801500000000000
[nfc.clf] <<< 0300fe000000000
[nfc.clf] connected to Type2Tag ATQ=4400 SAK=00 UID=047b2072d53880
Type2Tag ATQ=4400 SAK=00 UID=047b2072d53880
NDEF capabilities:
version = 1.0
readable = yes
writeable = yes
capacity = 868 byte
message = 0 byte
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800200000000000
Running:
$ sudo python beam.py -d nfc send link http://
fails. This is the output:
[main] enable debug output for module 'nfc'
[nfc.clf] searching for reader with path 'usb'
[nfc.dev.transport] using pyusb version 0.x
[nfc.dev.transport] path matches '^(usb|)$'
[nfc.dev] trying usb:072f:2200
[nfc.dev] import nfc.dev.acr122
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.acr122] initialize ACR122U213
[nfc.dev.acr122] CCID ICC-POWER-ON
[nfc.dev.transport] >>> 620000000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] Set PICC Operating Parameters
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] Configure Buzzer and LED
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] PN53x GetFirmwareVersion called with timeout 100 ms
[nfc.dev.transport] >>> 6f0700000000000
[nfc.dev.transport] <<< 800800000000000
[nfc.dev.pn53x] chipset is a PN532 version 1.6
[nfc.dev.acr122] PN53x SAMConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0a00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.acr122] PN53x Diagnose called with timeout 100 ms
[nfc.dev.transport] >>> 6f0d00000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.pn53x] ATR_RES timeout: 102.4 ms
[nfc.dev.pn53x] non-DEP timeout: 51.2 ms
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.pn53x] set retries: ATR_REQ=2 PSL_REQ=1 PassiveTarget=3
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0b00000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.clf] using ACS ACR122U PICC Interface at usb:001:005
[nfc.clf] connect({'llcp': {'on-connect': <bound method Main.on_
[nfc.snep.server] snep server bound to port 4 (MIU=1984, RW=15), will accept up to 1048576 byte NDEF messages
[nfc.clf] listen for 0.375 sec as target DEP br=None gb=46666d010111
[nfc.dev.acr122] listen mode is disabled for this device
[nfc.dep] using hardware DEP implementation
[nfc.dev.pn53x] polling for a p2p target
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.pn53x] nfcid3 not used in passive mode
[nfc.dev.acr122] PN53x InJumpForDEP called with timeout 1000 ms
[nfc.dev.transport] >>> 6f2300000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.dev.acr122] PN53x InJumpForDEP called with timeout 1000 ms
[nfc.dev.transport] >>> 6f2d00000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.clf] listen for 0.476 sec as target DEP br=None gb=46666d010111
[nfc.dev.acr122] listen mode is disabled for this device
[nfc.dep] using hardware DEP implementation
[nfc.dev.pn53x] polling for a p2p target
[nfc.dev.acr122] PN53x RFConfiguration called with timeout 100 ms
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800400000000000
[nfc.dev.pn53x] nfcid3 not used in passive mode
[nfc.dev.acr122] PN53x InJumpForDEP called with timeout 1000 ms
[nfc.dev.transport] >>> 6f2300000000000
[nfc.dev.transport] <<< 800500000000000
[nfc.dev.acr122] PN53x InJumpForDEP called with timeout 1000 ms
[nfc.dev.transport] >>> 6f2d00000000000
[nfc.dev.pn53x] [Errno 110] Connection timed out
[nfc.clf] [Errno 110] Connection timed out
[nfc.dev.transport] >>> 6f0900000000000
-110
After this error, python program exits, but the green led is turned on.
Now i'm not able to use the reader anymore.. looks like it's busy.
Running tagtool again, i'm not able to read tag anymore, i get this error:
$sudo python tagtool.py -d nfc
[main] enable debug output for module 'nfc'
[nfc.clf] searching for reader with path 'usb'
[nfc.dev.transport] using pyusb version 0.x
[nfc.dev.transport] path matches '^(usb|)$'
[nfc.dev] trying usb:072f:2200
[nfc.dev] import nfc.dev.acr122
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.acr122] initialize ACR122U213
[nfc.dev.acr122] CCID ICC-POWER-ON
[nfc.dev.transport] >>> 620000000000000
[nfc.dev.transport] <<< 800a00000000000
[nfc.dev.acr122] Set PICC Operating Parameters
[nfc.dev.transport] >>> 6f0500000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] Configure Buzzer and LED
[nfc.dev.transport] >>> 6f0900000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] PN53x GetFirmwareVersion called with timeout 100 ms
[nfc.dev.transport] >>> 6f0700000000000
[nfc.dev.transport] <<< 800200000000000
[nfc.dev.acr122] insufficient data for decoding chip response
[nfc.clf] no reader found at 'usb'
[main] no contactless reader found
Further details:
- $lsmod | grep usb is not returning output
- I have no pcsc
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- nfcpy Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- corzand
- Solved:
- Last query:
- Last reply: