Disable Automatic Safe Boot on cRIO or Real-Time Controller

Updated Jan 19, 2024

Reported In

Hardware

  • CompactRIO Controller

Software

  • LabVIEW Real-Time Module

Issue Details

  • I have an application that requires my cRIO to run autonomously. In the event of two or more successive crashes, I do not want the controller rebooting into Safe Mode since it will not be possible to physically attend to it. How can I prevent my controller from automatically booting into Safe Mode?
  • My deployed Real-Time application crashes unexpectedly. Are there any settings on the cRIO I can change to help troubleshoot the crash?

Solution

By default, a Real-Time controller will automatically reboot into Safe Mode if it crashes twice or more without rebooting or cycling power between crashes. 

In LabVIEW Real-Time 7.0 and later, you can disable Safe Mode by modifying the ni-rt.ini configuration file, which is located in /etc/natinst/share. You can access the file by connecting to the Real-Time controller through FTP

The following lines will need to be added to the ni-rt.ini file on the Real-Time controller:

[StartUp]
YouOnlyLiveTwice = "FALSE"

 

Linux Real- Time Targets (Intel x64 Based)

Controllers running the Intel x64-based version of Linux will recognise the following terminal command to set the boot mode:
/etc/init.d/nisetbootmode force-normal && reboot

To check which operating system the Real-Time controller is running, refer to Real-Time Controllers and Real-Time Operating System Compatibility .

Additional Information

It should be noted that Real-Time controllers may enter Safe Mode if the IP settings are inconsistent. If the controller is located on the same subnet as the host PC, ensure that a valid IP address with the link local range has been configured. Further troubleshooting guidance can be found in "Inconsistent IP Settings" When Using a Real-Time Target in NI MAX .