Updating cRIO-904x BIOS Version

Updated Jan 5, 2024

Environment

Hardware

  • cRIO-9040
  • cRIO-9041
  • cRIO-9042
  • cRIO-9043
  • cRIO-9045
  • cRIO-9046
  • cRIO-9047
  • cRIO-9048
  • cRIO-9049

Operating System

  • Windows

There are some instances where you need to update the CompactRIO BIOS (basic input/output system) version to fix certain known issues with the system. This document provides step-by-step instructions on how to update cRIO-904x series CompactRIO's BIOS version.
 

Hardware Requirements:

  • cRIO-904x


Software Requirements:


Additional Hardware Requirements:

  • Display monitor
  • Adapter cable for connecting cRIO's USB Type C port to the display monitor input port
  • USB keyboard
  • USB flash drive
  • Linux-compatible USB Type C to USB Type A adapter

Creating USB Utility Drive

  1. Download and unzip the cRIO-904x Firmware and Additional Drivers.
  2. Insert a USB flash drive into one of your computer’s USB slots.
  3. Run the CreateUSBUtilityDisk.exe application with administrator access to convert the USB flash drive to a bootable device. This application runs on Microsoft Windows operating systems.
  4. Select the appropriate drive in the drop-down list and click the Make Bootable button. A progress bar as shown in Figure 1 will indicate when the application is finished formatting the disk.
create usb utility disk.png
Figure 1: Create USB Utility Disk dialog box.


Updating the BIOS Version

  1. Insert the created USB utility drive into your controller. Refer to the below Figure 2 for guidance.
    connect peripheral.png
    Figure 2: Connection point on cRIO-904x
  2. Reboot your controller. While the controller boots, press DEL to enter BIOS Setup Utility.

    Enter BIOS Setup Utility.png
    Figure 3: You can see the currently installed BIOS version is 2.0.0f0
  3. Set up your controller to recognize the USB flash drive as your boot device. You can skip the following settings if the USB flash drive is already detected as shown in Figure 4 or Figure 5.
    • Navigate to Advanced/Boot >> LabVIEW RT Configuration >> LabVIEW RT Operating System and select NI Linux Real-Time. Press F10 to save changes and reboot if you changed the default setting. Press DEL to enter BIOS Setup Utility again. (Optional)
    • Navigate to Advanced >> USB Configuration >> Legacy USB Support and select Enabled. (Optional)
    • Navigate to Advanced >> USB Configuration >> Mass Storage Devices and select Auto. (Optional)
    • Navigate to Advanced >> SATA Configuration >> SATA Mode Selection and select IDE. (Optional)

    usb detect 1.png
    Figure 4: The connected SanDisk USB drive is detected (Advanced >> USB Configuration)
    usb detect 2.png
    Figure 5: USB Drive is detected under the Boot Menu
  4. Press F10 to save changes and reboot if you have made any changes to the settings. Press DEL to enter BIOS Setup Utility again. Skip this step if you do not change any settings.
  5. Navigate to Save & Exit >> Boot Override and choose your USB Flash drive (refer to Figure 6). There might be two options for the USB Flash Drive; choose the one without "UEFI" to boot into DOS.
    Boot overide.png
    Figure 6: Highlight and press ENTER to boot the DOS
  6. When the controller boots into DOS as shown in Figure 7, follow the onscreen instructions to flash your BIOS.
    flashefi.nsh screen.png
    Figure 7: Type FLASHEFI.nsh and press ENTER
  7. When the system starts the BIOS update process as shown in Figure 8, be sure to let the program complete or the system will become corrupted and unbootable.
    flashing screen.png
    Figure 8: Follow the instructions until installation is completed.
  8. When the program finishes, the controller should reboot automatically and boot into the operating system normally (refer to Figure 9). If the controller boots into BIOS Setup Utility, press ESC to boot into the operating system.
    crio boot ni linux rt.png
    Figure 9: cRIO boot to NI Linux RTOS successfully

You can verify that the BIOS version updated to 2.0.3f0 in the BIOS Configuration Utility as shown below.
verify update.png