Linux Edition
Quick access: overview
, compilation
, requirements
, latest news 
Overview
The contents of the Open NFC Linux Edition is very similar to the Core Edition, except that it contains the porting files for Linux instead of Win32 environment. However, the tools associated with the Open NFC stack, such as Connection Center, NFC Simulator, or AC Generator, are provided only for the Win32 environment.
This means that if you are planning to test Open NFC under Linux using the NFC Simulator, you will anyway need another machine running Win32 environment. Of course, if you use real NFC hardware in the machine, this requirement disappears.
Here is the detailed list of the contents:
- The documents for this release (/core, /core/documents)
- The portable source code of Open NFC (/core/sources, /core/interfaces)
- The Linux porting of Open NFC hardware-independent core (/core/porting/linux/client_server), including:
- The NFC HAL for simulator (sources and Linux porting)
- The Linux porting of NFC HAL for MicroRead (Linux porting only)
- The Linux example applications (/core/porting/linux/examples)
- A few Win32 applications associated with Open NFC: the Connection Center, the NFC Simulator, AC File Generator for the Security Stack (/core/security/aclgen)
What you can do with this edition:
- Compile the Open NFC software stack for GNU/Linux (using the Linux porting files). Note that if you want to compile the NFC HAL for MicroRead module, you will need also the NFC HAL for MicroRead Edition that contains the source code.
- Use this edition as a basis for a new porting on a Linux platform, if no other edition is closer to your target environment (for example Android porting).
- Compile a Linux application that uses Open NFC. A few examples are provided. See below for the complete quick howto.
- Test this application with the NFC Simulator running on a different machine (this one must use Win32 environment)
What you cannot do:
- You cannot recompile a server based on NFC HAL for MicroRead with this edition only; you will need to get also the source files from the NFC HAL for MicroRead Edition to do so.
Please check the documents included in this Edition (in particular MAN_NFC_0711-028 “Open NFC Linux Edition – Porting Guide”) for important general information on the Linux porting, and detailed compilation process.
Back to top 
Compilation quick HOWTO
In order to compile the stack under Linux, you need the software environment described in the Requirements section below. First step is to configure the compilation options as described in the Porting Guide. Then, you should compile the projects in the following order, by issuing “make” command in these directories:
- /core/porting/linux/client_server/client/: this builds the Open NFC client shared library, userlib.so, that your applications will link to.
- /core/porting/linux/client_server/server/simulator/: this builds the server, embedding the NFC HAL for Simulator component that will connect to the Connection Center over TCP/IP.
- /core/porting/linux/examples/test_reader/: this builds the test_reader example that is linked with the client library built in the previous step.
- Start the Connection Center executable on your Windows machine (make sure the firewall allows the Connection Center)
- Configure the Connection Center to accept incoming connections from other machines.
- Start the NFC Simulator executable on your Windows machine (this adds some logs in the Connection Center windows)
- Run the command (replace with the IP address of your Windows machine) in /core/porting/linux/client_server/server/simulator/:
./server conncenter_ip_address
- Run the command in /core/porting/linux/examples/test_reader/:
./test_reader
- “Present a tag” by double-clicking on a virtual card file in the NFC simulator; the test_reader application should read and display its contents.
- Refer to the Connection Center, NFC Simulator, and Linux Porting Guide documentation for more information
Congratulation! You are now able to use the Open NFC stack in Linux environment.
Back to top 
Requirements
The source code of Open NFC is portable C code that should compile with any C99-compliant compiler. We use gcc and GNU make internally.
In order to build and compile the stack in the Linux environment, we provide a reference porting that allows the use of the NFC Simulator, or a MicroRead NFC Development Kit (via the Connection Center). You will need to use this porting:
- A Linux machine with usual build environment (make, gcc, kernel headers)
- Another machine running Windows to use the Connection Center and NFC Simulator.
Note that one of these machines can perfectly be a virtual machine running in the other, for example, to limit the hardware involved.
Back to top 
Recent news in this Edition
2012/03/19
We are happy to release today the version 4.4.1 of our OpenNFC stack. This new release includes: Core Edition SDK Edition Linux Edition and NFC HAL for MicroRead Edition. For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the Release Notes included in [...]
Read the rest of this entry...
Back to top 
2011/12/13
We are happy to release today the version 4.3.3 of our OpenNFC stack. This new release includes: Core Edition SDK Edition Linux Edition and NFC HAL for MicroRead Edition. For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the Release Notes included in [...]
Read the rest of this entry...
Back to top 
2011/11/07
We are happy to release today the version 4.3.2 of our OpenNFC stack. This new release includes: Core Edition SDK Edition (previously called PC Edition) Linux Edition and NFC HAL for MicroRead Edition. For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the [...]
Read the rest of this entry...
Back to top 
Click here to see older news.
Open NFC 4.4.1 (13312) is released.
We are happy to release today the version 4.4.1 of our OpenNFC stack.
This new release includes:
- Core Edition
- SDK Edition
- Linux Edition
- and NFC HAL for MicroRead Edition.
For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the Release Notes included in each package.
The following are the main changes. Beware, there are changes in the API of the library in this version!
Core Edition:
- New API to register handlers on NDEF message. Works for both cards and P2P (SNEP or NPP). Improved caching mechanism. The previous WNDEFReadMessageOnAnyTag is superseeded and deprecated.
- New implementation of the 7816 state machine; more robust.
- Mifare Classic support can be added through a Mifare Classic HAL module.
- New functions to retrieve string representation of some constants (properties, errors)
- Changes in the Security Stack API (SIM Alliance 2.0.2) and features. The Security HAL API has changed.
- Ability to include / exclude features in the porting_config.h files.
- and many bug fixed as usual, please refer to the release notes of the Core Edition for more details.
NFC HAL for MicroRead:
- Fix behavior of the pulse interval setting when Card Detect is enabled.
- Support for the Mifare Classic HAL.
- Bug fixes.
Please note that this release does not include the Android edition.
Open NFC 4.3.3 (12271) is released.
We are happy to release today the version 4.3.3 of our OpenNFC stack.
This new release includes:
- Core Edition
- SDK Edition
- Linux Edition
- and NFC HAL for MicroRead Edition.
For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the Release Notes included in each package.
The following are the main changes:
Core Edition:
- Improved memory management
- Removed deprecated and unused code
- Improved testing system
- New (optional) mechanism to protect against some deadlock situations
- Some types are renamed: tchar to char16_t, sint*_t to int*_t, and bool to bool_t. You may have to refactor your client applications accordingly.
- Improved P2P interoperability and stability.
- and many bug fixes, please refer to the release notes of the Core Edition for more details.
NFC HAL for MicroRead:
- Changes in firmware version string format.
- Fixes related to the Security Stack.
- This version comes with Loader 7.11a and Firmware 7.15a. Important: These loaders and firmware can only be used together, they are not backward compatible with older firmwares and loaders. As usual, we recommend that you flash your MicroRead or SecuRead chip with this version of loader and firmware (then your customized parameters) before using this version of the stack.
Please note that this release does not include the Android edition.
As usual, please report your question / problems to the project new mailing-list: Open-NFC-Help@lists.sourceforge.net.
Thanks!
The Open NFC team.
Open NFC 4.3.2 (11808) is released.
We are happy to release today the version 4.3.2 of our OpenNFC stack.
This new release includes:
- Core Edition
- SDK Edition (previously called PC Edition)
- Linux Edition
- and NFC HAL for MicroRead Edition.
For a complete description of what is included in each Edition, please refer to the website (http://www.open-nfc.org) and the contents of the Release Notes included in each package.
The following are the main changes:
- Several bugs fixed in the P2P functions, improving overall stability of the operation
- Fixes in the API documentation
- other random fixes, please refer to the release notes of the Core Edition for more details.
Please note that this release does not include the Android edition.
As usual, please report your question / problems to the project new mailing-list: Open-NFC-Help@lists.sourceforge.net.
Thanks!
The Open NFC team.