Running SNIP for the very first time

When SNIP runs for the first time on a new machine, it presents the user with a large amount of log detail which may be confusing for the first time user.  This entry serves to sort out the major sections of the log during the start up phase and give a new user a sense of context.  At the end of this article are some key steps you will want to take to configure SNIP to meet your own unique needs.

Once SNIP is set up, most of these messages become routine and can be filtered from view with SNIPs extensive console filtering controls.  At a high level, blue messages are good, while red ones are bad.  Green messages are generally informational or hints.  As a first time new user, you are presented with a number of Hints  regarding how you might want to control SNIP.  These appear periodically when new controls are used, and there is some logic to reduce the rate they are repeated.

On Start Up, License Check

Every time SNIP is started it seeks for the simpleNTRIP.ini file (where all your user settings are kept). If it does not find this file, it creates it and defaults to a new user start up sequence. It also seeks for the license.dat file (where your license rights are kept). If it does not find this file, it presumes a Basic license level for product evaluation and allows one hour of operational use.  It alerts the user of this as shown in the console fragment below.  You need a license file to use SNIP beyond the one hour period. License levels range from the free Lite model with a core set of Caster Features to an Enterprise level server with essentially unlimited connectivity features. The various license levels are described further on this page. Registration is discussed further on this page, evaluate then register.  And please comment on how we can improve SNIP to meet your needs.

Was unable to find license file at location: /license.dat
 Running in UNREGISTERED mode with an operating time limit of 59:59 minutes
 If you have any questions while evaluating SNIP, please see the KB at
 Registration is easy and free and removes this time limit.
 See the menu item: Help -> Registration.

First Time Use

In the next stage of the start up sequence, SNIP sets various filter controls for the log (showing all details) and alerts the new user to this.  Filter controls are covered further in this article.  The current version of the SNIP is also checked; if a new download has been released the user will be alerted.  A few lines are also added to the console to remind the user that further settings values are needed before SNIP can become a Caster on this machine.  [A short list of such steps is provided at the end of this article.]

Console log entries will not be filtered; all entries types will be shown.
     This can become very cluttered, so use of filters and the level is recommended.

Checking for product updates...

 This is the very first time simpleNTRIP has been run on this machine.
 Details such as your server IP and port number need to be set up to allow automatic starting 

 By convention, NTRIP Casters use port 2101 - but you my use any port you wish.
 You will probably want to enable Auto start once you have things setup as well.
 Checkboxes on each major tab allow you to auto start the
 NTRIP Caster itself, the Serial Connections, the Remote Connections
 And in-bound PUSH data from NTRIP Servers

An initial set of connections to one of the SNIP open servers at
 has been started as an example to show the Caster working (see the Relay-Streams tab).
 Try the wizard (under the Control menu) to set up a connection.

You also need to set the IP address for the server to use; valid choices are listed below.
 You can change these settings in the Caster and Clients Tab.

Whenever you close the program the prior settings will be saved and used the next time.

We welcome your feedback on how to make SNIP a better program to meet your needs.
 SNIPs on-line help can be found at: If the KB does not serve, you can reach us by email at

Hello World

At this point the normal SNIP hello world welcome details are presented listing the precise edition of SNIP used.

SNIP, the simple NTRIP Caste
A Caster tool to connect DGPS Reference Stations to NTRIP Clients with multiple modes
Simple NTRIP supports gathering RTCM data streams in serial, tcp/ip, and relay connection modes
And then transmitting these corrections streams to multiple end users (the NTRIP Clients)
- - -
Part of the DGPS tools collection, available at:
User's Guide and Knowledge Base is available at:
Copyright 2010~2016 By SubCarrier Systems Corp. (SCSC), Patents Pending.
Build:   0.9.2   of Jun 24 2016 at 14:06:33 
Forked from the 'Row Jimmy' development code base.
Registered to:    Un Registered
Registered to:     

The registration name above is replaced with the registered user’s name from the license file when that is present. The precise text shown will vary depending on the log threshold setting when the tool is started.

The startup Phase

