Commits on Sep 9, 2011
  1. Patch to add Secure Download Mechanism in the libnfc

    This patch permit to support secure download update and
    also to avoid locking states in case of download failures
    Change-Id: I98aa80976a67b18562ddcff4d085ed415dac4933
    Daniel TOMAS committed with jham Sep 6, 2011
  2. Patch to add an API to load a FW image in the libnfc

    This new API permit to load the PN544 FW image when a download is needed
    at boot time.
    Change-Id: I2b3406d7ae0f0211123bd680ef914e9948c81eef
    Daniel TOMAS committed with jham Sep 1, 2011
Commits on Jul 14, 2011
  1. Patch to support multiple connection on Multiple protocol TAG

    Change-Id: I0f09869458ebbc6d77363338975754335569b6a6
    Daniel Tomas committed with Nick Pelly Jun 29, 2011
Commits on Jul 8, 2011
Commits on Jul 7, 2011
  1. Don't set ARM flags for non arm builds

    Change-Id: Ia57a9aa018a4a5d1cd5b9a4bc562bc5cc061484a
    Orig-Change-Id: Iee47aaa4c341812ed6671abc8b19bdd9dc4f77cf
    Signed-off-by: Bruce Beare <>
    bjbeare committed with digit-android May 31, 2011
Commits on Jun 28, 2011
  1. Patch to support the new PN544 firmware events

    Change-Id: I6e5a976721fb52f2da30081276bb2ac15d27d186
    Daniel Tomas committed with mik3y Jun 21, 2011
Commits on Jun 8, 2011
  1. Sleep 500us between i2c writes, as per latest advice from NXP.

    This should fix pn544 lock-ups seen during wired-mode stress tests.
    Change-Id: I606b5909338dc889a475ad880df8646546b9ba40
    Nick Pelly committed Jun 8, 2011
Commits on May 25, 2011
  1. Merge "Guard some code by LOW_LEVEL_TRACES; see c1f3313" into gingerb…

    Nick Pelly committed with Android (Google) Code Review May 25, 2011
  2. Guard some code by LOW_LEVEL_TRACES; see c1f3313

    Change-Id: I8c2bd923d9dedf89c784199f03fba0e2cfc12009
    Robert Tsai committed May 25, 2011
Commits on May 23, 2011
  1. Update P2P Modes.

      to allow all possible modes (actual modes selected by Nfc.apk).
    o Fix phNfc_eP2PMode_t enum to list initiator modes.
    Change-Id: I841b6f1387ac536f47d357a0430eb9362b419810
    Nick Pelly committed May 23, 2011
  2. Do not wait 3ms before each write.

    NXP have confirmed that 3ms delay is only needed for writes destined for SWP.
    Change-Id: I90a5229dbb738e1f00d37a052c7ac55e0e9d215c
    Nick Pelly committed May 23, 2011
Commits on May 19, 2011
  1. Patch to enable low level traces.

    This patch permit to display the NFC frames exchanged through the I2C line.
    To enable that, you just need to enable LOW_LEVEL_TRACES macro.
    Change-Id: Ica2ff2e6d111b76c056161ec557346f23d21ada0
    Daniel Tomas committed with Nick Pelly Apr 21, 2011
Commits on May 16, 2011
  1. Fixed LLCP SAP value range.

    Valid LLCP Service Access Point values are 0x00 to 0x3F, not 0x2F.
    Before this patch, a socket with a local SAP between 0x30 and 0x3F
    was unable to communicate (operation callbacks were never called).
    Change-Id: Ic3f9b9f353a01e2682e28575152f171d7ec421e4
    Sylvain Fonteneau committed with jham Apr 14, 2011
Commits on May 12, 2011
  1. Retry i2c read 5 times on i2c read error.

    Change-Id: I9fd0291bfd8ba9d26a0c93bc14d7184a9a188b90
    Nick Pelly committed May 8, 2011
Commits on Apr 26, 2011
  1. Patch to perform a recover in case of a transaction failure

    This patch permit to perform a recovery when a transaction failure is detected.
    To detect this exception, we are filtering the Ox57 bytes because this  means that the IRQ
    line is high but no data is available from PN544.
    Change-Id: Ibb55ea3db2bc6cdff2c5b28bbe2127250c5637a8
    Daniel Tomas committed with Nick Pelly Apr 21, 2011
