Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Beam LLCP Protocol

I am attempting to communicate with my Galaxy S III and a micro-controller that features a PN532 NFC chip.

As this is a micro-controller there is no default LLCP library that I can use so I must understand the Android protocol myself.

Could anyone clarify for me, when I first place the phone to the device, what packets to expect from the very first step? Assuming I am parsing correctly I am seeing:

DSAP: 3F
PTYPE: 0
SSAP: 0

and also

DSAP: 1E
PTYPE: C
SSAP: 0

Is this along the right lines? What is Android attempting to do? I would have expected a connection attempt prior to an information package?

Many thanks for any clarification.

like image 641
user975941 Avatar asked Jun 18 '12 20:06

user975941


1 Answers

Android is using the NDEF Push Protocol (NPP) (PDF) on top of LLCP for Android Beam.

Therefore, you have to implement both LLCP (official spec download, mirror in Korea) and NDEF-Push on top of it. Starting with API level 14, Android also uses SNEP alternatively to NPP, but can fall back automatically.

like image 151
ge0rg Avatar answered Oct 21 '22 05:10

ge0rg