Hi
I work on IMX6DL SABRESD with NXP PN544,
BSP use Yocto L3.14.28-1.0.1_patch release
currently want know how to testing PN544 with tag,
I use the following step, but always can not get a correct result.
Would have anyone give something tips?
imx6dl login: root
root@imx6dl :~# /etc/init.d/neard stop
Stopping Linux NFC daemon
Terminated
root@imx6dl:~# cd /usr/lib/neard/
root@imx6dl:/usr/lib/neard# ./neard -d -n &
[1] 975
root@imx6dl:/usr/lib/neard# neard[975]: NEAR daemon version 0.14
neard[975]: src/dbus.c:__near_dbus_init()
neard[975]: src/netlink.c:__near_netlink_init()
neard[975]: src/netlink.c:nl_get_multicast_id()
neard[975]: src/netlink.c:__nl_send_msg()
neard[975]: src/netlink.c:family_handler()
neard[975]: src/netlink.c:ack_handler()
neard[975]: src/netlink.c:nl_get_multicast_id() multicast id 7
neard[975]: src/agent.c:__near_agent_init()
neard[975]: src/tag.c:__near_tag_init()
neard[975]: src/device.c:__near_device_init()
neard[975]: src/adapter.c:__near_adapter_init()
neard[975]: src/ndef.c:__near_ndef_init()
neard[975]: src/manager.c:__near_manager_init()
neard[975]: src/manager.c:__near_manager_init() connection 0x492e58
neard[975]: src/netlink.c:__near_netlink_get_adapters()
neard[975]: src/netlink.c:__nl_send_msg()
neard[975]: src/netlink.c:get_devices_handler()
neard[975]: src/manager.c:__near_manager_adapter_add() idx 0
neard[975]: src/adapter.c:__near_adapter_create() Powered 0
neard[975]: src/adapter.c:__near_adapter_add() /org/neard/nfc0
neard[975]: src/adapter.c:__near_adapter_add() connection 0x492e58
neard[975]: src/netlink.c:__finish_handler()
neard[975]: src/bluetooth.c:__near_bluetooth_init()
neard[975]: src/plugin.c:__near_plugin_init()
neard[975]: plugins/p2p.c:p2p_init()
neard[975]: plugins/phdc.c:phdc_init()
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f68c name NPP service com.android.npp
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f6b4 name SNEP service urn:nfc:sn:snep
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f6dc name VALIDATION_SNEP service urn:nfc:xsn:nfc-forum.org:snep-validation
neard[975]: plugins/llcp-validation.c:llcp_validation_init()
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f704 name VALIDATION_LLCP_CL service urn:nfc:sn:cl-echo
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f72c name VALIDATION_LLCP_CO service urn:nfc:sn:co-echo
neard[975]: plugins/p2p.c:near_p2p_register() driver 0x3f754 name Handover service urn:nfc:sn:handover
neard[975]: src/device.c:near_device_driver_register()
neard[975]: src/adapter.c:adapter_listen() /org/neard/nfc0
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding Handover
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding VALIDATION_LLCP_CO
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding VALIDATION_LLCP_CL
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding VALIDATION_SNEP
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding SNEP
neard[975]: plugins/p2p.c:p2p_bind()
neard[975]: plugins/p2p.c:__p2p_bind() Binding NPP
neard[975]: plugins/nfctype4.c:nfctype4_init()
neard[975]: src/tag.c:near_tag_driver_register()
neard[975]: src/tag.c:near_tag_driver_register()
neard[975]: plugins/nfctype3.c:nfctype3_init()
neard[975]: src/tag.c:near_tag_driver_register()
neard[975]: plugins/nfctype2.c:nfctype2_init()
neard[975]: src/tag.c:near_tag_driver_register()
neard[975]: plugins/nfctype1.c:nfctype1_init()
neard[975]: src/tag.c:near_tag_driver_register()
neard[975]: src/agent.c:register_handover_agent() conn 0x492e58
neard[975]: src/agent.c:handover_register() sender :1.0 path /net/connman/neard_handover_agent carrier wifi
neard[975]: src/agent.c:create_handover_agent() handover agent registered
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
root@imx6dl:/usr/lib/neard# ./test-adapter list
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
[ /org/neard/nfc0 ]
Protocols = [ Felica MIFARE Jewel ISO-DEP NFC-DEP ]
Mode = Idle
Polling = false
Powered = false
root@imx6dl:/usr/lib/neard# ./test-adapter powered nfc0 on
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
neard[975]: src/netlink.c:__near_pn544_i2c: pn544_hci_i2c_enable
netlink_adapter_enable()
neard[975]: src/netlink.c:__nl_send_msg()
hci: hci_dev_version: SOFTWARE INFO:
hci: hci_dev_version: RomLib : 11
hci: hci_dev_version: Patch : 1
hci: hci_dev_version: FlashLib Major : 1
hci: hci_dev_version: FlashLib Minor : 26
hci: hci_dev_version: HARDWARE INFO:
hci: hci_dev_version: Derivative : 3
hci: hci_dev_version: HW Version : 2
hci: hci_dev_version: #MPW : 0
hci: hci_dev_version: Software : 0
hci: hci_dev_version: BSID Version : 3
neard[975]: src/netlink.c:ack_handler()
neard[975]: src/netlink.c:no_seq_check()
neard[975]: src/netlink.c:nfc_netlink_event() event 0x16
root@imx6dl:/usr/lib/neard# ./test-adapter poll nfc0 on Initator
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
neard[975]: src/adapter.c:start_ppn544: HCI NFC driver for PN544: pn544_hci_start_poll protocols 0x7e 0x0
oll_loop() conn 0x492e58
neard[975]: src/adapter.c:start_poll_loop() Mode Initator
neard[975]: src/adapter.c:adapter_start_poll() Poll mode 0x1
neard[975]: src/netlink.c:__near_netlink_start_poll() IM protos 0x7e TM protos 0x0
neard[975]: src/netlink.c:__nl_send_msg()
neard[975]: src/netlink.c:ack_handler()
###
### at step I put some NDEF card to close PN544 reader
### then run the below step
root@imx6dl:/usr/lib/neard# ./test-tag list
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
root@imx6dl:/usr/lib/neard# ./test-tag dump
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
root@imx6dl:/usr/lib/neard# ./test-adapter list
neard[975]: src/adapter.c:append_protocols() protocols 0x7e
[ /org/neard/nfc0 ]
Protocols = [ Felica MIFARE Jewel ISO-DEP NFC-DEP ]
Mode = Idle
Polling = true
Powered = true
Original Attachment has been moved to: dmesg_nfc.txt.zip
Hi KunYi
I am not aware of i.MX6 BPSs nfc support, but it may be added following next links
linux-2.6-imx.git - Freescale i.MX Linux Tree
AN11697 Linux Software Stack Integration Guidelines
http://www.nxp.com/documents/application_note/AN11697.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
First thank for your reply
Currently the BSP should support PN544,
Yocto/L3.14.28 support "neard" project and linux mainstream support nfc into net interface now
You can review my attached file and steps, the PN544 I2C/HCI driver has built-in into kernel
But I'll try AN1167 note! but I know mainstream has accept neard project and integration into kernel tree
okay, I have been testing AN1167, still failed
I think the appnote AN1167 should be just support PN7120, due to the library just support NCI interface, not support ETSI/HCI
unfortunately I am not aware of PN7120 drivers for i.MX6, in general
NXP has service for porting drivers : NXP Professional Services:
http://www.nxp.com/support/nxp-professional-services:PROFESSIONAL-SERVICE
~igor