How Can I Upgrade the Firmware on my C Series XNET Device in a CompactRIO?

Updated Dec 17, 2018

Reported In


  • NI-9862
  • NI-9860
  • CAN Interface Device


  • LabVIEW FPGA Module
  • Measurement & Automation Explorer (MAX)


  • NI CompactRIO

Issue Details

I have a C Series XNET device in my CompactRIO chassis which is reporting that it needs a firmware update.
  • However, the device does not show up properly in NI MAX and therefore I can't access the option to perform an upgrade.
  • It also might not show up at all in a LabVIEW project, when another C Series XNET module does.
  • When I try to deploy a LabVIEW or VeriStand project, I get an error message –2147220597: The specified firmware was not successfully installed. See the output parameters for more information.
How can I upgrade the firmware for the device?


The C Series XNET modules require a specific configuration to be deployed to the FPGA in order for the cRIO and MAX to access it. The steps to generate and deploy this configuration can be found in the Getting Started with CompactRIO section of the XNET manual.
  1. Ensure all of the proper software is installed.
    1. On the host computer:  LabVIEW, LabVIEW Real-Time, LabVIEW FPGA, NI-RIO, NI-XNET
    2. On the cRIO: NI-XNET
  2. Add modules to the project.
    1. Add the controller to the project and select LabVIEW FPGA Interface as the chassis mode when prompted.    
    2. Add NI-XNET modules by right-clicking the chassis item (not the FPGA) and selecting New»C Series Modules»Existing target or device; then select your XNET device(s).
      1. If you cannot see your XNET device in this window, add it using the New target or device » C-Series Module, and then select your XNET modules.
  3. Compile and run an FPGA VI. An empty FPGA VI may be used; an existing VI will need to be recompiled to incorporate NI-XNET support for the configured slots.
  4. Once the configuration file is deployed, the XNET module will appear in MAX under the cRIO. Click the module and select Update Firmware.  This will open an Update Firmware window. Select Begin Update. Wait for MAX to indicate a successful update.
You may also see similar behavior deploying a LabVIEW or VeriStand project to a cRIO with XNET modules present if the cRIO in the project did not have XNET modules defined when the bitfile was compiled. For example in some versions of NI-XNET, a user might see an error about updating XNET firmware if a bitfile was compiled with only FPGA modules and standard I/O Real-Time Scan Resources, but no XNET modules in the Real-Time Scan Resources section of the LabVIEW project that it was compiled in.
  1. Update the LabVIEW project that compiles the bitfile to match any modules in the system. Ensure that any slots that will be XNET modules (NI-986x) have a NI-986x module defined in the slot. For any empty slots, you can specify a placeholder like an NI-9201 in the Real-Time Resources section.
  2. Recompile the bitfile.
  3. Redeploy the bitfile in the LabVIEW project or using the RIO Device Setup application.
  4. Run the LabVIEW application or VeriStand project.


Not Helpful