Configuring GPS

This chapter contains the following:

GPS Overview

There are two ways to receive GPS information. There is Cellular modem GPS available in the LTE modules that support GPS, and there is a dedicated GPS/Dead Reckoning module (IRM-GNSS-ADR) which provides more robust capabilities.

The IR1833 and IR1835 have a slot for a dedicated GPS field-replaceable unit (FRU) module, which will be used in addition to the one integrated in the LTE module, for more accurate dead reckoning performance. The part number is IRM-GNSS-ADR.

IRM-GNSS-ADR hardware is capable of supporting various GNSS constellations. Please inquire with your sales representative for a roadmap of support of additional constellations on the IRM-GNSS-ADR module.

Modem based GPS cannot provide the coordinates when there are no satellites in line of sight. The GPS module with DR capabilities provide the coordinates even when there are no satellites in line of sight.

With the addition of the dedicated GPS/Dead Reckoning module, along with Cellular module, there will be two sources of GPS location information. These two are independent and they can be retrieved using different CLIs:

  • Cellular modem GPS information can be seen using the show cellular <slot number> gps command.

  • GPS/DR module GPS info uses the show platform hardware gps detail command.

The following table provides a comparison of Modem based GPS and GPS/Dead Reckoning module based GPS.

Parameters

Modem Based GPS

GPS/Dead Reckoning Module

Type

Cellular Modem based GPS

FRU Based GPS

PIDs Supported

All of the IR1800 series

Only on IR1835 and IR1833

Configuration Modes

Standalone mode

No configuration is available to select modes. The device automatically selects either standalone | dead-reckoning mode based on satellites reception.

Number of satellites needed for co-ordinates

Standalone mode – 4

If a signal is received from 4 or more satellites, standalone GPS co-ordinates will provide co-ordinates else dead-reckoning will provide the gps co-ordinates.

Satellites Supported in show command

Co-ordinates seen in show commands output is based only on GPS.

Co-ordinates seen in the output of show commands is based only on GPS satellites. However, nmea traffic will show GPS, Gallileo, and Glonass.

Initial Calibration Required

No

Yes

Co-ordinates in Absence of Satellite

No Co-ordinates will be acquired and it stays in acquiring status.

The device seamlessly shifts to Dead-reckoning mode and provide co-ordinates based on calculation done by the FRU. The FRU takes into account vehicle speed, direction, last acquired coordinates from the GPS satellite, accelerometer and gyroscope. For dead reckoning to work, the device should have acquired the co-ordinates at least once before the loss of signal from satellite after the router boot up.

Device Name of Controller to use for Configuration

controller cellular <slot>

controller gps-dr

CLI to enable feature

lte gps enable

lte gps mode standalone

Note

 
A modem power cycle is required after enabling the configuration.

dead-reckoning enable

CLI to configure nmea

lte gps nmea

nmea is automatically enabled once “dead-reckoning enable” is configured

CLI to configure nmea udp socket

lte gps nmea ip udp <source_ip> <destination_ip> <destination_port>

dead-reckoning nmea udp <source_ip> <destination_ip> <destination_port>

CLI to verify configuration under show running-config

show run | sec controller cellular<slot>

show run | sec controller gps-dr

Show commands to verify gps output

show cellular <slot> gps

show controller cellular <slot> | inc gps

show platform hardware gps detail

show platform hardware gps mode

show platform hardware gps status

show platform hardware gps dead-reckoning

Access to GPS nmea traffic on IOx side

Supported

Supported

Debug Command

debug cellular<slot> messages gps

debug cellular<slot> messages nmea

debug platform hardware gps_dr all | dr | gps | nmea

Yang Model Support

Yes

Yes

GPS/Dead Reckoning module (IRM-GNSS-ADR)

This section describes the feature when using the GPS/Dead Reckoning-Based GPS Module.


Note


GPS dead-reckoning is only available on the GPS Pluggable Module.

GPS Dead Reckoning

The GPS dead-reckoning feature is supported on the 1835-K9 and 1833-K9 SKUs.

Dead Reckoning Overview

Dead Reckoning is a GPS fallback feature that provides users with location information during satellite signal interruption by calculating the current position by using a previously determined position, and advancing that position based upon known or estimated speeds over elapsed time and course.

IR18xx 3D Automotive Dead Reckoning (3D ADR) provides automotive-grade GPS services by using intelligent algorithms which combines satellite navigation data with wheel speed, gyroscope, and accelerometer data to deliver accurate positioning, even when satellite signals are partially or completely blocked.

The transition from satellite-based location service to internal-data based location service is transparent and automatic, based on the quality and presence of satellite signals.

The feature is disabled by default and CLIs are provided to enable and configure this feature. Enabling the feature automatically enables GPS, DR and the CAN bus. The feature shows the status, configuration and location data. The location data is streamed from the GPS module and will be forwarded to application via socket.

Command Line Interface

This section provides a description of the different CLIs used with GPS Dead Reckoning.

Command

Description

controller gps-dr

GPS-Dead Reckoning can be configured under controller gps-dr command.

dead-reckoning enable

Enables the GPS-DR feature.

no dead-reckoning enable

Disables the GPS-Dead Reckoning feature.

show platform hardware gps detail

Displays the following output:

  • Feature is enabled/disabled

  • GPS coordinates

  • Timestamps

  • Satellite information with SNR

show platform hardware gps status

Displays whether the feature is enabled or disabled, and the status of coordinates whether acquired or acquiring.

