Accessing GPS Info from Pepwave MAX Routers


Viewing GPS Route History on InControl
You can see the GPS location of any GPS-enabled device by navigating to it’s device page:

Using the controls underneath the map, you can choose the time period to display as well as additional information such as cellular connectivity, speed, and traffic density along the route.

Viewing GPS Data on the Web Admin
Simply attach a GPS antenna to your MAX’s SMA connector, wait a moment while your MAX gets a fix on its position, and then check the Web Admin Dashboard for real-time GPS data. GPS refresh interval is every 10 seconds.

Downloading GPX Files (Supported devices only)
Supported MAX routers can automatically store up to seven days of GPS location data in GPS eXchange format (GPX). To review this data using third-party applications, click Status > Device and then download your GPX file using the controls in the System Information section.

Getting Real-Time GPS Data in NMEA Format
MAX routers export real-time location data in NMEA format through its LAN IP address at TCP port 60660. It is accessible from LAN or over a SpeedFusion connection. To access the data via a virtual serial port, install the following COM driver.



64-bit: >


API Incontrol GPS
Unable to edit location


Regarding “Getting Real-Time GPS Data in NMEA Format” con you please specify how to get this data:

Is through a web services GET Request at port 60660?



The 60660 TCP port provides the GPS as serial data - hence why Peplink suggest the use of a virtual com driver. You can’t do a GET request to it. You can however use Putty and open a RAW connection to that port to see the data.

How to read GPS position direct from LAN using Python
GPS Data Connection

Thanks Martin,
I plan to integrate GPS info with a python program over os linux.
So, how should I integrate to get and process the data?
Should I test a socket connection in the 60660 port?




Boringly I don’t have a device here with active GPS to double check this works, but in theory you can do it like this:

# 15th May 2017
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#Connect to the device on the right Ip & port
client_socket.connect(("", 60660))
while True:
	#Whilst we're recieveing data from the socket...
	data = client_socket.recv(1024)
	# make sure we actually have something.
	if len(data) > 0:
		#decode the data from byte to string to make working with it easier
		# split the data into a list of lines
		lines = thedata.splitlines(1)
		# iterate over each line
		for line in lines:
			#Data sent is coimma delimited so lets split it
			gpsstring = line.split(',')
			#if the first column contains $GPRMC we have hit paydirt
			if gpsstring[0] == '$GPRMC' :
				#Get the Lat and Long
				print ("Lat: " + gpsstring[3] + gpsstring[4])
				print ("Long: " + gpsstring[5] + gpsstring[5])

Let me know if that works or not.



This map i can see trough your online-link ( looks pretty cool with all the features. is there a possibility that i get a imap-link to bring the map into myWebsite?
Only the map with the calendar and the CenterMap-Button. That would be very cool and helpfully.
i mean, you already have edited all the data, so it makes more sense that i can use this data on my webside instead of rebuild the hole thing again and spend a lot of money to external programmers.

Thanks for help and answers


Christian, we are unable to do that. Thanks.


Hey Guido - I have finally worked this out see my new post here;


Thanks Martin,
It looks fine, the only problem that I see is in the python Code print ("Long: " + gpsstring[5] + gpsstring[5]) , where the second 5 should be a 6. Today I will receive a device and will be able to test during next next. Thanks,



Recommended minimum specific GPS/Transit data

eg1. $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E62
eg2. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E

       225446       Time of fix 22:54:46 UTC
       A            Navigation receiver warning A = OK, V = warning
       4916.45,N    Latitude 49 deg. 16.45 min North
       12311.12,W   Longitude 123 deg. 11.12 min West
       000.5        Speed over ground, Knots
       054.7        Course Made Good, True
       191194       Date of fix  19 November 1994
       020.3,E      Magnetic variation 20.3 deg East
       *68          mandatory checksum


Somewhat related. Is the virtual Serial port linked above compatible with Windows 10?


I am wounding the same thing. I have tried running the vcom_setup.exe several times and I always get the same error on my Windows 10 Home 32bit system.

Setup for com0com (Install)
Error: 0xE000022F -


I’ve noticed there is a new GPS Forwarding tab option for an IP address within the interface. What protocol is used to send / forward the IP address to a listener? ie. GET / POST type call?

Or is this simply whitelisting an IP for a remote com / serial connection?

thank you!


GPS forwarding is supported TCP & UDP connection.

Any listening service for the server end should work to receive the forwarded GPS info (Example: syslog, NMEA/TAIP listener)


Thank you, but I wish to request further specifications. Should I be listening for an HTTP call from the device such as a GET / POST? What type of TCP or UDP packet is being sent?


If I’m not out of line, @Chuck_Girard, I’ll pile on.

Ultimately, my goal is to programmatically access the NMEA sentence via JS. From my research, I think this might be possible in a more straightforward manner if the server side supports/provides a WebSocket.

It isn’t that the Pepwave provides anything other than a traditional socket. It would be helpful if this could be confirmed by Pepwave.



You need a service listening on the assigned IP & TCP/UDP port that will accept incoming connections. Then you choose the report format (NMEA or TAIP) on the remote Pepwave device and the data that arrives at your service will be in the protocol/format of the selected report format (NEMA / TAIP) and include GPS data dependant on the sub selection of included sentences.

To understand the way the data is formatted take a look at for NMEA and the reference here for TAIP


It is a traditional socket thats what My Python Script linked earlier is using.


Hi i m having peplink device HD2 Mediafast installed and internet is working fine and also registered in incontrol2,but the device always shows offline and i m not able to see the map also it is very blank

i m from kuwait can you please help me out in this


I assume the device is not showing as being out of warranty on IC2?
If it’s not showing as online in incontrol2 then you won’t see GPS updates there. If you login to the device locally can you see the map on the webui dashboard? Is that showing a correct position?

Is there much web filtering done at an ISP level (or maybe even at your corporate firewall level) perhaps?

Sounds like IC2 traffic is juts not getting through.