Network Device Configurator Options for cRIO-9805, FieldDAQ, and TSN-enabled cDAQ Devices

Overview

NI Product R&D designed an application with additional functionality to align with network environments managed by enterprise customers. IT teams can use the application with FieldDAQ, cDAQ-9189, cDAQ-9185, and cRIO-9805 without installing the NI software suite. 

Contents

Software Requirements

FieldDAQ, cDAQ-9185, cDAQ-9189, or cRIO-9805 firmware version 20.0 or later 

Network Device Configurator Overview

The software attached to this document (see Downloads below) is a program that allows you to some simple configuration on a FieldDAQ, cDAQ-9185, cDAQ-9189, or cRIO-9805 device:


This application uses MDNS to discover FieldDAQ, cDAQ-9185, cDAQ-9189, or cRIO-9805 devices on your subnet. The cDAQ, FieldDAQ, and cRIO XMC devices implement a minimal NETCONF server for advanced network configuration. The application opens a NETCONF connection that modifies the datastore on the device to add or remove RSTP capability, update administrator password, and query device information. This application is the supported solution for performing this operation, but any NETCONF client or API can alter the setting. 

The Rapid Spanning Tree Protocol (RSTP), also known as 802.1Q, is a protocol that uses bridge protocol data units to detect bridge loops in a network. Because FieldDAQ, cDAQ-9189, cDAQ-9185, and cRIO-9805 devices have an integrated switch, they may use RSTP to detect redundant connections to a network. A redundant connection allows devices to manage their Ethernet traffic more efficiently. Redundant connections may appear in a ring topology or a star topology. Starting with firmware version 19.5, RSTP can be enabled or disabled on these targets using the application attached to this document.  

Packets transmitted by RSTP are known as Bridge Protocol Data Units (BPDU). Some network features, such as BPDU guard, block these packets and sever the network connection to the device sending them. If a FieldDAQ, cDAQ-9189, cDAQ-9185, or cRIO-9805 device has RSTP enabled and a network does not allow BPDU packets, the device may appear to have no network connectivity despite being plugged in with a known working cable.

Using the Network Device Configurator

The Network Device Configurator is a command line utility called network_dev_config.exe. The utility has several different arguments to perform different operations on the networked devices. To use the utility:

  1. Download the utility attached to the page and extract the contents into the desired file location.
  2. Open your PC’s command line interface and navigate to the directory where you have unzipped the tool named network_dev_config.exe.
    a. On Windows, type “cmd.exe” into the Windows search bar and hit enter to open the Command Prompt.
    b. Use the command cd <File Directory>, where <File Directory> is the path to the folder containing the tool.
  3. Enter one of the commands listed in the next section with the appropriate arguments for your device and desired behavior, or enter network_dev_config.exe --help for details on the arguments available.

Network Device Configurator Commands

The following are the command line argument combinations that can currently be run with your networked device:

network_dev_config.exe --help

  • Display network_dev_config.exe help documentation
     

network_dev_config.exe –discover –timeout [timeout]

  • This command discovers all the NI switch devices on your subnet
  •  [timeout] is the timeout for the device discovery (optional argument)
     

network_dev_config.exe --username=[username] --password=[password] [hostname] –rstp query

  • This command prints the current startup state of RSTP on the target
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)

For cRIO-9805, the default password is printed on a label on the device.

network_dev_config.exe --username=[username] --password=[password] [hostname] --rstp enable

  • This command enables RSTP on startup. The device must reboot for this change to take effect
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)

For cRIO-9805, the default password is printed on a label on the device.

network_dev_config.exe --username=[username] --password=[password] [hostname] --rstp disable

  • This command disables RSTP on startup. The device must reboot for this change to take effect
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)

For cRIO-9805, the default password is printed on a label on the device.

network_dev_config.exe --username=[username] --password=[password] [hostname] –update_password [new_password]

  • This command updates the administrator password to [new_password]. The effect is immediate. To restore to the default password, a factory reset must be performed on the device.
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)
                    For cRIO-9805, the default password is printed on a label on the device.
  • [new_password] is the updated password provided by the user. Its length must be between 6 and 32 characters.
     

network_dev_config.exe --username=[username] --password=[password] [hostname] –query_device_info

  • This command queries the model name of the device and the version of the firmware running on the device.
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)

For cRIO-9805, the default password is printed on a label on the device.

network_dev_config.exe --username=[username] --password=[password] [hostname] –reset

  • This command resets the device.
  • [hostname] is the hostname or IP address of the device
  • [username] is the username for the device. By default, this value is admin (optional argument)
  • [password] is the password for the device. By default, this value is blank (optional argument)

For cRIO-9805, the default password is printed on a label on the device.

NETCONF Configuration from a Third-Party API or Client

If using a NETCONF client or API is desired, examples of enabling and disabling via NETCONF edit-config operations are given below:

Enable RSTP on startup:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

   <target>

       <startup/> 

   </target>

   <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

      <stp xmlns="http://openconfig.net/yang/spanning-tree"

           xmlns:oc-stp-types="http://openconfig.net/yang/spanning-tree/types"> 

         <global>

             <config>

                 <enabled-protocol nc:operation="merge">oc-stp-types:RSTP</enabled-protocol>

             </config> 

         </global>

      </stp>

   </config>

</edit-config> 

Disable RSTP on startup:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

   <target> 

       <startup/>

   </target>

   <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

      <stp xmlns="http://openconfig.net/yang/spanning-tree

           xmlns:oc-stp-types="http://openconfig.net/yang/spanning-tree/types">

         <global>

             <config>

                 <enabled-protocol nc:operation="merge">oc-stp-types:RSTP</enabled-protocol> 

             </config>

         </global>

      </stp>

   </config> 

</edit-config>

Changing password:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

   <target>

       <running/> 

   </target>

   <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"

           xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

      <system xmlns="urn:ietf:params:xml:ns:yang:ietf-system"> 

         <authentication>

            <user>

               <name>admin</name>

               <password nc:operation="merge">$0$[new_password]</password> 

            </user>

         </authentication>

      </system>

   </config> 

Reset device:

<sys:system-restart xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-system"/>