No description
Find a file
2013-02-01 10:32:44 +01:00
cmake Add CMake options for Win32 to require PCRE 2013-01-31 15:52:39 +01:00
contrib Adds windows files to tarball 2013-01-31 16:17:37 +01:00
debian Missing ref to nfc-scan-device.1 in debian/libnfc-bin.install 2013-01-25 16:09:27 +01:00
examples Add timeout parameter to nfc_emulate_target() function. 2013-01-30 00:10:24 +01:00
include Add timeout parameter to nfc_emulate_target() function. 2013-01-30 00:10:24 +01:00
libnfc Enables logging by default when using CMake 2013-02-01 10:32:44 +01:00
m4 Enables pn532_uart driver by default 2013-01-20 17:00:21 +01:00
test Fix unit tests 2013-01-18 18:28:45 +01:00
utils Renames contrib/win32/nfc_win32.c to contrib/win32/stdlib.c 2013-01-31 16:09:41 +01:00
windows astyle --formatted --mode=c --indent=spaces=2 --indent-switches --indent-preprocessor --keep-one-line-blocks --max-instatement-indent=60 2012-05-29 15:52:51 +00:00
.gitignore Add quick start examples compliation to "make check" 2013-01-18 16:05:43 +01:00
AUTHORS - Add timeout capablities to nfc_initiator_transceive_bytes(), nfc_target_send_bytes() and nfc_target_receive_bytes(); 2011-09-22 13:03:47 +00:00
ChangeLog Releases libnfc 1.7.0 RC3 2013-01-31 17:53:00 +01:00
CMakeLists.txt Enables logging by default when using CMake 2013-02-01 10:32:44 +01:00
configure.ac Releases libnfc 1.7.0 RC3 2013-01-31 17:53:00 +01:00
COPYING Add LICENSE and README files to releases produce by make_release.sh script. 2009-06-26 09:22:26 +00:00
Doxyfile.in Remove last SVN cruft 2012-11-27 18:56:54 +01:00
HACKING Add URL for "Vim: How to prevent trailing whitespaces" 2012-05-29 16:02:58 +00:00
libnfc.conf.sample Fix typos 2012-12-05 01:32:45 +01:00
libnfc.pc.in Sync libnfc.pc includedir with the rest of the project source files. 2009-12-22 21:02:19 +00:00
make_release.sh Fix version fetch using make_release.sh 2013-01-15 18:16:56 +01:00
Makefile.am Adding make style 2012-05-29 15:56:02 +00:00
manual-test-results.txt add some manual test reports. 2011-05-05 16:03:09 +00:00
mingw-cross-configure.sh Improves mingw-cross-configure.sh script using patch provided by Frank Morgner, thanks! 2012-12-05 18:27:40 +01:00
NEWS Add timeout parameter to nfc_emulate_target() function. 2013-01-30 00:10:24 +01:00
README Fix Readme for drivers reqs 2013-01-31 16:44:37 +01:00
README-Windows.txt removes the libusb-win32 workaround: libusb-win32 project released a new stable version which fixes the infinite timeout issue. (Thanks to Ergeerts Glenn) 2011-08-08 10:02:47 +00:00

*-
* 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 "<key>ifdDriverOptions</key>", turn
"<string>0x0000</string>" 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 "<key>ifdDriverOptions</key>",
turn "<string>0x0000</string>" 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.