[Feature] Haswell ULT - Near Field Communication(NFC) support

Bug #1083994 reported by Yingying Zhao on 2012-11-28
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intel
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned
Raring
Undecided
Tim Gardner
Saucy
Undecided
Unassigned
neard (Ubuntu)
Undecided
Tim Gardner
Raring
Undecided
Tim Gardner
Saucy
Undecided
Tim Gardner

Bug Description

NFC is a short range wireless protocol for sharing data between devices or between and tags. Tag is NFC passive device - it can be in the form of a sticker or little chip that has information (e.g. URL) that can be passed on to the phone device for example.
This link has a lot of information about the different tag types:
http://kimtag.com/s/nfc_tags

Magnetics Peak is the NFC module for the Shark Bay Mobile and ULT platforms.

The Magnetics Peak NFC enablement will require:
1. neard
neard is a userspace NFC daemon that runs on top of the NFC upstream kernel APIs and provides simple NFC oriented D-Bus API. Without neard applications will have to talk directly to the low level NFC kernel APIs. neard provides a simple and clean D-Bus APIs for any application to use without worrying about the NFC technicl details behind it.

neard is already available, and there will future updates to neard through 01.org - https://01.org/linux-nfc

2. Magnetics Peak NFC driver
Enable the MP chipset support. This enablement will depends on the MEI driver.

3. Management Engine Interface (MEI) kernel bus driver
The Management Engine Interface should be seen as a virtual bus for regular drivers to register against. This driver implements an MEI specific bus type and provide a bus I/O API for external drivers to use
against.

4. NFC HCI improvements to support Magnetics Peak specific HCI quirks
Magnetics Peak deviates from the standard HCI specifications and thus the upstream kernel NFC HCI stack needs a few additional patches to support those tiny differences.

Upstream schedule information:
Neard - released on https://01.org/linux-nfc
Magnetics Peak NFC driver - v3.9
MEI driver - v3.10
NFC HCI patches - v3.9

Related branches

tags: added: sharkbay ult
description: updated
Yingying Zhao (yingying-zhao) wrote :

There are a few HCI patches that will be needed, on which the MP driver entry would depend.

Yingying Zhao (yingying-zhao) wrote :