show platform hardware gps mode

Displays whether the feature is enabled or disabled, and whether Dead Reckoning is in use for location fix or not.

show platform hardware gps dead-reckoning

Displays the following output:

  • Firmware running on the GPS module

  • CAN transmit/receive count

  • Odometer reading

  • Accelerometer

  • Gyroscope readings

  • Whether Dead Reckoning is in use for location fix or not

debug platform hardware gps_dr gps | nmea | dr

Enables the debug logs for GPS | NMEA | DR

Note

 
The console gets flooded if logs are enabled. Configure no logging console and then enable this command to avoid flooding of console. Then perform show log to see the output. Perform undebug all to disable the debug. Make sure to enable logging on the console once debugging is disabled if needed.
Configuration Commands

To enable the GPS Dead Reckoning feature, perform the following:


Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#controller gps-dr
 
Router(config-controller)#dead-reckoning enable
 Info: []: DR process enabled successfully.

To disable the GPS Dead Reckoning feature, perform the following:

Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#controller gps-dr
 Router(config-controller)#no dead-reckoning enable
 Info: []: GPS/DR feature disabled successfully
Debug Commands

The following debugging commands are available:


Router#debug platform hardware gps_dr ?
  all   GPS DR all debug
  dr    GPS DR dr debug
  gps   GPS DR gps debug
  nmea  GPS NMEA messages debug
Show Commands

Use the following commands to view the status of the module and GPS details:


Router#show inventory
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO: Please use "show license UDI" to get serial number for licensing.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NAME: "Chassis", DESCR: "Cisco Catalyst IR1835 Rugged Series Router"
PID: IR1835-K9         , VID: V00  , SN: FHH2416P00W
NAME: "Power Supply Module 0", DESCR: "Cisco IR1800 DC Power Supply"
PID: PWR-12V           , VID:      , SN:            
NAME: "GE-POE Module", DESCR: "POE Module for On Board GE for Cisco IR183X"
PID: IR-183X-POE       , VID:      , SN:            
NAME: "module 0", DESCR: "Cisco IR-1835-K9 Built-In NIM controller"
PID: IR-1835-K9        , VID:      , SN:            
NAME: "NIM subslot 0/0", DESCR: "Front Panel 1 port Gigabitethernet Module"
PID: IR1835-1x1GE      , VID: V01  , SN:            
NAME: "NIM subslot 0/1", DESCR: "IR1835-ES-4"
PID: IR1835-ES-4       , VID: V01  , SN:            
NAME: "module F0", DESCR: "Cisco IR1835-K9 Forwarding Processor"
PID: IR1835-K9         , VID:      , SN:            
NAME: "Gps-Dr", DESCR: "Dedicated GNSS/GPS/DR module"
PID: IRM-GNSS          , VID:V03 , SN:FOC243645DJ

When GPS co-ordinates are acquired from the Satellite, the following is the output from the show commands:

Router#show platform hardware gps detail
GPS Feature =  enabled
GPS Status =  GPS coordinates acquired
Latitude =  37 Deg 25 Min 4.7460 Sec North
Longitude =  121 Deg 55 Min 11.1840 Sec West
Timestamp (GMT) =  Tue Nov 24 03:03:55 2020
Fix type index =  0, Height =  40 m
HDOP =  4.1, GPS Mode Used =  GPS standalone
Satellite Info
----------------
Satellite #30, elevation 72, azimuth 43, SNR 0  
Satellite #28, elevation 68, azimuth 277, SNR 0  
Satellite #7, elevation 49, azimuth 89, SNR 0  
Satellite #13, elevation 37, azimuth 312, SNR 0  
Satellite #17, elevation 26, azimuth 185, SNR 25  
Satellite #8, elevation 21, azimuth 43, SNR 0  
Satellite #9, elevation 15, azimuth 160, SNR 17  
Satellite #5, elevation 11, azimuth 260, SNR 26  
Satellite #21, elevation 10, azimuth 77, SNR 0  
Satellite #19, elevation 7, azimuth 194, SNR 24  
Satellite #1, elevation 7, azimuth 103, SNR 0  
Satellite #15, elevation 6, azimuth 322, SNR 0  
Router#show platform hardware gps dead-reckoning 
=============================
GPS/DR Vendor Info: TELIT
GPS/DR module FW Version: V33-1.0.5-CLDR-4.7.10-N115R115-003291-3
CAN Bus Status:
  CAN Bus Tx Count: 0
  CAN Bus Rx Count: 0
  CAN NULL packet Bus RX Count: 0
  CAN Bus TX to DR Count: 0
  CAN Bus TX to DR error Count: 0
DR Sample TimeStamp in usec: 0
DR odometer count: 0
DR reverse status: 0
DR in use for location fix: No
time duration for loss of line of sight:  
travel distance for loss of line of sight:  
travel heading error at exit:  
travel yaw error at exit:  
travel gyro gain error at exit:  
position error at exit:  
position error ratio at exit:  
position noise error at exit:  
Raw Accel Data in X:  -2360
Raw Accel Data in Y:  16130
Raw Accel Data in Z:  0
Raw Gyro Data in X:  38
Raw Gyro Data in Y:  0
Raw Gyro Data in Z:  0
Router# 

Router#show platform hardware gps status
GPS Feature =  enabled
GPS Status =  GPS coordinates acquired
Router#

Router#show platform hardware gps mode
GPS Feature =  enabled
DR in use for location fix: No
Router#

