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.
Current Release
RetailNext Network Utility 3.5.2.
INFO[0000] root.go:60 Build date: 20241121.192707, Git rev: 6866cac
Download
3.5.2
3.5.0
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 cloud type
Use the up/down arrow keys on your keyboard to select the appropriate cloud type and hit ENTER. For example, if you want to verify that the store network is configured correctly for accessing the China cloud servers, use the down arrow key to select the "China Cloud" option then hit ENTER.
Step 3. Select sensor type
Next, use the up/down arrow keys to select the sensor type you would like to test and hit ENTER. In this example. we will be testing for an Aurora sensor. Tests for Xovis and Brickstream will require additional input as outlined in Step 6 and Step 7.
Step 4. Select network type
Use the up/down arrow keys once more to select the store network type, either DHCP or Static IP, and hit ENTER.
Step 5. 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 6. 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 7. 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 8. 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 9. 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 IP104.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 IP35.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 is35.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.