No description
Find a file
Philippe Teuwen c6bda74f44 acr122_usb: ACR122U does not need PCSC Escape anymore
ACR122U:
Through PCSC we couldn't send APDUs to the reader if there was no card
but now that we communicate directly with the reader, we can send APDUs
even if there is no card, so we don't need the Escape mechanism anymore
2013-06-14 23:39:43 +02:00
cmake Windows packaging improvement 2013-04-03 01:06:03 -04:00
contrib Add connstring example for SPI on RPi 2013-03-27 23:29:59 +01:00
debian Debian: update symbols which changed in rc7 2013-05-13 09:41:45 +02:00
examples Improve a bit shell scripts portability. 2013-05-25 13:29:38 +02:00
include Unify copyright notices & update authors lists 2013-03-10 16:15:23 +01:00
libnfc acr122_usb: ACR122U does not need PCSC Escape anymore 2013-06-14 23:39:43 +02:00
m4 Do not build pn532_spi if spi is not available 2013-04-03 16:08:34 +02:00
test Fix cppcheck warning: The scope of the variable X can be reduced. 2013-04-05 14:38:03 +02:00
utils mifare_classic_block_manufacturer: clearer struct members 2013-06-13 20:14:22 +02:00
.gitignore Add quick start examples compliation to "make check" 2013-01-18 16:05:43 +01:00
AUTHORS Prepare release candidate 1.7.0 RC7 2013-04-05 16:01:36 +02:00
ChangeLog Add missing thanks to ChangeLog 2013-05-13 09:41:07 +02:00
CMakeLists.txt Windows packaging improvement 2013-04-03 01:06:03 -04:00
configure.ac Use PKG_PROG_PKG_CONFIG 2013-05-24 20:30:23 +02: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 HACKING: refer to make cppcheck 2013-04-05 11:43:47 +02:00
libnfc.conf.sample Fix typo in libnfc.conf.sample 2013-04-30 21:48:33 +02: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 make cppcheck: add PN532_SPI 2013-04-05 11:42:57 +02: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 Fix typo in libnfc.conf.sample 2013-04-30 21:48:33 +02:00
README Unify copyright notices & update authors lists 2013-03-10 16:15:23 +01:00
README-Windows.txt Unify copyright notices & update authors lists 2013-03-10 16:15:23 +01:00

*-
* Free/Libre Near Field Communication (NFC) library
* 
* Libnfc historical contributors:
* Copyright (C) 2009      Roel Verdult
* Copyright (C) 2009-2013 Romuald Conty
* Copyright (C) 2010-2012 Romain Tartière
* Copyright (C) 2010-2013 Philippe Teuwen
* Copyright (C) 2012-2013 Ludovic Rousseau
* Additional contributors:
* See AUTHORS file
-*

General Information
===================

libnfc is a library which allows userspace application access to NFC devices.

The official web site is:
  http://www.nfc-tools.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 depend 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 depends 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.

* A trace with debug activated.

  Reproduce the bug with debug, e.g. if it was:
  $ nfc-list -v
  run it as:
  $ LIBNFC_LOG_LEVEL=3 nfc-list -v

* 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://nfc-tools.org/index.php?title=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.