At this point SNIP will load and start the various major functional sections as follows:

  1. The User Accounts and Client Classes
  2. The Serial Port Data Streams
  3. The  Remote – Relay Data Streams
  4. The PUSH-In NTRIP Caster Data streams
  5. The PUSH-Out NTRIP Caster Data streams
  6. The NEARest NTRIP Caster Data streams
  7. Any Raw TCP/IP Data Ports
  8. The SNIP Caster Itself

Each of these makes several entries in the log and is considered in turn below.  When reviewing the log entries, keep in mind that on a server device many connections and reply events are occurring in odd orders, overlapping with other similar connections.  The console events filter can be very effective at displaying only the events of interest in a given context.

The User Accounts

The list of user accounts is loaded first.  On the initial run there are no such account created to load, so a warning of this is presented. If you plan to run SNIP in an open mode, you will not need to create any accounts.  The process of managing user accounts is discussed further here.  A number of minor settings for items such as how often new data log files will be written for each stream are also displayed. All of these can be changed in various preferences settings.

NOTE: Cannot read client user file: ClientTable.txt:  No such file or directory
    A file will be created when a new user is added.
    New users can be added under the Caster and Clients tab.
NOTE:  The settings currently allow Anonymous access to the caster at this time.
     Hint:    You can change this in the 'Edit Users' dialog (under the Caster-Clients tab)

All filters for entry types reset to default state.
Console log entries are not be filtered; all entry types will be shown.
    This can become very cluttered, so use of filters and the level is recommended.

Opening all prior streams and connections from saved settings...
    All Logs and Data saved to: C:/Program Files (x86)/SNIP_092/SNIP/bin/data/
    File change rate for data log files is set to every 24 hours.
    Log file: C:/Program Files (x86)/SNIP_092/SNIP/bin/data/SNIPlogs/WklyConnections_16_25.csv opened. 

Console Log word wrap mode changed.
Additional details about relay reconnection events will NOT be shown in the console.
If a remote-relay caster stream replies with its table, it will NOT be shown in the console.
NOTE: UDP Socket stream sender (for SAE J2735 DSRC RSU use) is disabled in this build.

Starting Serial Port Data Streams

Because there are no prior serial stream settings in the ini file, and “auto start” is not set, nothing is performed in this step.  This article discusses how to add a serial data stream to SNIP.  Like the other data stream types to follow, the number of simultaneous connections which are allowed with the current license is also mentioned.

Establishing local serial UART slots for up to 15 local base stations...
    ...Done. Started No UART Serial streams from last run.

Note:  Serial stream device setup is often the slowest type of connection to establish during the startup phase. This is because the sequence of setup commands are sent in a single line at a time fashion with delay for each line to allow the device to reply with various messages. A complex setup or tear down can take tens of seconds.

Starting Remote – Relay Data Streams

In this initial run of SNIP there are no serial port connections yet, and incoming PUSH data is disabled, but we do start up with some example remote connections to see it all work.  SNIP starts up on any new machine by connecting to three remote-relay sites, just to show it all working.  The initial sites are selected from the following list taken from the SCSC open casterThis article covers how to “read” a mountPt if the below is unfamiliar to you.

  • : 2101  / SCSC
  • : 2101  / RTCM3EPH
  • : 2101  / AZU1_RTCM3
  • : 2101  / LORS_RTCM3

The three streams chosen are each started with a short note similar to how serial streams are started.

Establishing Remote-Relay Caster slots for up to 100 connections...
   ...Done. Started 3 Relay-Remote Streams from last run (each reports as it comes online).

At the moment the above is presented to the console, the socket connections have started.  A short delay depending on the time needed to translate URLs with DNS into the IP values, and the response time of the remote connection then ensues for these slots.  During this time, SNIP is busy setting up other processes.   In time we get replies from these slots.