Commits on Apr 17, 2011
  1. Merge "Enable P2P 106 passive (again)." into gingerbread

    Jeff Hamilton committed with Android (Google) Code Review Apr 17, 2011
Commits on Apr 16, 2011
  1. Enable P2P 106 passive (again).

    Disabling P2P 106 passive caused a large P2P discovery regression.
    Change-Id: I9856ba1a29cd717da2f578abd073b341c54fce36
    Nick Pelly committed Apr 16, 2011
Commits on Apr 14, 2011
  1. Avoid missing NFCIP inbound frame.

    If a NFCIP frame is received (NXP_EVT_NFC_RCV_DATA event) before a call to
    phHal4Nfc_Receive() function, the frame was lost. This could happen if the local
    host acts as a Target and the remote peer sends its first frame too fast.
    The data is actually saved in a temporary buffer but, when the phHal4Nfc_Receive()
    is eventualy called, it triggers a callback with a status code
    NFCSTATUS_MORE_INFORMATION, which is handled as an error.
    This patch fixes this behaviour and makes sure that the correct status
    code is provided with the frame itself.
    Change-Id: I5311762ca70c71f98dea0287b0844eb1c8dddb6b
    Sylvain Fonteneau committed with jham Apr 8, 2011
Commits on Apr 8, 2011
  1. Ignore unreadable TLVs during LLCP activation and CONNECT/CC.

    The LLCP specification defines that if a TLV cannot be interpreted,
    it shall be ignored rather than generating an error.
    This patch removed all error reporting on TLV interpretation. The
    only error that can still happen is length inconsistency in the
    whole TLV array buffer.
    Change-Id: Ibf289fceb2283bfddcdc0ddee9e687ece3e90887
    Sylvain Fonteneau committed with jham Apr 4, 2011
Commits on Mar 31, 2011
  1. Handle correctly LLCP aggregated frames.

    The parsing algorithm for AGF frames has been fixed. It was previously
    only working if aggregated frames were 4-bytes long.
    The current stack only support mandatory de-aggregation. It does not
    send aggregated frames, so there won't be interop issue with previous
    This fix prevents reading erroneous de-aggregated frames and rejecting
    them using FRMR when communicating with an LLCP implementation
    using aggregation mechanism.
    Change-Id: Ia5728496a2917b6a57f478cc51dc0aaa0fcc165a
    Sylvain Fonteneau committed with Nick Pelly Mar 25, 2011
Commits on Mar 18, 2011
  1. Disable P2P target 106 passive mode.

    P2P target 106 passive appears as an ISO 14443-3A target to reader/writers
    in the field. This can confuse some terminals, especially when we also have
    card emulation turned on, since it looks like we have two -3A targets in
    the field.
    P2P target 106 passive is just one of many P2P sub-modes. We do not know of any
    P2P devices that only initiate using only 106 passive, so this should not
    present inter-op issues.
    Change-Id: I1cb84ed791a86a7f225a51806e99bab031dcb6ca
    Nick Pelly committed Mar 18, 2011
Commits on Mar 12, 2011
  1. Minor tweaks.

    jham committed Mar 12, 2011
Commits on Mar 11, 2011
  1. Fix a compilation bug with PHDBG_TRACES enabled.

    Change-Id: I6f3a96b9b063b66f735ff97c1aa63aaaad0a03b9
    jham committed Mar 11, 2011
Commits on Feb 24, 2011
  1. Support formatting / makeReadOnly() of NDEF on ICODE.

    Change-Id: I2a7a185ead5de8f2b165c81dcc8ab8fb46c1ddc0
    Martijn Coenen committed with jham Jan 20, 2011
  2. Added support for NDEF on ICODE.

    This patch allows reading and writing of NDEF messages on ICODE tags.
    Change-Id: I43b4845c898c2bf268f609a5a81e991460059ff6
    Martijn Coenen committed with jham Jan 13, 2011
