"ACS ACR122U can not read Type 1 Tags" in beam.py

Asked by metalboy94 on 2016-04-15

Hello! My setup is composed of a Raspberry Pi 2 running Raspbian, with an ACS ACR122U reader. I am aware of the problems with the ACR122U, however I was hoping I can at least get Android Beam working. I wish to send some text from the Pi to a phone. I am testing using my LG G4, and in beam.py I am getting the following errors:

# python beam.py --mode i --passive-only send text "fgs"
[nfc.clf] searching for reader on path usb
[nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:005
[nfc.snep.server] snep server bound to port 4 (MIU=1984, RW=15), will accept up to 1048576 byte NDEF messages
[nfc.clf.acr122] The ACS ACR122U PN532v1.6 at usb:001:005 can not read Type 1 Tags.

The phone does not receive the text or produce the normal NFC connection sounds. The last message is repeated each time my phone is above the reader. I have tested both the latest build and 0.10.2 with the same results.

Can you please help me with some ideas on how to make this work? My phone is rooted, if needed I can change some NFC parameters. Thank you.

Question information

Language:
English Edit question
Status:
Solved
For:
nfcpy Edit question
Assignee:
No assignee Edit question
Solved by:
Stephen Tiedemann
Solved:
2016-04-25
Last query:
2016-04-25
Last reply:
2016-04-21

Something weird about the sense response at 106kbps. Try "examples/sense.py 106A -d" and post the debug log. You can also play with "212F" and "424F" in lieu of "106A", just to test the phone's reaction.

metalboy94 (dead-man-coding) said : #2

Here are the logs (the phone was on the reader at all times):

# python sense.py 106A -d
379 ms [nfc.clf] searching for reader on path usb
380 ms [nfc.clf.transport] using libusb-1.0.19
385 ms [nfc.clf.transport] path matches '^(usb|)$'
396 ms [nfc.clf.device] loading acr122 driver for usb:072f:2200
468 ms [nfc.clf.acr122] initialize ACR122U214
469 ms [nfc.clf.acr122] CCID ICC-POWER-ON
470 ms [nfc.clf.acr122] Set PICC Operating Parameters
473 ms [nfc.clf.acr122] Configure Buzzer and LED
561 ms [nfc.clf.acr122] chipset is a PN532v1.6
583 ms [nfc.clf.acr122] write analog settings for type B
600 ms [nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:006
600 ms [root] add to target list: 106A
612 ms [nfc.clf] sense 106A
633 ms [nfc.clf] found 106A sdd_res=01020304 sel_res=20 sens_res=0400
636 ms [nfc.clf] found 106A sdd_res=01020304 sel_res=20 sens_res=0400
22:34:54 106A sdd_res=01020304 sel_res=20 sens_res=0400

# python sense.py 212F -d
378 ms [nfc.clf] searching for reader on path usb
379 ms [nfc.clf.transport] using libusb-1.0.19
384 ms [nfc.clf.transport] path matches '^(usb|)$'
395 ms [nfc.clf.device] loading acr122 driver for usb:072f:2200
467 ms [nfc.clf.acr122] initialize ACR122U214
468 ms [nfc.clf.acr122] CCID ICC-POWER-ON
470 ms [nfc.clf.acr122] Set PICC Operating Parameters
472 ms [nfc.clf.acr122] Configure Buzzer and LED
562 ms [nfc.clf.acr122] chipset is a PN532v1.6
584 ms [nfc.clf.acr122] write analog settings for type B
601 ms [nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:006
602 ms [root] add to target list: 212F
613 ms [nfc.clf] sense 212F
651 ms [nfc.clf] found 212F sensf_res=0101FED573DDC578BDFFFFFFFFFFFFFFFF
22:35:22 212F sensf_res=0101FED573DDC578BDFFFFFFFFFFFFFFFF

# python sense.py 424F -d
381 ms [nfc.clf] searching for reader on path usb
383 ms [nfc.clf.transport] using libusb-1.0.19
388 ms [nfc.clf.transport] path matches '^(usb|)$'
398 ms [nfc.clf.device] loading acr122 driver for usb:072f:2200
467 ms [nfc.clf.acr122] initialize ACR122U214
468 ms [nfc.clf.acr122] CCID ICC-POWER-ON
470 ms [nfc.clf.acr122] Set PICC Operating Parameters
473 ms [nfc.clf.acr122] Configure Buzzer and LED
562 ms [nfc.clf.acr122] chipset is a PN532v1.6
583 ms [nfc.clf.acr122] write analog settings for type B
600 ms [nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:006
601 ms [root] add to target list: 424F
612 ms [nfc.clf] sense 424F
650 ms [nfc.clf] found 424F sensf_res=0101FE3C430F3B3AF8FFFFFFFFFFFFFFFF
22:35:27 424F sensf_res=0101FE3C430F3B3AF8FFFFFFFFFFFFFFFF

Thank you for your help.

metalboy94 (dead-man-coding) said : #3

I should add that I installed libacsccid1 a few days ago, not sure if that is relevant to these tests. The problem in my first post still happens though.

This phone reserves the passive target speed 106kbps type A for card emulation as often requested by mobile operators (and violating NFC Forum specifications). The Google Nexus phones get this right, i.e. both card and peer mode are enabled, just to say that.

I've pushed a change (trunk revision 283) that might get your problem fixed by also probing for 212kbps type F communication. Though I can't say for sure - please let me know if it works.

metalboy94 (dead-man-coding) said : #5

Latest revision does fix my problem, thank you for your help.

metalboy94 (dead-man-coding) said : #6

Thanks Stephen Tiedemann, that solved my question.