The Linux NFC subsystem

Session information has not yet been published for this event.

Scheduled: Friday, September 9, 2011 from 10:00 – 10:50am in Alexander Valley Ball Room

One Line Summary

Describing the new Linux Near Field Communication architecture, from kernel to userspace.


NFC (Near Field Communication) is a wireless protocol mostly designed for fast information reading and writing from nearby devices and tags. It also allows NFC devices to establish a transport layer link and exchange larger chunks of data.

While Android ships with its own multi platform NFC stack writing HCI frames to a raw character device, and supporting one single device, Linux is currently missing any kind of generic and clean NFC support, from both kernel and user space.

The idea would be to create a new socket family for NFC, along with a kernel netlink API for high level NFC commands passing. An NFC user space daemon will abstract those kernel APIs into a high level D-Bus API for applications to easily use.
I will present the netlink and D-Bus APIs, the NFC daemon architecture and show how simple exchanging NFC data could then be. I will hopefully be able to demo this code against at least a few tags.


linux, NFC

Presentation Materials



  • Samuel Ortiz

    Intel Corporation


    I am a software engineer for the Intel Open Source Technology Center, where I maintain the ConnMan connection manager. I am also the MFD and IrDA kernel subsystems maintainer.
    Before working for Intel, I worked in many places around the globe, from SGI in California to Nokia in Finland.

    When not writing code on emacs, I enjoy running through my dear Jura mountains, crashing R/C nitro cars and spending time with my wife and son.

  • Foto

    Lauro Venancio

    Instituto Nokia de Tecnologia


    I am a senior developer at Instituto Nokia de Tecnologia (INdT), where I develop the Linux NFC subsystem. Previously, I was a LLVM ARM backend developer and one of the Mamona project maintainers.