Gps
These scenarios check the basic GPS functions operate correctly.
Test GPS Service Client
Description
For this scenario, you need a server and a client. This scenario checks that the server can recieve internal connections as well as external connections. This is because service geofecing acts as an internal client. Default port is 2947 but for this case, port 2948 will be use.
Scenario
Step 1: Set the following configuration in DUT0 :
set controllers gps gps0 set interfaces ethernet eth2 address 10.0.0.1/24 set service gps gps0 log-level emerg set service gps gps0 source gps0 set service gps gps0 tcp-enable set service gps gps0 tcp-port 2948 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces ethernet eth0 address 10.0.0.2/24 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Run the command monitor test connection client 127.0.0.1 2948 tcp on DUT0.
Write ?WATCH={"enable":true,"json":false, "nmea": true} on the monitor session previously started at DUT0.
Step 4: Read data from a monitoring session on DUT0 and check whether the data matches the following regular expressions:
\$GPRMC,(\d{6}.\d{3}),(A|V),(\d{4,5}\.\d+),(N|S),(\d{5,6}\.\d+),(E|W),([\d\.]*),([\d\.]*),(\d{6}),([^,]*),([^,]*),([A-Z])\*[0-9A-F]{2}Show output
?WATCH={"enable":true,"json":false, "nmea": true} {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14} {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/pts/1","driver":"NMEA0183","activated":"2026-05-14T16:08:12.517Z","flags":1,"native":0,"bps":115200,"parity":"N","stopbits":1,"cycle":1.00}]} {"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false} $GPRMC,120005.000,A,4035.9483,N,00342.9733,W,0.7,0.0,030325,,,A*75
Step 5: Run the command monitor test connection client 10.0.0.1 2948 tcp on DUT1.
Write ?WATCH={"enable":true,"json":false, "nmea": true} on the monitor session previously started at DUT1.
Step 6: Read data from a monitoring session on DUT1 and check whether the data matches the following regular expressions:
\$GPRMC,(\d{6}.\d{3}),(A|V),(\d{4,5}\.\d+),(N|S),(\d{5,6}\.\d+),(E|W),([\d\.]*),([\d\.]*),(\d{6}),([^,]*),([^,]*),([A-Z])\*[0-9A-F]{2}Show output
?WATCH={"enable":true,"json":false, "nmea": true} {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14} {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/pts/1","driver":"NMEA0183","activated":"2026-05-14T16:08:12.718Z","flags":1,"native":0,"bps":115200,"parity":"N","stopbits":1,"cycle":1.00}]} {"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false} $GPGLL,4035.9483,N,00342.9733,W,120005.000,A,A*42 $PQSOL,1,2025,3,3,15,18,0,520700,2356,141498000,2,40599139,-3716222,81342,81342,37,-10,0,38,7086,-66,34,0,0,0,18126,4800,9939,897,601,912,10,10,10,0,0,0*53 $GPGGA,120006.000,4035.8483,N,00342.8983,W,1,08,1.2,650.0,M,50.0,M,,*4C $GPRMC,120006.000,A,4035.8483,N,00342.8983,W,0.7,0.0,030325,,,A*73
Test GPS Service Position
Description
For this scenario, you just need a server. This scenario checks that operational command service gps gps0 position works as expected.
Scenario
Step 1: Set the following configuration in DUT0 :
set controllers gps gps0 set interfaces ethernet eth2 address 10.0.0.1/24 set service gps gps0 log-level emerg set service gps gps0 source gps0 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Run the command service gps gps0 position on DUT0 and check whether the output matches the following regular expressions:
Latitude: \d{1,2}°\d{1,2}'\d{1,2}\.\d{1,2}"(N|S) Longitude: \d{1,2}°\d{1,2}'\d{1,2}\.\d{1,2}"(W|E)Show output
Latitude: 40°35'56.90"N Longitude: 3°42'58.40"W
Test GPS Service TCP Status
Description
For this scenario, you need a server and an external client. This scenario checks that operational command service gps gps0 tcp status works as expected.
Scenario
Step 1: Set the following configuration in DUT0 :
set controllers gps gps0 set interfaces ethernet eth2 address 10.0.0.1/24 set service gps gps0 log-level emerg set service gps gps0 source gps0 set service gps gps0 tcp-enable set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces ethernet eth0 address 10.0.0.2/24 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Run the command monitor test connection client 10.0.0.1 2947 tcp on DUT1.
Write ?WATCH={"enable":true,"json":false, "nmea": true} on the monitor session previously started at DUT1.
Step 4: Run the command service gps gps0 status tcp on DUT0 and check whether the output matches the following regular expressions:
\s+TCP Client: \d+\n\s+IP Addr:10.0.0.2\n\s+Port:\d+Show output
Remote GPS state for instance gps0: OPEN port:2947 TCP Client: 1 IP Addr:127.0.0.1 Port:51870 TCP Client: 2 IP Addr:10.0.0.2 Port:42632
Test GPS Service Synchronize Clock
Description
For this scenario, you need a just a server. This scenario verifies that the system clock is correctly synchronized with the data provided by GPS data.
Scenario
Step 1: Set the following configuration in DUT0 :
set controllers gps gps0 set interfaces ethernet eth2 address 10.0.0.1/24 set service gps gps0 log-level emerg set service gps gps0 source gps0 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Run the command set date gps gps0 on DUT0 and check whether the output contains the following tokens:
Date updated succefullyShow output
Date updated succefully
Step 3: Run the command show date on DUT0 and expect the following output:
Show output
Mon 03 Mar 2025 12:00:05 +00:00