Question

I am trying to understand a communication beetween two NFC phones where I have exchanged a contact.

So there is what I got:

B2 4D DD D5 07 03 13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

B24D is SyncCode, DD is LEN, D5 is CMD0, 07 is CMD1 (it's a DEP_RES) and 03 is PFB. That's OK.

So, now we have all the others bytes:

13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

These bytes are a LLCP I PDU.

13 20 00 are DSAP (0x04), PTYPE (0x0C), SSAP (0x20) and Sequence (0x00).

So now we have only the Data Bytes.

10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 4E 3A 3B 

We can easily understand that NDEF start at D2 (D2 is the flags, 0C the type length, ...)

So the question is here, what are the first bytes of these DATA?

10 02 00 00 00 D0 

It's like an initialization, and I think 10 is version number, and the D0 is the length. But from what documentation this initialization come from? I havn't found informations in any NFC Forum documentation.

There is the comunication

Thanks for your help.

Was it helpful?

Solution

Ok, after some hours of google, I found the answer at my question.

When a NDEF message is transmit over a LLC protocol, there is a SNEP layer.

So the SNEP header is : Version - Put - Length (on 4 bytes)

In my case, version 1.0 (0x10), Put (0x02), and length D0 (0x00 0x00 0x00 0xD0).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top