When the Antenna is not able to receive a satellite signal, it will switch to Dead Reckoning mode. During this mode only the output from the following show commands will change. The rest of the show commands output remains the same.

Router#show platform hardware gps mode
GPS Feature =  enabled
DR in use for location fix: Yes
Router#

Router#show platform hardware gps detail
GPS Feature =  enabled
GPS Status =  GPS coordinates acquired
Latitude =  37 Deg 25 Min 4.7460 Sec North
Longitude =  121 Deg 55 Min 11.1840 Sec West
Timestamp (GMT) =  Tue Nov 24 03:03:55 2020
Fix type index =  0, Height =  40 m
HDOP =  4.1, GPS Mode Used =  DR based GPS
 
Satellite Info
----------------
Satellite #30, elevation 72, azimuth 43, SNR 0  
Satellite #28, elevation 68, azimuth 277, SNR 0  
Satellite #7, elevation 49, azimuth 89, SNR 0  
Satellite #13, elevation 37, azimuth 312, SNR 0  
Satellite #17, elevation 26, azimuth 185, SNR 12  
Satellite #8, elevation 21, azimuth 43, SNR 0  
Satellite #9, elevation 15, azimuth 160, SNR 14  
Satellite #5, elevation 11, azimuth 260, SNR 10  
Satellite #21, elevation 10, azimuth 77, SNR 0  
Satellite #19, elevation 7, azimuth 194, SNR 8  
Satellite #1, elevation 7, azimuth 103, SNR 0  
Satellite #15, elevation 6, azimuth 322, SNR 0  
Router#

When GPS-Dead Reckoning is disabled, the output of the show commands appears as follows:

Router#show platform hardware gps detail
GPS Feature =  disabled
GPS Status =  GPS mode not enabled 

Router#show platform hardware gps mode
GPS Feature =  disabled

Router#show platform hardware gps status
GPS Feature =  disabled
GPS Status =  GPS mode not enabled 

Router#show platform hardware gps dead-reckoning
=============================
GPS/DR Vendor Info: 
GPS/DR module FW Version: 
CAN Bus Status:
  CAN Bus Tx Count: 0
  CAN Bus Rx Count: 0
  CAN NULL packet Bus RX Count: 0
  CAN Bus TX to DR Count: 0
  CAN Bus TX to DR error Count: 0
DR Sample TimeStamp in usec: 0
DR odometer count: 0
DR reverse status: 0
DR in use for location fix: No
time duration for loss of line of sight:  
travel distance for loss of line of sight:  
travel heading error at exit:  
travel yaw error at exit:  
travel gyro gain error at exit:  
position error at exit:  
position error ratio at exit:  
position noise error at exit:  
Raw Accel Data in X:  0
Raw Accel Data in Y:  0
Raw Accel Data in Z:  0
Raw Gyro Data in X:  0
Raw Gyro Data in Y:  0
Raw Gyro Data in Z:  0

Feature Limitations

The following are feature limitations:

  • To acquire an initial timestamp, it is required for the antenna to receive a signal from the Satellite when the device is powered on. Once acquired, the timestamp will be updated every second. Additionally, for DR to display coordinates, it is required for the antenna to acquire coordinates from the satellite at least once after the device is powered on, and DR is enabled. If the device had acquired coordinates before a power down, and the device is powered on again later, the device may try to show the coordinates based on the last known location.

  • Cisco recommends using this feature only if the vehicle CAN bus is connected to this IR18xx. CAN Bus connection ensures that the GPS module is properly calibrated before the DR feature is fully functional, and location fix can be obtained even without line of sight of satellites.

  • As long as sufficient satellite signals are received, the coordinates will be acquired as a standalone GPS module, whether connected to the vehicle via CAN bus or not. However, if there are no sufficient signals (or no signals at all), the location fix using DR will kick in and be accurate only if its CAN interface is connected to the vehicle via the CAN bus and gets all the required vehicle data.

  • In the event of a GPS module initial deployment in the field, if CAN bus is not connected and satellite signal is not received, coordinates cannot be acquired.

  • In the event of a GPS module has obtained the coordinates before, if Satellite signal is not received, coordinates will be acquired with the previously obtained value through DR, whether the CAN bus is not connected or not. The accuracy depends on whether the location has been moved or not since last location fix with satellite signals.

IR1800 GPS DR Module Calibration

IR1800 GPS DR module provides Automotive Dead Reckoning (ADR) feature that allows the navigation on a automotive platform even when there are not a sufficient number of GPS satellite signals available. This is very common in IoT applications such as in urban canyons, underground tunnels, or any areas where line of sights of satellites are blocked.

To provide such a service in 3-D, the module needs to use the chipset's built-in three-axis gyro and accelerometer sensors to obtain the data for the change of the direction as well as the orientation and elevation of the chipset. In addition, to provide automotive grade service, it also allows the inputs of vehicle speed and direction data obtained directly from the CAN bus interface on IR1800.

In order to allow the module to properly interpret the data received from the three-axis sensors, it is necessary to provide the information describing the orientation of these built-in sensors relative to the vehicle, thus to properly calibrate the module, once the IR1800 is installed in the vehicle.

Calibration Requirements

The orientation of the vehicle is used in the module calibration as the base reference. It is arranged as illustrated in the following graphic:

  • X axis: points to the vehicle forward direction

  • Y axis: points to the right side of the vehicle when the viewer looks forward

  • Z axis: points to upward with respect to the vehicle’s motion plane.

