Network Utility

The RetailNext Network Utility, or netutil, is a tool you can use to discover RetailNext sensors on a store network, and check whether the network is correctly configured for those sensors to be able to talk to the RetailNext cloud.

The sensors could be RetailNext Auroras or Store Appliances; traffic counters from Xovis or Brickstream; IP cameras from Axis; etc.

netutil is meant to be run on a Windows, Mac, or Linux laptop, PC, or server connected to the same store network as the devices.

Installing

Click on the appropriate link below to download the tool onto your laptop. To install it, simply unzip the downloaded .zip file into a folder of your choice.

Running

To run the tool, double-click on it in Windows Explorer or Mac Finder.

You can also open a Windows Command Prompt or Mac Terminal and run the tool from the command-line.

On newer Macs, you may get a "netutil is damaged and can't be opened" error if you try to run netutil by double-clicking it in Finder. See the Troubleshooting section below for ways to fix this.

Testing the Network

Use netutil as directed below to confirm that the store network is configured correctly for sensors to talk to the RetailNext cloud.

Step 1. Select “Test network”

Run netutil, ensure that the Test network option is selected, and hit ENTER.

Step 2. Select sensor type

Use the up/down arrow keys on your keyboard to select the appropriate sensor type and hit ENTER. For example, if you want to verify that the store network is configured correctly for Xovis sensors, use the down arrow key to select the "Xovis" option then hit ENTER.

Step 3. Select network type

Next, use the up/down arrow keys again to select the store network type, either DHCP or Static IP, and hit ENTER.

Step 4. Specify DNS server (for Static IP only)

If you specified static IP as the network type, you will be prompted to enter the DNS server IP address. Specify the exact same DNS server here that is used by the sensors in the store.

This step is skipped if you specified a DHCP network type, as this information is provided by the DHCP server.

Step 5. Specify NTP server (for Xovis or Brickstream only)

If you specified either Xovis or Brickstream as the sensor type, you will be prompted to enter the NTP server information (hostname or IP address). Specify the exact same NTP server here that is used by the sensors in the store.

Step 6. Specify Remote Manager (for Xovis or Brickstream only)

If you specified either Xovis or Brickstream as the sensor type, you will be prompted to enter the Remote Manager IP address. Specify the exact same Remote Manager here that is used by the sensors in the store.

Step 7. Review instructions and initiate tests

Network Utility will now display some instructions before initiating the tests. Carefully review these instructions. If you need to make any changes to comply, hit Ctrl+C or close the window to exit the tool, then make the necessary changes and re-run the tool.

If you are ready to run the tests, hit ENTER.

You may get a warning from your PC's firewall (e.g. Windows Defender) during the test. Click on "Allow" to enable netutil to correctly perform its tests.

Step 8. Review results

Ensure that all of the tests have passed with a green OK.

If any of the tests show a red FAIL, there is an issue with the store network that may affect the proper functioning of sensors. Please address all reported issues and then re-run the tool to confirm that they have all been resolved.

Discovering Devices

Use netutil as directed below to discover sensors on the store network.

Step 1. Select “Discover devices”

Run netutil, use the up/down arrow keys to select the Discover devices option, and hit ENTER.

Step 2. Review results

Once the discovery process is complete, netutil will list all discovered devices, sorted by Vendor, then Model, then IP address. The device serial # is displayed, if available. If the device has an additional/secondary IP address (usually a link-local address), that is displayed as well.

Details of Network Tests

Details of the network tests run by Network Utility are provided below for reference.

1. DHCP test

This test ensures that a sensor set to DHCP will be able to obtain an IP address as well as the DNS server's IP via the local DHCP server. The test is skipped if you select the Static IP option.

netutil binds to UDP port 68 on your PC and broadcasts a DHCPDISCOVER request to UDP port 67 on the broadcast IP address (255.255.255.255). It then waits a few seconds for a matching DHCPOFFER response back from a DHCP server. If a response is received, netutil confirms that it contains a DNS server IP.

On Mac and Linux PCs, netutil requires root access to run the DHCP test as port 68 is a "privileged" port on Unix-like systems. You do not, however, need to run netutil as root as it will automatically try to acquire root access using sudo, and if that fails, then su.

2. DNS test

This test ensures that the sensors will be able to resolve the cloud endpoint to an IP using the DNS server supplied by the local DHCP server (or the user, if using Static IP).

  • Aurora: netutil queries the DNS server for A records for ring01.sensorcore.ops.retailnext.net. It then confirms that the IP in the returned A record matches the cloud Aurora endpoint IP 104.154.145.235.

  • Xovis/Brickstream: netutil queries the DNS server for A records for demo.camera.ops.retailnext.net. It then confirms that the IP in the returned A record matches the cloud Xovis/Brickstream endpoint IP 35.244.170.41.

3. NTP test

This test ensures that the sensors will be able to properly synchronize time using the configured NTP server.

  • Aurora: This test is not performed for Auroras as they use the RetailNext Cloud for time synchronization and hence do not require an NTP server.

  • Xovis/Brickstream: netutil queries the specified NTP server for time information and also performs some additional validation on the NTP server response.

4. Endpoint test

This test ensures that the sensors will be able to connect to and communicate with the RetailNext cloud endpoints.

  • Aurora: netutil connects to TCP port 8278 on each of the cloud endpoint IPs listed under the "Aurora" section in the Network Requirements document.

  • Xovis/Brickstream: netutil connects to TCP port 443 on each of the cloud endpoint IPs listed under the "Stereo Sensors" section in the Network Requirements document.

5. Remote manager test

This test ensures that the sensors will be able to connect to and communicate with their respective remote management application.

  • Aurora: This test is not performed for Auroras as they use the RetailNext Cloud for remote management.

  • Xovis: netutil connects to TCP port 443 on the specified remote manager IP.

  • Brickstream: netutil connects to TCP port 2375 on the specified remote manager IP. The default IP is 35.239.184.87.

Details of Device Discovery

Details of the discovery methods used by Network Utility are provided below for reference.

1. mDNS/DNS-SD discovery

netutil issues a DNS PTR query for _retailnext._tcp.local. and _axis-video._tcp.local. to the mDNS multicast addresses 224.0.0.251:5353(IPv4) and ff02::fb:5353(IPv6). Any RetailNext Auroras and Appliances, as well as Axis IP cameras, on the local network will respond to this query, assuming mDNS/DNS-SD has not been disabled on them.

2. UPnP discovery

netutil issues a UPnP "ssdp:discover"query for the search target ssdp:all. All devices on the local network that support UPnP discovery will respond to this query. This includes RetailNext Auroras and Appliances; IP cameras from Axis, Vivotek, etc; and all sorts of other devices.

3. Ping sweep

netutil issues ICMP pings (echo requests) to all possible IP addresses on the local network. To any device that responds to the ping, an HTTP GET is issued for /api/info to see whether it is a Xovis sensor and if so, to obtain more information about it.

Note that to avoid flooding the network, netutil will not ping more than 2048 IP addresses. This means that some Xovis sensors may get missed on networks larger than /21 (subnet mask 255.255.248.0), i.e. those that can have more than 211 hosts.

Troubleshooting

I get an error on my Mac that netutil is “damaged and can't be opened" or that it “can’t be opened because it is from an unidentified developer”

This is due to Apple's "File Quarantine" feature for applications downloaded via a browser. To fix this, instead of double-clicking on netutil in Finder, right-click on netutil and select Open. In the confirmation dialog, click on Open.