How To Update the File System and FPGA Images of Ettus-Branded Embedded USRPs

Updated Dec 5, 2024

Environment

Hardware

  • Ettus USRP X440
  • USRP N300
  • USRP N310
  • USRP N320
  • USRP N321
  • USRP X310
  • USRP X300

Driver

  • NI-USRP 2024 Q4

This article describes how to use command line tools installed with NI-USRP to update the embedded file system images and FPGA images of supported Ettus branded USRP so that they can be used with NI-USRP.  

 

Table of Contents 
  1. Updating Embedded File System Image 

    1. How to find the current Embedded File System Image version 

    1. Updating from Embedded File System Image versions prior to 4.0 

    1. Updating from Embedded File System Image versions 4.0 or later 

  1. Updating the FPGA Image 

How to find the current Embedded File System Image version 

Use the Windows Command prompt to establish an SSH connection and determine the existing file system version. 

  1. On your host PC running Windows 10 or later, select Start » Windows System » Command Prompt to open the Windows Command Prompt. 

  1. To print information about your device, run the commands cd “C:\Program Files (x86)\National Instruments\NI-USRP\utilities” then “uhd_find_devices.exe”

Information about your device is output in the command prompt window, as shown in the following example. 

 

Device Address: 

serial: 32190B5 

addr: 10.89.8.21 

claimed: False 

fpga: X4_200 

mgmt_addr: 10.89.8.21 

product: x410 

type: x4xx 

 

Use the combination of numbers and letters following serial: as your unique serial number. The serial number is also printed on a label on the bottom of your device. 

Use the IP address following addr: to identify your device when performing the embedded file system upgrade. 

 

  1. Use an SSH connection to access your device’s management console. 

    1. To open an SSH connection, use your unique serial number to run the command ssh root@ni-<type>-<serial> 

Running this command opens a session with the username root and a blank password. 

    1. Type yes and press <Enter> if you are prompted to select whether you want to continue connecting. 

The first time you successfully connect, the following warning is output. 

Warning: permanently added 'ni-<type>-<serial>' (ECDSA) to the list of known hosts. 

Note:  

root@ni-<type>-<serial>:~# 

    1. To display the current file system version run the command mender -show-artifact (on the newest file systems, alternatively run the command mender show-artifact). 

The resulting output contains the version of your file system: artifact_name=<version>_<type> v<version>_<type>. 

 

Updating from Embedded File System Image versions prior to 4.0 

NI-USRP requires supported devices to use specific embedded file system versions. Images for these file system versions are included in the NI-USRP installation. You must update the file systems before first use of a new version of NI-USRP. 

 

These instructions assume that the USRP is running a file system version older than 4.0.0.0. Use the instructions from the above section How to find the current Embedded File System Image version to verify before proceeding and record the record the USRP IP address, serial number, and device type identified in step 2. 

 

USRPs using a file system older than version 4.0.0.0 cannot directly upgrade to file systems with version 4.7.0.0 or later directly. Follow these instructions to upgrade your file system version 3.x.x.x to version 4.4.0.0 (used as example). 

 

  1. Use a Web Browser navigate the the URL https://files.ettus.com/binaries/cache/n3xx/meta-ettus-v4.4.0.0. 

 
This should 4 file download options: 

USRP Update Image 1.png

  1. Download the zip file starting with n3xx_common_mender_d.. to your local computer, extract the zip file, and record the file path of the extracted file

USRP Update Image 2.png

 

  1. On your host PC running Windows 10 or later, select Start » Windows System » Command Promptto open the Windows Command Prompt. 

  1. Transfer the downloaded, embedded file system image to the device by running the command scp "<path of file extracted in step2>\usrp_<type>_fs.mender" root@ni-<type>-<serial>:/home/root/ 

  1. Update the file system image on your device. 

    1. To open a new SSH connection, run the command ssh root@ni-n3xx-<serial>

    1. Run the command usrp_update_fs –image /home/root/usrp_n3xx_fs.mender mender -f –rootfs /home/root/usrp_<type>_fs.mender 

The output may take several minutes to print. 

    1. After the output from the previous command has printed, type reboot and hit enter to restart your device. 

Your SSH session closes. The restart should take less than three minutes. 

  1. Access the device and switch to a new embedded file system image. 

    1. Run the command uhd_find_devices.exe

