No description
Find a file
Romain Tartiere 84918fd075 Fix invalid memory access when a new driver is probing for hardware and the number of requested devices was already reached.
The probing functions assume that at least one device should be found and
passed to the caller, and only after finding such a device they will check that
they should eventually stop looking for more devices.  While we could make each
probing function capable of handling the special-case of finding 0 devices, it
is much more consistent to perform the check from the calling function.
2011-06-30 13:35:40 +00:00
cmake Improve USB support: 2011-06-09 14:00:45 +00:00
contrib example/nfc-relay-picc: Move windows related code into contrib/win32 2011-06-27 08:56:38 +00:00
debian minor fixes 2011-05-20 16:09:00 +00:00
examples drivers/pn532_uart,arygon: Make valgrind happy with UART-based drivers 2011-06-28 13:16:44 +00:00
include drivers/pn532_uart,arygon: Make valgrind happy with UART-based drivers 2011-06-28 13:16:44 +00:00
libnfc Fix invalid memory access when a new driver is probing for hardware and the number of requested devices was already reached. 2011-06-30 13:35:40 +00:00
m4 Unbreak and merge PN53x USB drivers. 2011-03-05 19:54:52 +00:00
test Compile unit tests only on demand unless using --enable-debug. 2011-05-11 17:38:11 +00:00
windows Bump package version 2010-10-26 14:31:22 +00:00
AUTHORS Add missing files in windows archive. 2010-01-14 16:04:48 +00:00
ChangeLog Prepare 1.5.0 version 2011-04-29 10:13:57 +00:00
CMakeLists.txt minor fixes 2011-05-20 16:09:00 +00:00
configure.ac Error handling improvement: 2011-06-27 16:31:10 +00: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 Fix documentation build. 2010-04-09 15:08:36 +00: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 Enforce sources cleaning before tarball build. 2010-10-08 13:52:19 +00:00
Makefile.am chips/pn53x: drivers now uses pn53x_data_new() and pn53x_data_free() to handle strcut pn53x_data allocation, initialization and freeing. 2011-05-25 10:25:17 +00:00
manual-test-results.txt add some manual test reports. 2011-05-05 16:03:09 +00:00
mingw-cross-configure.sh MERGE: libnfc-mingw-cross merge with trunk (r805-821) 2010-11-17 08:29:41 +00:00
NEWS Prepare 1.5.0 version 2011-04-29 10:13:57 +00:00
pn53x.conf Add FreeBSD devd(8) snippet configuration for Sony S330 readers. 2011-06-06 08:46:55 +00:00
pn53x.rules First attempt to support Sony S330 reader 2011-06-05 22:25:05 +00:00
README Document requirements 2011-03-06 12:00:33 +00:00
README-Windows.txt Improve USB support: 2011-06-09 14:00:45 +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:

   - libusb-0.1 http://libusb.sf.net

* acr122:

   - 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'

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 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

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.