*-
* Public platform independent Near Field Communication (NFC) library
* Copyright (C) 2009, Roel Verdult
* Copyright (C) 2010, Romain Tartière, Romuald Conty
-*
General Information
===================
libnfc is a library which allows userspace application access to NFC devices.
The official web site is:
http://www.libnfc.org/
The official forum site is:
http://www.libnfc.org/community/
The official development site is:
http://libnfc.googlecode.com/
Important note: this file covers POSIX systems, for Windows please read README-Windows.txt
Requirements
============
Some NFC drivers depends on third party software:
* pn53x_usb & acr122_usb:
- libusb-0.1 http://libusb.sf.net
* acr122_pcsc:
- pcsc-lite http://pcsclite.alioth.debian.org/
The regression test suite depend on the cutter framework:
http://cutter.sf.net
Installation
============
See the file 'INSTALL' for configure, build and install details.
Additionnally, you may need to grant permissions to your user to drive your device.
Under GNU/Linux systems, if you use udev, you could use the provided udev rules.
e.g. under Debian, Ubuntu, etc.
sudo cp contrib/udev/42-pn53x.rules /lib/udev/rules.d/
Under FreeBSD, if you use devd, there is also a rules file: contrib/devd/pn53x.conf.
How to report bugs
==================
To report a bug, visit http://code.google.com/p/libnfc/issues/list and fill
out a bug report form.
If you have questions, remarks, we encourage you to post this in the developers
community:
http://www.libnfc.org/community
Please make sure to include:
* The version of libnfc
* Information about your system. For instance:
- What operating system and version
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
Please include a short test program that exhibits the behavior.
As a last resort, you can also provide a pointer to a larger piece
of software that can be downloaded.
* If the bug was a crash, the exact text that was printed out
when the crash occured.
* Further information such as stack traces may be useful, but
is not necessary.
Patches
=======
Patches can be posted to http://code.google.com/p/libnfc/issues/list or
can be sent directly to libnfc's developers: http://www.libnfc.org/contact
If the patch fixes a bug, it is usually a good idea to include
all the information described in "How to Report Bugs".
Building
========
It should be as simple as running these two commands:
./configure
make
Troubleshooting
===============
Touchatag/ACR122:
-----------------
If your Touchatag or ACR122 device fails being detected by libnfc, make sure
that PCSC-lite daemon (pcscd) is installed and is running.
If your Touchatag or ACR122 device fails being detected by PCSC-lite daemon
(pcsc_scan doesn't see anything) then try removing the bogus firmware detection
of libccid: edit libccid_Info.plist configuration file (usually
/etc/libccid_Info.plist) and locate "ifdDriverOptions", turn
"0x0000" value into 0x0004 to allow bogus devices and restart
pcscd daemon.
ACR122:
-------
Using an ACR122 device with libnfc and without tag (e.g. to use NFCIP modes or
card emulation) needs yet another PCSC-lite tweak: You need to allow usage of
CCID Exchange command. To do this, edit libccid_Info.plist configuration file
(usually /etc/libccid_Info.plist) and locate "ifdDriverOptions",
turn "0x0000" value into 0x0001 to allow CCID exchange or
0x0005 to allow CCID exchange and bogus devices (cf previous remark) and
restart pcscd daemon.
Warning: if you use ACS CCID drivers (acsccid), configuration file is located
in something like: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist
SCL3711:
--------
Libnfc cannot be used concurrently with the PCSC proprietary driver of SCL3711.
Two possible solutions:
* Either you don't install SCL3711 driver at all
* Or you stop the PCSC daemon when you want to use libnfc-based tools
PN533 USB device on Linux >= 3.1:
---------------------------------
Since Linux kernel version 3.1, two kernel-modules must not be loaded in order
to use libnfc : "nfc" and "pn533".
To prevent kernel from loading automatically these modules, you can blacklist
them in a modprobe conf file. This file is provided within libnfc archive:
sudo cp contrib/linux/blacklist-libnfc.conf /etc/modprobe.d/blacklist-libnfc.conf
Proprietary Notes
=================
FeliCa is s registered trademark of the Sony Corporation.
MIFARE is a trademark of NXP Semiconductors.
Jewel Topaz is a trademark of Innovision Research & Technology.
All other trademarks are the property of their respective owners.