Information about your device is output in the command prompt window. If it does not appear, wait three minutes to ensure that the device has restarted and run the command again. 

    1. To update the SSH security fingerprint of your device, run the command ssh-keygen -R ni-<type>-<serial>

    1. To reconnect to the management console, run the command ssh root@ni-<type>-<serial>

    1. Type yes and press <Enter> if you are asked whether you want to continue connecting. 

    1. To verify that you are using the updated file system, run the command  mender -show-artifact

The resulting output contains the version of your file system: artifact_name=<version>_<type>. If you have successfully updated your file system, the version in the output should be the same as the mender version should match the version contained in the download zip file in step2. 

    1. To commit the update and use the new file system, run the command mender commit

  1. Now that the embedded file system version is greater than 4.0 follow the instruction for Updating from Embedded File System Image versions 4.0 or later in the following section.

 

Updating from Embedded File System Image versions 4.0 or later 

NI-USRP requires supported devices to use specific embedded file system versions. Images for these file system versions are included in the NI-USRP installation. You must update the file systems before first use of a new version of NI-USRP. 

 

These instructions assume that the USRP is running a file system version 4.0.0.0 or later. Use the instructions in the section How to find the current Embedded File System Image version to verify before proceeding and record the USRP IP address,  serial number, and device type identified in step 2. 

 

Use the Windows Command prompt to establish an SSH connection and determine the existing file system version. 

  1. On your host PC running Windows 10 or later, select Start » Windows System » Command Prompt to open the Windows Command Prompt. 

  1. Transfer the embedded file system image to the device by running the command scp "C:\Program Files (x86)\National Instruments\NI-USRP\filesystems\usrp_<device family>_fs_v4.7.0.0.mender" root@ni-_<type>-<serial>:/home/root/ 

Note The name of the file system image and the default network name encode the USRP device type name, which is: 

        x4xx – for Ettus USRP X410 and X440 

        n3xx – for Ettus USRP N300, N310, N320, and N321 

Note You may need to update the mender version referenced in this command depending on the version in use. 

  1. Update the file system image on your device. 

    1. To open a new SSH connection, run the command ssh root@ni-<type>-<serial>

    1. Run the command usrp_update_fs –image /home/root/usrp_<type>_fs_v4.7.0.0.mender 

The output may take several minutes to print. 

    1. After the output from the previous command has printed, type Y hit <Enter> to restart your device. 

Your SSH session closes. The restart should take less than three minutes. 

  1. Access the device and switch to a new embedded file system image. 

    1. Run the command uhd_find_devices.exe

Information about your device is output in the command prompt window. If it does not appear, wait three minutes to ensure that the device has restarted and run the command again. 

    1. To update the SSH security fingerprint of your device, run the command ssh-keygen -R ni-<type>-<serial>

    1. To reconnect to the management console, run the command ssh root@ni-<type>-<serial>

    1. Type yes and press <Enter> if you are asked whether you want to continue connecting. 

    1. To verify that you are using the updated file system, run the command mender show-artifact

The resulting output contains the version of your file system: artifact_name=<version>_<type>. If you have successfully updated your file system, the version in the output should be the same as the mender version referenced in step 4. 

    1. To commit the update and use the new file system, run the command mender commit

 

Updating the FPGA Image 

NI-USRP supports a subset of the standard FPGA bitfiles supported by Ettus branded USRPs. Supported FPGA images are included in the NI-USRP installation. 

 

Use the Windows Command prompt to update the FPGA image (after a compatible file system image was installed). 

  1. On your host PC running Windows 10 version 1809 or later, select Start » Windows System » Command Prompt to open the Windows Command Prompt. 

  1. To print information about your device, run the commands cd “C:\Program Files (x86)\National Instruments\NI-USRP\utilities” then uhd_find_devices.exe

Information about your device is output in the command prompt window, as shown in the following example. 

 

Device Address: 

serial: 32190B5 

addr: 10.89.8.21 

claimed: False 

fpga: X4_200 

mgmt_addr: 10.89.8.21 

product: x410 

type: x4xx 

 

Use the combination of numbers and letters following serial: as your unique serial number. The serial number is also printed on a label on the bottom of your device. 

 

  1. To download a new FPGA image to the device, run the command 
     

For Ettus USRP X440 devices:  uhd_image_loader –args addr=10.89.8.21,type=x4xx,fpga=X4_200 

For Ettus USRP N300/N310/N320/N321 devices:  uhd_image_loader –args addr=10.89.8.21,type=n3xx,fpga=HG* 

 

* Lookup supported FPGA images in article Ettus USRP Device Support in NI-USRP

 

  1. (Optional) Verify downloaded FPGA bitfile by repeating step 2. The string following fpga: should match the FPGA specified in step3.