The DR calibration process requires obtaining the orientation information of the sensors relative to this base reference. The default orientation for this module, as used by the DR algorithm is described as the following:

  • IR1800 is installed and fastened on a stable base. Its front panel faces the right side of the vehicle, for example, 90 degrees clockwise away from the vehicle forward direction. The front panel is the side with the power connector and ethernet ports.

  • With the default orientation, there is no need to input any sensor orientation data to the module for the calibration. The default data will be assumed by the module for the entire calibration process.

Release 17.6.1 does not support the calibration with non-default orientation. Cisco will provide such support if any future requirements arise. For now, customers need to follow this instruction for default orientation for the module calibration.

Calibration Process

Begin with the router installed as previously described, and with the GPS module installed. Configure the module from the command line:

Procedure

Step 1

This step is only required if the DR feature is not yet enabled. Otherwise, go directly to step 2.

Example:

Router(config)#controller gps
Router(config-controller)#no dead-reckoning enable
Info: []: GPS/DR feature disabled successfully
Router(config-controller)#end

Step 2

Enable the DR feature (clear the old calibration data)

Example:

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#controller gps
Router(config-controller)#dead-reckoning enable
Info:  DR process enabled successfully.

Step 3

Set the CAN bus baudrate. Please check the user manual of the vehicle for the baudrate value. Typically, 500kbps is most common, but it can vary among different vehicle manufacturers.

Example:

Router(config-controller)#exit
Router(config)#canbus baudrate ?
  <125000-1000000>  enter baud rate ranging from 125000 to 1000000
Router(config)#canbus baudrate <baudrate of the vehicle CAN/OBDII interface> 

Step 4

Reload or power cycle the router and wait until the router finishes rebooting.


Calibration Execution

Typically, a vehicle driving is needed to calibrate the DR module. This process is only needed once as long as the module orientation relative to the vehicle is not changed. This is true as long as the router or the module is never repositioned inside this vehicle.

Follow these steps for calibration:

Procedure

Step 1

Choose a location where there is open sky over the entire test for a good GPS signal. Calibration will require the vehicle to be moving.

Step 2

Wait approximately 2 minutes in a stopped position with the router and vehicle on. This allows the module to initialize the yaw rate offset with reliable values.

Step 3

Log into the console and run the following command to ensure that the GPS location is acquired:

Example:

Router#show platform hardware gps detail
GPS Feature =  enabled
GPS Status =  GPS coordinates acquired
Latitude =  37 Deg 25 Min 5.8200 Sec North
Longitude =  121 Deg 55 Min 9.1020 Sec West
Timestamp (GMT) =  Tue Mar  9 02:36:00 2021
Fix type index =  0, Height =  1 m
HDOP =  1.0, GPS Mode Used =  GPS standalone
Satellite Info
----------------
Satellite #12, elevation 70, azimuth 147, SNR 22  
Satellite #25, elevation 63, azimuth 305, SNR 25  
Satellite #2, elevation 51, azimuth 43, SNR 23  
Satellite #5, elevation 41, azimuth 139, SNR 20  
Satellite #29, elevation 33, azimuth 294, SNR 26  
Satellite #6, elevation 13, azimuth 46, SNR 18  
Satellite #31, elevation 10, azimuth 317, SNR 14  
Satellite #24, elevation 7, azimuth 195, SNR 0  
Satellite #18, elevation 4, azimuth 230, SNR 0  
Satellite #82, elevation 58, azimuth 326, SNR 22  
Satellite #80, elevation 57, azimuth 289, SNR 18  
Satellite #79, elevation 41, azimuth 190, SNR 22  
Satellite #81, elevation 34, azimuth 37, SNR 25  
Satellite #83, elevation 28, azimuth 267, SNR 0  
Satellite #66, elevation 19, azimuth 79, SNR 0  
Satellite #73, elevation 16, azimuth 330, SNR 18  
Satellite #67, elevation 8, azimuth 129, SNR 0  
Satellite #65, elevation 4, azimuth 21, SNR 16  

Step 4

After waiting for 2 minutes, drive in a straight line direction for at least five minutes at a constant speed. The speed should be greater than 35 km/h (approx. 22mph).

Step 5

Following the straight line drive, make several left and right turns of at least 90 degrees, allowing the system to calculate the gyro yaw rate gain.

Important

 
Calibration will be improved with more turns completed. A minimum of 10 turns is recommended. Calibration should be performed in an open sky environment. Avoid urban canyons, tunnels, parking garages, dense foliage, etc.

Step 6

To complete calibration, the vehicle should stop and remain stationary for at least 10 seconds. For a full calibration to be successful, the above procedure must be followed.

Step 7

Use the following command to check if the calibration is done:

Example:

Router#show platform hardware gps dead
 
=============================
GPS/DR Vendor Info: TELIT
GPS/DR module FW Version: V33-1.0.5-CLDR-4.7.10-N115R115-003291-3
DR Calibration Status:
  DR is calibrated
  Odometer is calibrated
  Gain is calibrated
  Offset is  calibrated
CAN Bus Status:
  CAN Bus Tx Count: 6856
  CAN Bus Tx error Count: 0
  CAN Bus Rx Count: 12724
  CAN NULL packet Bus RX Count: 0
  CAN Bus Rx unsupported packet Count: 0
  CAN Bus TX to DR Count: 12601
  CAN Bus TX to DR error Count: 123