Commits on Feb 18, 2011
  1. Fix to prevent accidental stopping of timers.

    Time-out value of 0 is used to indicate minimum value, see e.g.
    PH_HAL4NFC_RECV_CB_TIMEOUT in phHal4Nfc_P2P.c where it is used with P2P target
    receive in case data has already been received by the PN544
    Change-Id: I9f15f2135ca003b848590fc87265edb39d85bf4c
    Jan Brands committed with Nick Pelly Feb 17, 2011
  2. Narrow down NFCSTATUS_TARGET_LOST responses from libNFC.

    During extensive testing we found that some ISO15693 tags do not react
    to some commands. However, they do send an error code to the PN544 indicating
    they do not support the command. The PN544 in turn sends one specific error code
    over the HCI interface. However, libNFC maps that error code always
    to NFCSTATUS_TARGET_LOST, which in the end maps to the application API reporting
    a TargetLostException.
    This fix maps only the timeout return values from the PN544 to NFCSTATUS_TARGET_LOST;
    all other values are mapped to NFCSTATUS_FAILED, which in turn maps to an
    IOException at API level.
    In effect, a timeout is still not the same as a target lost; libNFC does not do any
    additional internal presence check to make sure the tag is really gone, although
    it usually is. I'll submit a separate fix on packages/apps/Nfc to take care of this.
    Change-Id: If64857658d683aff29134f74b42efd99b695e634
    Martijn Coenen committed with Nick Pelly Feb 3, 2011
Commits on Feb 16, 2011
  1. Disable CardEmulation phase when we try to access the Secure Element …

    …in Wired Mode.
    This fix permit to detect the Secure Element in Wired Mode, even we are in front of a RF Reader
    Change-Id: I8f87e043ff24724addd179ce025cf3d038a82a5e
    danieltomas committed with Nick Pelly Jan 17, 2011
  2. Patch to support set mode during the SE Wired mode

    Change-Id: I57eaa3ccd65b89510e198f7ebf24f7266c4dad2e
    danieltomas committed with Nick Pelly Feb 3, 2011
Commits on Jan 25, 2011
  1. Fixed issue with max size NDEF message on T2T

    Change-Id: If6b490d906fcc37960a1120e9344470d68c825f6
    Jan committed with Nick Pelly Jan 25, 2011
Commits on Jan 21, 2011
  1. Support for using 3-byte length in NDEF TLV on Type 2 Tag.

    This allows for reading/writing more than 255 bytes of NDEF data on an
    NFC Forum Type 2 tag.
    This fix overrides,4907 ,
    since that fix only worked for reading.
    Change-Id: I7fb2ea1bc04f35ba6e6be56e0c89abab567e3ac7
    Martijn Coenen committed with Nick Pelly Jan 20, 2011
Commits on Jan 18, 2011
  1. Change the default IsoDep timeout to 300ms.

    Change-Id: Idcbf0ab9b982b66c39b68762129766e16017558c
    Martijn Coenen committed with Nick Pelly Jan 18, 2011
  2. Erase callback when function returns immediately.

    This should avoid calling a irrelevant callback at abort.
    Change-Id: Ied8d54268613f248fd505d4b25d0ab8a0905a336
    arnaudferir committed with Nick Pelly Jan 14, 2011
  3. Fixed LLCP send callback triggering.

    The phLibNfc_Llcp_Send() function is expected to trigger a callback
    when the packet is actually sent but, in some situations, the callback
    was triggered by another frame sending (such as RR or DM frames).
    This patch fixes the following socket internal flags handling:
    - pfSocketSend_Cb: set to non-NULL value when a send operation is
    - bSocketSendPending: set to TRUE if the LLCP link layer is not
    available for sending and reset to FALSE once the frame is
    actually forwarded to the LLCP link layer.
    The send callback triggering has been updated to ensure it is only
    done for the expected data frame (i.e.: send pending and already
    forwarded to link layer).
    Change-Id: Id7410ee4075fbbbc9de382abf54e89a97f6a8b37
    arnaudferir committed with Nick Pelly Jan 14, 2011
  4. Fixed erroneous LLCP frame on socket closure.

    Moved data allocation from stack memory to heap in order
    to avoid invalid memory access.
    Previously, When trying to send a DM (acknowledgment to
    socket disconnect request), the stack was allocating some
    frame data on the stack but these data were used after the
    function returned.
    Other calls to the same function  are already using variables
    allocated on heap.
    Change-Id: Id7356a876fdecdd979ed3ddc6dbe100d6e92d43d
    Sylvain Fonteneau committed with Nick Pelly Jan 14, 2011