[SCSC]:              Connecting [#R01]  to   xx : xx @ 2101 / SCSC at: Tue 04:21:48 PM   
[RTCM3EPH]:   Connecting [#R02]  to   xx : xx @ 2101 / RTCM3EPH at: Tue 04:21:48 PM   
[SCSC]:               Stream SCSC      initial connection, now obtaining data [Slot #R01], at Tue 04:21:48 PM
[RTCM3EPH]:    Stream RTCM3EPH      initial connection, now obtaining data [Slot #R02], at Tue 04:21:48 PM
[SCSC]:                   Log file: C:/xxx/data/SCSC_160628.rtcm opened. 
[RTCM3EPH]:        Log file: C:/xxx/data/RTCM3EPH_160628.rtcm opened. 
[LORS_RTCM3]:  Connecting [#R00]  to   xx : xx @ 2101 / LORS_RTCM3 at: Tue 04:21:51 PM   
[LORS_RTCM3]:  Stream LORS_RTCM3      initial connection, now obtaining data [Slot #R00], at Tue 04:21:51 PM
[LORS_RTCM3]:    Log file: C:/xxx/data/LORS_RTCM3_160628.rtcm opened.
In the above we see the connections start, received it initial data stream, and open a logging file to keep that stream.  [New data streams are logged by default, but a right-click menu can disable this]

This article discusses how to change the remote-relay stream to the connections you need.

Starting PUSH-In NTRIP Caster Data streams

In the initial run of SNIP no PUSH-IN data is allowed to connect from external sources.  You must enable this ability and set a suitable password for connections to occur.  This article describes how to set up PUSH data streams. PUSH streams never in fact connect “at startup” – rather the ability for the other party to connect is enabled. The remote data sender must then attempt to connect. Many NTRIP Casters will attempt to reconnect every X seconds, while some others do not. Check with your device vendor.

Automatic re-connect of Pushed Caster data sources (up to 50) is Disabled at present.
    Hint:    Set the 'Auto Start' check box in the Pushed Streams tab to enable this.
    ...Done. (PUSH ready, but auto-connect is turned off)

Starting PUSH-Out Caster Data streams

In the initial run of SNIP no PUSH-OUT data is allowed.  You must enable this ability and set up the detail before this function will run.  See this article for more details.  The use of the PUSH-OUT ability is to allow you to send you SNIP data feed to another Caster device.

Starting NEARest Caster Data Streams

In the initial run of SNIP no NEAR type data streams are allowed.  You must enable this ability and set up the detail before this function will run.  See this article for more details.  The use of the NEARest ability is to allow you to have one mountPt which will automatically connect your NTRIP Clients to the closest data stream to their location.

Starting Raw TCP/IP Caster Data Streams

In the initial run of SNIP no RAW TCP/IP data streams are allowed.  You must enable this ability and set up the detail before this function will run.  See this article for more details.  The use of this ability is to support older GNSS equipment which does not provide NTRIP abilities.  You can use a RAW TCP/IP data stream to connect such devices into your SNIP network.

Starting the SNIP Caster Itself

In the normal course of startup, if SNIP reaches this stage and no abnormal negative events have occurred, SNIP may then start the Caster and enter an active state if you have also enabled the “Auto start” check-box.  In the initial run the caster will be started at localhost.   As a first step, the various IP addresses found on the machine will be listed as an aid to determine what address SNIP should use.   In order to enable the caster you must enter the IP and Port number where SNIP will listen for incoming connections.  In general you will want to enable the “Auto start” check-box so that SNIP can restart unattended should the host machine ever lose power.   Further instructions are provided in this article.

Listing all the local address(es) for this machine (connect the caster to one of these)
Opening socket using:
Caster: Was Started, - Now Listening on IP:    Port:2101    at Tue June 28 2016, 04:21:48PM (local machine time)
    Waiting for inbound NTCIP client connections...

You will also see the first words of the status line at the very bottom of the window change to “Listening” to reflect this state. The status line is updated as conditions change, reflecting counts of users, data served, and operational up times.

It is very likely that any firewall software you have will take offense that SNIP is attempting to open localhost port 2101 at this moment.  Allow SNIP to open the socket. In extreme cases you may have to restart SNIP and run a 2nd time once this permission is enabled.  We recommend you make this a permanent permission, rather than allow it only once, so that SNIP can restart unattended after any power loss.

As Users Start to Connect

When the SNIP Caster is active the machine then waits for incoming NTRIP Client connections.  These are either regular users or (if enabled) NTRIP Severs who PUSH data to the Caster.  Every few seconds the state of the overall caster and the various data streams is updated in the active tabs and various details dialogs.  It should be noted that these visual updates occur at a variable rate depending on caster and processing loads, anywhere for ~300mS to every 2 seconds after the clients are serviced.

When each incoming NTRIP Client connection occurs, the log will note this (if client connections have not been filtered) with lines like:

[SCSC02]:  Client #C03 [] Connected to SCSC02 at 02:55:51 PM (local)

In this case the 3rd client connection since this copy of SNIP was started (who is connecting from the IP asked for (and got) a connection to a mountPt stream called “SCSC02” at 2:55 local time (not UTC time).  A variety of issues can go wrong when clients connect.  The knowledge base contains several articles with advice on how to debug such events. This one and this one are often the best to review when you first experience a Client who cannot connect to your SNIP installation.

Next Steps in Setting up your SNIP Caster

The items below may need to be addressed before your SNIP installation is fully functional. Many installations do not use all the different connection types (remote-relay, push-in, serial, etc.).  Some “open” installations do not require user accounts.  Some installations are used as FTP data loggers and do not serve data to clients.  Connect only the services you require to get started.  You can of course change these details at any time.

We also recommend that you look at the high level tour article that outlines SNIPs various functional tabs.

Startup with minor event reporting disabled

While is is often useful to allow the minor log details to be displayed, the judicious use of the Log Threshold to control what is displayed should again be stressed.  When SNIP starts with the threshold set to “Major (terse)” then the resulting startup sections of the log are fairly simple and more readable as seen in the example below.

SNIP, the simple NTRIP Caster
 Copyright 2010~2017 By SubCarrier Systems Corp. (SCSC), Patents Issued & Pending.
 Build:   1.11.3    of Sep 07 2017 at 17:02:20
 NOTE:  The settings currently allow Anonymous access to the caster by NTRIP Clients at this time.
 NOTE: Your SNIP license key has just been re-validated.
 Establishing Serial UART slots for local base stations...
       UART Serial ...Done. (Devices are now active)   [using 2 slots, 37 remain]
 Establishing Remote-Relay Caster slot connections...
       Relay-Remote ...Done. (Each will now come on-line at its own rate)   [using 2 slots, 35 remain]
 Establishing PUSH-In NTRIP Servers slot connections...
       PUSH-In Setup. ...Done. (Now awaiting inbound connections to occur)   [using No slots, 35 remain]
 Establishing PUSH-Out NTRIP Servers slot connections...
       PUSH-Out Setup. ...Done. (Connections will start as source data arrives)   [using No slots, 35 remain]
 Establishing Nearest RTCM mountPt stream functions to use current streams... (starts as streams become stable)
       NEARest Setup. ...Done. Awaiting streams to be stable.   [using No slots, 35 remain]
 Establishing RAW TCP/IP stream functions... (starts as connections occur)
       RAW TCP/IP ...Done. Awaiting connections to occur.   [using 1 slot, 34 remain]
 Caster: Was Started, - Now Listening on IP:    Port:2101    at Fri September 08 2017, 02:33:31PM (local machine time)

Keep in mind that the log itself has all prior entries spanning the past 5,000 events.  You can re-display the log with more or less content displayed as required.  Entries are not lost by doing this.


On SNIP Shutdown

When SNIP is shutting down a similar process is used to stop all services and gracefully disconnect all users.  Shutdown can take tens of seconds to complete if many files and streams are open.  Typically, this is also due to the need to send final command sequences to any serial port devices.

This article has reviewed the console log entries that occur when SNIP is first run on a new machine.  As a side effect many of the more common topics needed to operate SNIP have been introduced with links to supporting articles.


Download your own copy of SNIP today


Was this article helpful?

Related Articles