DR data:
  DR Sample TimeStamp in usec: 0
  DR odometer count received from module: 54597690
  DR odometer count sent to module: 54597697
  DR odometer is  valid from module
  DR odometer delta count from module: 220
  DR reverse status: 0

Step 8

To clear calibration (for testing purposes), follow steps 1 and 2 under Calibration Process.


Dead Reckoning for GPS NMEA data streaming

The NMEA data streaming feature allows the user to forward NMEA streams over the Internet to any device running a 3rd party application for GPS location service.

The CLIs for IPv4 UDP sockets will be supported as feature parity with existing 4G modem based GPS functionality. No IPv6 UDP port support for NMEA data streaming is supported in existing 4G modem GPS at this time.

Command Line Interface

(config-controller)# dead-reckoning nmea ?
ip NMEA over IP interface 

Router(config-controller)# dead-reckoning nmea udp ?
  A.B.C.D  Source address 

(config-controller)#dead-reckoning nmea udp 10.3.4.5 ?
 A.B.C.D Destination address

(config-controller)#dead-reckoning nmea udp 10.1.1.1 10.3.4.5 ?
  Destination port

(config-controller)#dead-reckoning nmea udp 10.1.1.1 10.3.4.5 3456

GPS and Dead Reckoning Support for the J1939 Connector

Automotive Dead-Reckoning (DR) refers to the capability of a GNSS receiver to continue to navigate on an automotive platform when there are an insufficient number of GNSS satellite signals available. To do this, the receiver uses information provided by external sensors concerning the state of the vehicle in order to propagate the navigation solution.

Automotive DR requires information regarding the change in directional heading of the vehicle, which is provided by a three-axis digital gyroscope. Automotive DR also requires information about speed and direction of the vehicle. Speed is provided by an odometer (wheel tick) count, which is input into the IRM-GNSS-ADR pluggable module.

The automotive DR feature also accepts data from a three-axis digital accelerometer, which provides information that can be used to determine the orientation of the gyro when it is installed at a tilt angle. This information is also used to estimate elevation. The accelerometer is integrated within the sensor included inside the pluggable module.

Prior to the 17.9.1 release, only mode obdii was available. In 17.9.1, mode j1939 is added with the existing default mode obdii.

The J1939 connector is supported on heavy duty trucks, which provides speed and reverse status data to be fed into the GPS/DR module using J1939 protocol. It is configured through the command line interface under the controller.

Configuration

The following CLIs are available.

To show what is available for dead reckoning:

Router(config-controller)#dead-reckoning ?
enable enable GPS feature
mode DR mode configuration
nmea NMEA Configuration

To configure mode j1939:

Router(config)#controller Gps-Dr
Router(config-controller)#dead-reckoning mode j1939

To view the status:

Router#show platform hardware gps dead-reckoning
=============================
DR Vehicle interface mode: J1939
GPS/DR Vendor Info: TELIT
GPS/DR module FW Version: V33-1.0.5-CLDR-4.7.10-N115R115-003291-3
DR Calibration Status:
DR is not calibrated
Odometer is not calibrated
Gain is not calibrated
Offset is not calibrated

CAN Bus Status:
CAN Bus Tx Count: 1874
CAN Bus Tx error Count: 0

CAN Bus Rx Count: 571
CAN NULL packet Bus RX Count: 0
CAN Bus Rx unsupported packet Count: 448

CAN Bus TX to DR Count: 123
CAN Bus TX to DR error Count: 0

DR data:
DR Sample TimeStamp in usec: 0
DR odometer count received from module: 0
DR odometer count sent to module: 1353
DR odometer is not valid from module
DR odometer delta count from module: 0
DR reverse status: 0

DR in use for location fix: No
time duration for loss of line of sight:
travel distance for loss of line of sight:
travel heading error at exit:
travel yaw error at exit:
travel gyro gain error at exit:
position error at exit:
position error ratio at exit:
position noise error at exit:
Raw Accel Data in X: 0
Raw Accel Data in Y: 0
Raw Accel Data in Z: 0
Raw Gyro Data in X: 0
Raw Gyro Data in Y: 0
Raw Gyro Data in Z: 0

National Marine Electronics Association (NMEA) IOx Support

From linux or the IOx container, the following tty is available for NMEA traffic:

  • /dev/ttyTun9

  • /dev/ttyS2

NMEA UDP Socket Support

In order to configure NMEA UDP socket support, you must enable the dead reckoning feature first, and then configure the NMEA UDP socket support. In order to disable NMEA UDP socket support, you must disable NMEA UDP socket support first, and then disable the dead reckoning feature.

See the following examples.

Enable the Feature

GPS is disabled:

Router#show platform hardware gps detail
GPS Feature =  disabled
GPS Status =  GPS mode not enabled

Router#show platform hardware gps status
GPS Feature =  disabled
GPS Status =  GPS mode not enabled

Router#show platform hardware gps mode
GPS Feature =  disabled

Router#show platform hardware gps dead-reckoning
=============================
GPS/DR Vendor Info:
GPS/DR module FW Version:
DR Calibration Status:
  DR is not calibrated
  Odometer is not calibrated
  Gain is not calibrated
  Offset is not calibrated

CAN Bus Status:
  CAN Bus Tx Count: 0
  CAN Bus Tx error Count: 0

  CAN Bus Rx Count: 0
  CAN NULL packet Bus RX Count: 0
  CAN Bus Rx unsupported packet Count: 0

  CAN Bus TX to DR Count: 0
  CAN Bus TX to DR error Count: 0

