Hi all, is SUPL for our GPS enabled devices available and can be used? If yes, what is needed to set SUPL support up? Is the SUPL server free of charge for customers and partners?? Thanks Thomas
GPS & SUPL Server |
GPS & SUPL ServerHi all, is SUPL for our GPS enabled devices available and can be used? If yes, what is needed to set SUPL support up? Is the SUPL server free of charge for customers and partners?? Thanks Thomas |
Subscribe to email updates
Monthly updates from our Zebra development team, straight to your inbox.
2 Replies
Below is information from our EMDK:
GPS Programmer’s Guide
Overview
The Global Positioning System (GPS) is a system that allows the user to track their position anywhere on the earth.
Some Motorola mobile devices have built-in GPS receivers, while others gain GPS support through external accessories. It is important to note that the existence of GPS settings found in your control panel does not mean that the mobile device is GPS capable. Refer to the product manual and integrator guide to determine if your product supports GPS. To determine if your mobile device has a built-in GPS receiver, select Start Menu, Settings, System, System Info and ConfigInfo. If the GPS field is displayed, your mobile device has built-in GPS.
The GPS can be used in stand-alone (conventional) or Assisted GPS (A-GPS) modes. A Stand-alone GPS receiver must download data from GPS satellites. It can take several minutes to get a fix. By using GPS Location servers, A-GPS dramatically improves the performance of the TTFF (Time To First Fix) of GPS receivers by providing them with data that they would ordinarily have to download from the GPS satellites. With the A-GPS data, GPS receivers can operate faster and more reliably.
A-GPS follows the SUPL protocol which allows a mobile device to communicate with a location server. SUPL can be initiated using one of two types of sessions:
Network Initiated session
SET (SUPL Enabled Terminal) Initiated session
The “Advanced Configuration” section below describes how to modify the default behavior of the GPS, including enabling and disabling SUPL.
Programming
Applications can access the GPS data using one of two methods:
Through the Microsoft GPS API - For more information refer to MSDN online. Multiplexing option is available when using Microsoft GPS APIs.
Read raw data (NMEA data), directly from the GPS COM port – Raw data can be read by using 2the following methods:
By using the GPS virtual Comport “COM0” or “GPDx” provided by the Microsoft’s GPS Intermediate Driver (GPSID) software. This setting allows multiplexing. But there are some limitations with the Microsoft GPSID driver that might create issues. We do not recommend this method. The configuration of this driver is described below in the “Basic Configuration” section.
By using the “COM8” provided by the Motorola built-in GPS driver. This method does not allow multiplexing and it does not require any modifications to the existing configurations.
For External GPS accessories, refer to the accessory user guide for the COM port.
Basic Configuration
For GPS applications to work, the GPS hardware must be configured properly.
To configure an external GPS accessory, please refer to the MSDN.
Document titled “Microsoft Applications for Mobile and CE 5.0 User Guide (P/N 72E-78456-01 Rev. A)”. This document can be easily found on the Support Central web site by searching for its title.
For mobile devices with built-in GPS such as the MC75, if you are using the GPSID comport, you can configure using one of the following methods:
Using the Control Panel GUI. Go to Settings à System à External GPS and access the “Programs” tab and select comport from the drop down list. Make sure you do not select COM8 or any other used com ports from this list.
Using the Registry settings. For more information on this, please refer to MSDN.
Advanced Configuration
The following registry settings can be used to enable and modify the SUPL feature of the built in GPS. Note that the MC70 does not support these advanced features. The values shown are the defaults.
Important Note: For the modifications to take effect, if the GPS is open it must be closed and opened again.
Enabling A-GPS SUPL
To enable the SET Initiated SUPL, use the following registry settings. The value 1 enables SUPL and the value 0 disables it.
HKLM\Software\Symbol\GPSMux\SUPL\EnableSUPL = dword:0
Important Note: Before using SUPL, make sure to configure the TCP/IP connection in the Configuration Manager.
Quality of Position
To configure QoP (Quality of Position), use the following registry key.
HKLM\Software\Symbol\GPSMux\SUPL\HorizontalAccuracy = dword:4B
HKLM\Software\Symbol\GPSMux\SUPL\VerticalAccuracy = dword:4B
HKLM\Software\Symbol\GPSMux\SUPL\ResponseTime = dword:78
The definition of QoP can be found in the Open Mobile Alliance (OMA) spec “OMA-AD-SUPL-V1_0-20060127-C”.
Access to SUPL Server
To enable access to the SUPL server, an IP address and port must be configured.
HKLM\Software\Symbol\GPSMux\SUPL\ServerIP = “000.000.000.000”
HKLM\Software\Symbol\GPSMux\SUPL\PortNumber = dword:0
Some SUPL servers require the mobile device to configure the server IP automatically from its own IMSI in the format of “mnc.mcc.pub.3gppnetwork.org”. Please refer to SUPL spec OMA-AD-SUPL-V1_0-20060127-C for more details. Once this feature is enabled, it is not necessary to set the above ‘ServerIP’ value.
To enable this feature set the follow registry value to be 1, otherwise 0.
HKLM\Software\Symbol\GPSMux\SUPL\IP_From_IMSI = dword:0
To configure a TLS secured connection between mobile device and SUPL server, use the following registry setting. The value 1 indicates a secured connection is required, otherwise 0:
HKLM\Software\Symbol\GPSMux\SUPL\IsSecured = dword: 1
SET ID
For the purpose of Access Control, mobile device is asked to provide the SET ID to the SUPL server for identification purposes. The ID value can be either IMSI or MSISDN. The value ‘0’ of the following registry setting means IMSI, ‘1’ means MSISND.
HKLM\Software\Symbol\GPSMux\SUPL\UserIdentity = dword: 0
Smart Aiding
When COM8 is opened, the GPS driver and firmware have the intelligence to decide whether an aiding (SUPL session) is necessary. Therefore, even if SET Initiated SUPL is enabled on the mobile device, a SUPL session will not be established unless ephemeris aiding is required.
Smart Re-Aiding
If the SET Initiated SUPL is enabled and the GPS receiver is powered on in a continuous tracking mode, the GPS driver and firmware have the intelligence to decide whether or not a re-aiding (SUPL session) is needed to refresh any expired aiding data such as ephemeris data. To enable this feature, set the following registry value to be ‘1’, otherwise ‘0’:
HKLM\Software\Symbol\GPSMux\SUPL\SRAEnable = dword: 1
If the above setting is enabled, the following two parameters are tracked:
SVLimit is the number of satellites being used for tracking.
SRAInterval is the time (in minutes) since the last successful SUPL session.
The GPS driver will automatically initiate a SUPL session if GPS receiver is requesting aiding and using less than SVLimit number of satellites for tracking and the last successful SUPL session was more than SRAInterval minutes ago.
To configure the SVLimit and SRAInterval parameters, use the following registry keys:
HKLM\Software\Symbol\GPSMux\SUPL\SVLimit = dword: 6
HKLM\Software\Symbol\GPSMux\SUPL\SRAInterval = dword: 14; hex value.
Estimated Course Location
An estimated coarse location may be provided to the SUPL server in order to further improve the time to first fix of the GPS receiver. Use of this feature is recommended only if the terminal will remain in one general area (within about 30 km). This feature must be used carefully; providing an inaccurate coarse location to the server may result in very long fix time.
To use estimated coarse location, the feature must be enabled and the estimated location entered. The use of estimated coarse location is optional. Set “UseCoarseLocation” equal to 1 for enabling this feature.
HKLM\Software\Symbol\GPSMux\SUPL\UseCoarseLocation = dword: 0
HKLM\Software\Symbol\GPSMux\SUPL\EstimatedLat =””
HKLM\Software\Symbol\GPSMux\SUPL\EstimatedLong =””
HKLM\Software\Symbol\GPSMux\SUPL\EstimatedAlt =””
Network Initiated SUPL Notification
To enable the mobile device to be able to accept and process the incoming Network Initiated SUPL request,(in the form of WAP push) the following registry value need to be set. ‘1’ means enable, ‘0’ means disable:
HKLM\Software\Symbol\GPSMux\SUPL\Enable_NI_SUPL = dword: 0
Location Method
To choose a location method, use the following registry. The value 1 means Mobile Station Based (MSB) SUPL. The value of 2 means Mobile Station Assisted (MSA) SUPL. The values 0 and 3 are reserved for future use. The value 4 means Stand-alone or conventional GPS with no SUPL data.
HKLM\Software\Symbol\GPSMux\SUPL\Location_Method = dword: 1
Conserving Battery
To conserve battery life of the mobile device, the application can use the following tips:
Turn off the GPS when it is not in use (by closing the com port or utilizing the GPSCloseDevice Microsoft API.
Suspend the mobile device when not in use and thereby turning the GPS off. Please note resuming the mobile device will hot reset the GPS.
Some additional information:
I noticed that the SUPL Server IP field is blank.
[A] Don’t worry, that’s by design.
What is the IP address for the Motorola SUPL server? Should it be ping-able from my device?
[A] supl2.motorola.com, if your device is not blocked by the firewall, it’s pingable.