RC S380, Peer to Peer only work when the peer device is working in NFC Technology A passtive mode?
When I used RC S380 to work as peer to peer, I find that only the peer device working in NFC Technology A passtive mode it works.If the peer devices only working in NFC Technology A active mode or NFC Technology F active mode or NFC Technology F passtive mode, RC S380 do not work and the debug log is CommunicationError RF_OFF_ERROR.
Thank you in advance for you answer.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- nfcpy Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Mr.shen
- Solved:
- 2015-09-05
- Last query:
- 2015-09-05
- Last reply:
- 2015-09-02
Josan Garrido (josan-niko) said : | #1 |
Hello,
I have the same problem when I try to use the functions: nfc-forum-dta.py and llcp-test-
Thanks for your answers.
One thing for sure is that the RC-S380 does NOT support active communication mode. This is a hardware limitation.
As P2P Initiator nfcpy searches for a Target in 106kbps Type A and then transitions to 424kbps Type F (the examples have a --bitrate option to request a lower speed). I've just tested again with a Nexus 5 and it works fine.
Could you be more specific about your setup?
Mr.shen (310059703-j) said : | #3 |
Hello Stephen:
I use the command
$ ./beam.py -d nfc send link https:/
With Mate7 and Mate7's libnfc-brcm.conf as below:
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY
# Default is NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
#
# Notable bits:
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
P2P_LISTEN_
And the log as below
[main] enable debug output for 'nfc'
[nfc.clf] searching for reader on path usb
[nfc.clf.transport] using pyusb version 1.x
[nfc.clf.transport] path matches '^(usb|)$'
[nfc.clf.device] loading rcs380 driver for usb:054c:06c1
[nfc.clf.rcs380] firmware version 1.11
[nfc.clf.rcs380] package data format 1.00
[nfc.clf.rcs380] firmware version 1.11
[nfc.clf] using SONY RC-S380/S NFC Port-100 v1.11 at usb:000:001
[nfc.clf] connect('llcp',)
[nfc.snep.server] snep server bound to port 4 (MIU=1984, RW=15), will accept up
to 1048576 byte NDEF messages
[nfc.clf] connect options after startup: llcp
[nfc.clf] listen 1.000 seconds for DEP
[nfc.clf.rcs380] listen_dep for 1.000 sec
[nfc.clf.rcs380] nfca_params 01010c82d240
[nfc.clf.rcs380] nfcf_params 01fe91a78424096
[nfc.clf.rcs380] wait 1000 ms for activation
[nfc.clf.rcs380] wait 1 ms for activation
[nfc.dep] searching active communication mode target at 106A
[nfc.clf] sense 106A atr_req=
F03020013040132
[nfc.dep] searching passive communication mode target at 106A
[nfc.clf] sense 106A
[nfc.clf.rcs380] polling for NFC-A technology
[nfc.clf.rcs380] rcvd SENS_RES 0400
[nfc.clf.rcs380] send SDD_REQ 9320
[nfc.clf.rcs380] rcvd SDD_RES 0102030404
[nfc.clf.rcs380] send SEL_REQ 93700102030404
[nfc.clf.rcs380] rcvd SEL_RES 20
[nfc.clf] found 106A sdd_res=01020304 sel_res=20 sens_res=0400
[nfc.clf] found 106A sdd_res=01020304 sel_res=20 sens_res=0400
[nfc.dep] Target does not support NFC-DEP
[nfc.clf] listen 1.000 seconds for DEP
[nfc.clf.rcs380] listen_dep for 1.000 sec
[nfc.clf.rcs380] nfca_params 0101e69b4640
[nfc.clf.rcs380] nfcf_params 01fec4615e03085
[nfc.clf.rcs380] wait 1000 ms for activation
[nfc.clf.rcs380] 212F 0c0000000000002
11020207ff03020
[nfc.clf.rcs380] not a passive mode activation
[nfc.clf.rcs380] wait 174 ms for activation
[nfc.clf.rcs380] 106A 0b000300000000f
0111020207ff030
[nfc.clf.rcs380] 106A rcvd ATR_REQ d4001749b1ffb5b
20207ff03020013
[nfc.clf.rcs380] 106A send ATR_RES d50101fec4615e0
1020207ff030200
[nfc.clf.rcs380] CommunicationError RF_OFF_ERROR
If the libnfc-brcm.conf as below
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY
# Default is NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
#
# Notable bits:
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
# NFA_TECHNOLOGY_
P2P_LISTEN_
the command
$ ./beam.py -d nfc send link https:/
will be ok.
There must be something else! The P2P_LISTEN_
The log after "[nfc.clf] listen 1.000 seconds for DEP" shows first a 212F active mode activation from your Mate 7 - this is ignored by nfcpy because RC-S380 can't do active mode. The following 106A passive mode activation is responded but then the phone deactivates the RF field, could be because the overall time was to long (the -reltime option would show some timing info) or it thinks to be in active mode.
Mr.shen (310059703-j) said : | #5 |
I have got it.Thank you Stephen.