DR data:
  DR Sample TimeStamp in usec: 0
  DR odometer count received from module: 0
  DR odometer count sent to module: 0
  DR odometer is not valid from module
  DR odometer delta count from module: 0
  DR reverse status: 0
DR in use for location fix: No
time duration for loss of line of sight:
travel distance for loss of line of sight:
travel heading error at exit:
travel yaw error at exit:
travel gyro gain error at exit:
position error at exit:
position error ratio at exit:
position noise error at exit:
Raw Accel Data in X:  0
Raw Accel Data in Y:  0
Raw Accel Data in Z:  0
Raw Gyro Data in X:  0
Raw Gyro Data in Y:  0
Raw Gyro Data in Z:  0

Configure GPS Dead Reckoning:

Router#config term
Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#controller Gps-Dr

Router(config-controller)#dead-reckoning enable
Info:  DR process enabled successfully.

Configure Dead Reckoning NMEA UDP:

Router(config-controller)#dead-reckoning nmea udp 192.0.2.163 192.0.2.240 11111
NMEA UDP Socket connect successful.

Router(config-controller)#end

Verify the status:

Router#show run | sec controller Gps-Dr
controller Gps-Dr
 dead-reckoning enable
 dead-reckoning nmea udp 192.0.2.163 192.0.2.240 11111
Router#show platform hardware gps detail
GPS Feature =  enabled
NMEA UDP socket is in use
NMEA UDP socket operational status: active
GPS Status =  GPS acquiring
Latitude =  0 Deg 0 Min 0 Sec North
Longitude =  0 Deg 0 Min 0 Sec East
Timestamp (GMT) =  Sun Jan  6 00:00:00 1980

Fix type index =  0
HDOP =  , GPS Mode Used =  not configured

Satellite Info
----------------

Router#show platform hardware gps status
GPS Feature =  enabled
NMEA UDP socket is in use
NMEA UDP socket operational status: active
GPS Status =  GPS acquiring

Router#show platform hardware gps mode
GPS Feature =  enabled
DR in use for location fix: No

Router#show platform hardware gps dead-reckoning
=============================
GPS/DR Vendor Info:
GPS/DR module FW Version:
DR Calibration Status:
  DR is not calibrated
  Odometer is not calibrated
  Gain is not calibrated
  Offset is not calibrated

CAN Bus Status:
  CAN Bus Tx Count: 135
  CAN Bus Tx error Count: 0

  CAN Bus Rx Count: 0
  CAN NULL packet Bus RX Count: 0
  CAN Bus Rx unsupported packet Count: 0

  CAN Bus TX to DR Count: 0
  CAN Bus TX to DR error Count: 0

DR data:
  DR Sample TimeStamp in usec: 0
  DR odometer count received from module: 0
  DR odometer count sent to module: 0
  DR odometer is not valid from module
  DR odometer delta count from module: 0
  DR reverse status: 0

DR in use for location fix: No
time duration for loss of line of sight:
travel distance for loss of line of sight:
travel heading error at exit:
travel yaw error at exit:
travel gyro gain error at exit:
position error at exit:
position error ratio at exit:
position noise error at exit:
Raw Accel Data in X:  0
Raw Accel Data in Y:  0
Raw Accel Data in Z:  0
Raw Gyro Data in X:  0
Raw Gyro Data in Y:  0
Raw Gyro Data in Z:  0

Disable the Feature

Reverse the procedure to disable NMEA UDP Support. See the following examples:

Router#config term
Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#controller Gps-Dr

Router(config-controller)#no dead-reckoning nmea udp 192.0.2.163 192.0.2.240 11111
NMEA UDP Socket is disabled successfully.

Router(config-controller)#no dead-reckoning enable
Info:  GPS/DR feature disabled successfully

Router(config-controller)#end

Verify the status:

Router#show platform hardware gps detail
GPS Feature =  disabled
GPS Status =  GPS mode not enabled

Router#show platform hardware gps status
GPS Feature =  disabled
GPS Status =  GPS mode not enabled

Router# show platform hardware gps mode
GPS Feature =  disabled
Router#

Router# show platform hardware gps dead-reckoning
=============================
GPS/DR Vendor Info:
GPS/DR module FW Version:
DR Calibration Status:
  DR is not calibrated
  Odometer is not calibrated
  Gain is not calibrated
  Offset is not calibrated

CAN Bus Status:
  CAN Bus Tx Count: 0
  CAN Bus Tx error Count: 0

  CAN Bus Rx Count: 0
  CAN NULL packet Bus RX Count: 0
  CAN Bus Rx unsupported packet Count: 0

  CAN Bus TX to DR Count: 0
  CAN Bus TX to DR error Count: 0

DR data:
  DR Sample TimeStamp in usec: 0
  DR odometer count received from module: 0
  DR odometer count sent to module: 0
  DR odometer is not valid from module
  DR odometer delta count from module: 0
  DR reverse status: 0

DR in use for location fix: No
time duration for loss of line of sight:
travel distance for loss of line of sight:
travel heading error at exit:
travel yaw error at exit:
travel gyro gain error at exit:
position error at exit:
position error ratio at exit:
position noise error at exit:
Raw Accel Data in X:  0
Raw Accel Data in Y:  0
Raw Accel Data in Z:  0
Raw Gyro Data in X:  0
Raw Gyro Data in Y:  0
Raw Gyro Data in Z:  0
Router#

NMEA UDP Configuration with Yang

