[FOSS-GPS] Nokia MEIF (Measurement Engine - Position Engine) Interface support?

TJ gnss at iam.tj
Tue Aug 6 10:34:54 PDT 2013

As a result of recently joining the FSF supported Replicant project [1], which aims to create a totally Free Android-derived operating system with no binary blobs, I've begun work on reverse
engineering the Nokia Measurement Engine - Position Engine Interface (MEIF) protocol used in Global Locate/Broadcom GPS/GNSS chip-sets and the Global Locate Library (GLL) supplied by Broadcom to its

Many PDAs (a.k.a 'smart' phones) utilise chip-sets that use the MEIF protocol including recent Samsung models, the Open Moko GTA01, and more that I'm not yet aware of. Without a Free implementation of
an MEIF-compliant position engine many devices are going to lose critical functionality when Free operating systems are installed, unless binary blobs with proprietary copyright licenses are co-mingled.

Nokia created the MEIF protocol specification in 2006 and continues to develop and license it to other organisations under an NDA [2].

I've already done a large amount of background research and code analysis to understand where the protocol came from, which chip-sets use it, and how it works which I've published to my gitorious
"MEIF Protocol" project [3]. The HTML files in the project (generated from Markdown text) are hosted on my own project web-site [4].

I am interested in discovering:

* other hackers who would like to assist in the reverse-engineering of the protocol
* developers to implement the protocol from the resulting API and protocol specification

I believe - please correct me if I'm wrong - that it is important that the reverse engineering and implementation are done by different developers to preserve a verifiable 'white-room' implementation.
Therefore I (and others) can figure out the protocol but others will have to write the implementation code.

Currently, the Broadcom GLL API has provision to provide NMEA-0183 data streams to OS and applications location services. The GLL is a sophisticated piece of software that does the A-GNSS heavy-lifting.

I'm interested in views on how best the MEIF support should be implemented. My current thoughts are that the MEIF protocol interface, A-GNSS services, and position engine services should each be in
separate L-GPL licensed libraries, and that gpsd can link to the position engine to use a NMEA-0813 socket.

Nottinghamshire, U.K.

[1] http://replicant.us/
[2] http://developer.nokia.com/info/sw.nokia.com/id/b265d3aa-8198-4eb0-a0e3-077748ccea40/MEIF_Specification_License.pdf.html
[3] https://gitorious.org/meif_protocol/
[4] https://iam.tj/projects/meif_protocol/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4270 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.osgeo.org/pipermail/foss-gps/attachments/20130806/eebefa72/attachment.bin>

More information about the FOSS-GPS mailing list