The current Magnetics Peak driver is currently not available for review but will be available through the nfc git kernel tree (
http://git.kernel.org/?p=linux/kernel/git/sameo/nfc-3.0.git;a=summary ) in the upcoming weeks.

How to start with linux-nfc code: https://01.org/linux-nfc/documentation/how-start-linux-nfc-code...

Yingying Zhao (yingying-zhao) wrote :

Initial debian packaging for neard:
https://github.com/sameo/neard-deb

Yingying Zhao (yingying-zhao) wrote :

NFC HCI patches are merged in kernel v3.9:

- NFC: Fixed nfc core and hci unregistration and cleanup
  f0c9103813b3045bd5b43220b6a78c9908a45d24

- NFC: Added error handling in event_received hci ops
  27c31191b3d7ff32c266a5dbea344b9aa96ebf14

- NFC: Changed event_received hci ops result semantic
  40d06d3647ea872a7346be1f6859f18cd0fe08d3

- NFC: Fixed skb leak in tm_send() nfc and hci ops implementations
  924d4a023ee6da2e40c78578829e68bcbabee2dd

- NFC: Add HCI quirks to support driver (non)standard implementations
  bf71ab8ba53081c28b960d48e0c4cd1c17588aa6

description: updated
tags: added: haswell-ult nfc
removed: sharkbay ult
Tim Gardner (timg-tpi) on 2013-03-01
information type: Proprietary → Public
Changed in linux (Ubuntu Raring):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Tim Gardner (timg-tpi) wrote :

Yingying - Is Intel going to sponsor an upload to Debian for neard ?

Changed in linux (Ubuntu Raring):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.8.0-10.19

---------------
linux (3.8.0-10.19) raring; urgency=low

  [ Andy Whitcroft ]

  * [Config] annotate CONFIG_PATA_ACPI

  [ Tim Gardner ]

  * rebase to v3.8.2

  [ Upstream Kernel Changes ]

  * NFC: Fixed nfc core and hci unregistration and cleanup
    - LP: #1083994
  * NFC: Added error handling in event_received hci ops
    - LP: #1083994
  * NFC: Changed event_received hci ops result semantic
    - LP: #1083994
  * NFC: Fixed skb leak in tm_send() nfc and hci ops implementations
    - LP: #1083994
  * NFC: Add HCI quirks to support driver (non)standard implementations
    - LP: #1083994
  * USB: Don't use EHCI port sempahore for USB 3.0 hubs.
    - LP: #1011415
  * USB: Prepare for refactoring by adding extra udev checks.
    - LP: #1011415
  * USB: Rip out recursive call on warm port reset.
    - LP: #1011415
  * USB: Fix connected device switch to Inactive state.
    - LP: #1011415
  * USB: Use helper function hub_set_port_link_state
    - LP: #1011415
  * USB: Refactor hub_port_wait_reset.
    - LP: #1011415
  * usb/core: consider link speed while looking at bMaxPower
    - LP: #1011415
  * usb/core: update power budget for SuperSpeed
    - LP: #1011415
  * usb: Add driver/usb/core/(port.c,hub.h) files
    - LP: #1011415
  * usb: fix compilation error and warning of driver/usb/core/port.c on arm
    and blackfin
    - LP: #1011415
  * usb: Add "portX/connect_type" attribute to expose usb port's connect
    type
    - LP: #1011415
  * usb: Create link files between child device and usb port device.
    - LP: #1011415
  * USB: Set usb port's DeviceRemovable according acpi information
    - LP: #1011415
  * USB: fix sign-extension bug in the hub driver
    - LP: #1011415
  * usb: add runtime pm support for usb port device
    - LP: #1011415
  * usb: add usb port auto power off mechanism
    - LP: #1011415
  * usb: expose usb port's pm qos flags to user space
    - LP: #1011415
  * usb: enable usb port device's async suspend.
    - LP: #1011415
  * drm: add prime helpers
    - LP: #1138440
  * drm/nouveau: use prime helpers
    - LP: #1138440
  * drm/radeon: use prime helpers
    - LP: #1138440

  [ Upstream Kernel Changes ]

  * rebase to v3.8.2
    - LP: #961286

  [Tim Gardner]

  * Release Tracking Bug
    - LP: #1144449
 -- Tim Gardner <email address hidden> Fri, 01 Mar 2013 07:10:07 -0700

Changed in linux (Ubuntu Raring):
status: Fix Committed → Fix Released
Yingying Zhao (yingying-zhao) wrote :
Yingying Zhao (yingying-zhao) wrote :

Update for the neard developer - Samuel Ortiz:

neard has been packaged and sponsored by a Debian developer (Guillem Jover). It's now in the Debian FTP master queue:

http://ftp-master.debian.org/new/neard_0.10+git20130322-1.html

which means it will be in Debian in a few days/weeks, depending on how fast the queue is processed.

It may be interesting for the Canonical folks to have a look at it. If they want to package it before it hits Debian unstable, they can look at:

git://github.com/sameo/neard-deb.git

This is what the Debian packaging is based on.

XiongZhang (xiong-y-zhang) wrote :

I can't find neard package in Debian-unstable or Debian-stable, who can push it ?

fupanli (fupan-li) wrote :

Hi, Yingying when will MEI driver be available?

XiongZhang (xiong-y-zhang) wrote :

MEI driver will be in kernel 3.10. The code is ready and has been merged into maintainer's tree.

fupanli (fupan-li) wrote :

Thanks, XiongZhang!

fupanli (fupan-li) wrote :

Hi, XiongZhang / Yingying

I noticed that the http://git.kernel.org/cgit/linux/kernel/git/sameo/nfc-fixes.git/ git repo
has the newest microread driver and mei driver, I want to know does the NFC work well
on Haswell ULT?

XiongZhang (xiong-y-zhang) wrote :

NFC are under testing in intel QA team. Once I get the result, I will update to you.

fupanli (fupan-li) wrote :

Thanks, XiongZhang!

Cause I'm working on a BSP for Haswell-ULP, and want to support the NFC on it! If you have any results, please tell as soon as possible!

Tim Gardner (timg-tpi) on 2013-04-19
Changed in neard (Ubuntu Raring):
status: New → In Progress
assignee: nobody → Tim Gardner (timg-tpi)
Adam Conrad (adconrad) on 2013-04-22
Changed in neard (Ubuntu Raring):
status: In Progress → Fix Released
fupanli (fupan-li) wrote :

Hi, XiongZhang / Yingying

I have a Sharkbay ULT(White tip mountain 1) board in my hands, Could you tell me what other hardware I need to test NFC on this board! I just see a "NFC conn" slot on this board!

XiongZhang (xiong-y-zhang) wrote :

You need a NXP pn544 chip.
If Canonical receive Harris Beach ULT from Intel which has pn544 build in, you can use it to test.

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Add a Saucy nomination as Intel informs me there are a few additional patches to pull in for Saucy.

Changed in linux (Ubuntu Saucy):
assignee: Tim Gardner (timg-tpi) → nobody
status: Fix Released → New

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1083994

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
XiongZhang (xiong-y-zhang) wrote :

The following commits are for MEI kernel bus drive in kernel 3.10:
- mei: bus: Initial MEI Client bus type implementation
  e5354107e14755991da82e0d2a4791db92908d9d

- mei: bus: Implement driver registration
  333e4ee0781bd0b5938da263c4bb7ab66a0d1b57

- mei: bus: Initial implementation for I/O routines
  3e8332952dedd2c17bb497e3909e3b6fbac10ce7

- mei: bus: Add bus related structures to mei_cl
  a7b71bc043aded9da4cf51f85271e0779161fe22

- mei: bus: Call bus routines from the core code
  cf3baefba04073237decb1b8a8c114b0b45bfc80

- mei: bus: Synchronous API for the data transmission
  44d88d919261256e3bd999cde05572c8c4afb642

- mei: bus: Implement bus driver data setter/getter
  aa6aef216f8aea1a00b56aafc29b8745237a9b62

- NFC: microread: Fix build failure due to a new MEI bus API
  9593b0b1179c526436f14849a9587fd2aae12040

XiongZhang (xiong-y-zhang) wrote :

The following commits are for NXP pn544 NFC driver in kernel 3.10

The commits to make NFC behind MEI one bus client:

- mei: nfc: Implement MEI bus ops
  59fcd7c63abf0340f551f487264b67ff5f7a0b86

- mei: nfc: Add NFC device to the MEI bus
  91a6b95f20e338ef63e55422b1f037665fc6440a

- mei: nfc: Initial nfc implementation
  36eda94fcf936ccee5a8693af7738174a56be898

- NFC: mei: Add a common mei bus API for NFC drivers
  4912e2fe74811693703e9b4e21bf36c067643a03

- NFC: pn544: Add MEI physical layer
  bb03dceb83852614ae3ad6b3731a31422890b0b9

Changed in intel:
status: New → Fix Committed

Just adding a note that even though we have the above patches from comments #21 and #22 already included in our Saucy kernel, apparently Intel notes we'll need some additional patches as well. Just putting a note here to keep the Saucy task open till we have those patches applied. Intel will post a note here for which additional patches are needed.

This bug was nominated against a series that is no longer supported, ie saucy. The bug task representing the saucy nomination is being closed as Won't Fix.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu Saucy):
status: Incomplete → Won't Fix

I'm assuming we have the additional patches by now. Closing this Fix Released. Intel, feel free to reopen if needed.

Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Changed in intel:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.