The Yang Model can be used to enable the feature in the same way as the command line. The same rules apply:

In order to configure NMEA UDP socket support, you must enable the dead reckoning feature first, and then configure the NMEA UDP socket support. In order to disable NMEA UDP socket support, you must disable NMEA UDP socket support first, and then disable the dead reckoning feature.

Enable Dead Reckoning:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <enable/>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

Enable UDP Socket:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <nmea>
                <udp>
                  <source-address>172.27.169.162</source-address>
                  <destination-address>172.27.169.140</destination-address>
                  <destination-port>11111</destination-port>
                </udp>
              </nmea>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

Get Status:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <get>
    <filter>
      <gnss-dr-oper-data xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-gnss-dr-oper">
        <gnss-dr-data/>
      </gnss-dr-oper-data>
    </filter>
  </get>
</rpc>

Delete UDP Socket:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <nmea>
                <udp xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="delete">
                  <source-address>172.27.169.162</source-address>
                  <destination-address>172.27.169.240</destination-address>
                  <destination-port>11111</destination-port>
                </udp>
              </nmea>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

Delete Dead Reckoning Configuration:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <enable xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="delete"/>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

Yang Data Model Support

Controller yang model is present under Cisco-IOS-XE-controller - Cisco-IOS-XE-native:

The following is an XML example to enable the GPS-Dead Reckoning feature:


<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <enable/>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

The following is an XML example to disable the GPS-Dead Reckoning feature:


<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
        <controller>
          <Gps-Dr xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-controller">
            <dead-reckoning>
              <enable xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="delete"/>
            </dead-reckoning>
          </Gps-Dr>
        </controller>
      </native>
    </config>
  </edit-config>
</rpc>

GPS-Dead Reckoning oper commands are present under Cisco-IOS-XE-gnss-dr-oper model:

The following is an example of the XML for the oper command yang model of GPS-Dead Reckoning:


<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <get>
    <filter>
      <gnss-dr-oper-data xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-gnss-dr-oper">
        <gnss-dr-data/>
      </gnss-dr-oper-data>
    </filter>
  </get>
</rpc>

YANG operational and configuration data support will be provided for the previously mentioned CLIs as well.

The YANG model will allow the user to configure the UDP socket (ip address, UDP port etc, under XE-controller), as well as display the operational status of this feature (under XE-gnss-dr-oper), via YANG application software.

Example: Connecting to a Server Hosting a GPS Application

You can feed the NMEA data to a remote server that hosts the GPS application. The server can be connected to the router either directly using an Ethernet cable or through a LAN or WAN network. If the application supports serial port, run a serial port emulation program to create a virtual serial port over the LAN or WAN connection.


Note


Microsoft Streets & Trips is a licensed software that you can download from the Microsoft website.

To connect a Cisco 4G LTE-Advanced through IP to a PC running Microsoft Streets & Trips, perform the following steps:

  1. Connect the PC to the router using an Ethernet cable.

  2. nsure that the PC and router can ping.

  3. Launch the serial port redirector on the PC.

  4. Create a virtual serial port that connects to the NMEA port on the router.

  5. Launch Microsoft Streets & Trips on your PC.

  6. Select the GPS Menu.

  7. Click Start Tracking.

  8. If you have acquired a location fix from the show cellular 0/3/0 gps command output on the router, the current location is plotted on the graph, and a reddish brown dotted cursor with a circle around it is seen on the map.


Note


If you have not acquired a location fix, the Microsoft application times out and disconnects.

GNSS Support on the GPS/Dead Reckoning Module (IRM-GNSS-ADR)

Prior to the Cisco IOS XE 17.11.1a release, the only GNSS constellation supported was GPS. This release introduces support for GPS and Galileo.


Note


Only ONE constellation can be enabled at a time.

There are new CLI options available to support the new constellation:

Configuration Commands:

(config-controller)# controller gps
<no> dead-reckoning constellation <gps | galileo |gnss >

Note


The default setting is gps mode. The new galileo and gnss options in the above CLI example is used to configure Galileo and Multiple/Simultaneous GNSS (GPS + Galileo etc) respectively.

Show Commands

show platform hardware gps <mode | status | details>
....
Current Constellation Configured =  gps | galileo | gnss
....

Any changes made to the configuration will require the router to be rebooted.

More information is available in the Configuring GPS chapter of the IR1800 Software Configuration Guide.

Galileo Support on the LTE Pluggable Modules

With Cisco IOS XE 17.11.1a and earlier, the only GNSS constellation supported was GPS. This release introduces support for Galileo.


Note


Only ONE constellation can be enabled at a time.

There are new CLI options available to support the new constellation:

Configuration Commands

config# controller cellular <slot/port>
(config-controller)# <no> lte gps constellation <gps | galileo | gnss >

Example:

(config-controller)#lte gps constellation ?
  galileo  select Galileo as active constellation
  gps      select GPS as active constellation
  gnss      select multiple GNSS as active constellation

Note


The default setting is gps mode.

The new galileo and gnss options in the above CLI are used to configure Galileo and Multiple/Simultaneous GNSS (GPS + Galileo etc) respectively.

If you disable the GPS configuration, ensure there is no constellation configured, consistent with GPS mode configuration. For example:

config# controller Cellular 0/1/0
(config-controller)# no lte gps constellation gps

Show Commands

The following example shows the current GNSS constellation as Galileo:

#show cellular 0/1/0 gps detail
GPS Feature =  enabled
GPS Mode Configured =  standalone
Current Constellation Configured =  galileo | gps | gnss
GPS Port Selected =  Dedicated GPS port
GPS Status =  GPS acquiring

Any changes made to the configuration will require the router to be rebooted.

More information is available in the Cellular Pluggable Interface Module Configuration Guide.

Access Accelerometer and Gyro Sensor Data from IRM-GNSS

This feature allows accelerometer and gyro sensor data from IRM-GNSS (GPS DR) module to be streamed to the IOX via a TTY in IR1800. Prior to this release, the IRM-GNSS module pushed the sensor data to the host in NMEA via port /dev/ttyS2. Previous IOS XE releases already parsed and cached the data.

The feature will forward the sensor data to IOX via the TTY whenever the data is received from the NMEA. Currently, there is no control on the frequency the data is sent from the module, which totally relies on the module itself.

There are no new commands for this feature. It is enabled by default once dead reckoning is enabled. Existing CLIs can be used to view the sensor data, for example:

Router# show platform hardware gps dead-reckoning

DR Vehicle interface mode: OBDDII
GPS/DR Vendor Info: TELIT
GPS/DR module FW Version: V33-1.0.5-CLDR-4.7.10-N115R115-003291-3
…
Raw Accel Data in X:  -542
Raw Accel Data in Y:  538
Raw Accel Data in Z:  16964
Raw Gyro Data in X:  153
Raw Gyro Data in Y:  -80
Raw Gyro Data in Z:  99

The existing debug platform hardware gps dead-reckoning command has been enhanced to provide additional debug messages for better serviceability. The debug messages will cover the following:

  • How frequent the sensor data are pushed from the module to IOS, it must at least once per second.

  • The latest sensor data received from the module.

Change in Vendor for GNSS Module

This feature applies to the IR1833 and IR1835 only. There was a change in chip manufacturers on the IRM-GNSS-ADR pluggable module. There have been no changes in functionality, however you will see a change in the display of vendor information and firmware version.

See the following example:

Router#show platform hardware gps dead-reckoning
DR Vehicle interface mode: OBDDII
GPS/DR Vendor Info: VIC3DA
GPS/DR module FW Version: 4.6.18.11
DR Calibration Status:
DR is not calibrated
Odometer is not calibrated
Gain is not calibrated
Offset is not calibrated

CAN Bus Status:
CAN Bus Tx Count: 11
CAN Bus Tx error Count: 150930

IOX Access to IR1800 On-board Accelerometer and Gyroscope

This feature allows on-board accelerometer and gyroscope sensor data to be streamed to IOX via a TTY. This feature is disabled by default, and will keep feature parity with IR829 accelerometer and gyroscope sensor data feature. The CLIs for this feature are defined below.

Configuration Commands

The following commands are available:

Router(config)#acc-gyro ?
  enable     Enable
  frequency  Frequency in reading
Router(config)#acc-gyro freq ?
  four/sec  Reading 4 times per second
  one/min   Reading 1 times per minute
  one/sec   Reading 1 time per second (default value)
  ten/min   Reading 10 times per minute

Show Commands

The following command is available:

Router# show platform hardware acc-gyro sensor-data

Date                Time   G-X     G-Y     G-Z    XL-X    XL-Y   XL-Z
2022:10:26:16:58:13.855143 1137.50 -297.50 621.25 -18.056 -3.111 -966.057 
2022:10:26:16:58:14.863668 1058.75 -122.50 735.00 -17.629 -2.989 -965.996 
2022:10:26:16:58:15.869117 1207.50 -140.00 726.25 -18.361 -3.294 -965.813 
2022:10:26:16:58:16.874036 1268.75 -192.50 717.50 -18.178 -3.050 -965.874 
2022:10:26:16:58:17.884764 1163.75 -420.00 717.50 -18.056 -2.989 -965.813 
2022:10:26:16:58:18.894063 1347.50 -148.75 708.75 -18.117 -3.477 -965.935 
2022:10:26:16:58:19.900830 1137.50 -315.00 577.50 -18.239 -3.599 -965.935 
2022:10:26:16:58:20.908765 1137.50 -131.25 726.25 -17.873 -3.538 -965.813 
2022:10:26:16:58:21.916674 1137.50 -262.50 726.25 -18.361 -2.867 -965.935 
2022:10:26:16:58:22.927371 1137.50 -323.75 516.25 -17.934 -3.477 -965.569 
2022:10:26:16:58:23.934275 1120.00 -647.50 516.25 -18.361 -3.416 -965.752 
2022:10:26:16:58:24.940819 1111.25 -262.50 743.75 -18.422 -2.989 -965.386 
2022:10:26:16:58:25.947471 1190.00 -201.25 673.75 -17.995 -3.416 -966.057 
2022:10:26:16:58:26.953120 1093.75 -288.75 577.50 -17.995 -3.233 -965.874 
2022:10:26:16:58:27.961469 1137.50 -428.75 551.25 -18.117 -2.745 -965.996 
2022:10:26:16:58:28.971354 1050.00 -271.25 717.50 -18.361 -3.233 -965.508 
2022:10:26:16:58:29.981967 1172.50 78.75 840.00 -18.117 -3.538 -965.386 

Other

The existing debug hardware acc-gyro sensor-data command has been enhanced to provide additional debug messages for better serviceability. The debug messages will cover the following:

  • How frequent the sensor data are pushed from the module to IOS, it must at least once per second.

  • The latest sensor data received from the module.