Main Content

USRP Radio Firmware Update

Why Download New Firmware?

The Communications Toolbox™ Support Package for USRP™ Radio uses a specific version of the UHD™ software on the host computer side. If the USRP radio has a different version of UHD firmware installed, you might not be able to communicate with the USRP radio and use the support package.

Note

For the Bus Series devices, you do not need to check or update the firmware. It is automatically loaded when the device is plugged in.

You can update the UHD firmware using the sdruload function.

Updating USRP Radio Firmware

Before updating the radio firmware, make sure that the radio is connected to and communicating with the host computer. If not, see Guided USRP Radio Support Package Hardware Setup.

Update Networked Series Radio Firmware

Calling the sdruload function in MATLAB® with the following parameters loads the default images to a radio at default IP address 192.168.10.2:

sdruload('Device','dev')

Depending on which Networked Series device you have connected, replace 'dev' with n200 or n210.

You can specify additional parameters, such as a non default IP address and non default firmware and FPGA images. See sdruload.

Update USRP2 Radio Firmware

Calling the sdruload function in MATLAB with the following parameters writes the default FPGA and UHD firmware image to an SD card:

sdruload('Device','USRP2')

Note

Before loading firmware for a USRP2™ Radio, you must manually install usrp2_card_burner.py (for all platforms) and Python and dd (only for Windows platforms) follow these directions.

  1. Download usrp2_card_burner.py

    % See the GNU General Public License at https://www.gnu.org/licenses/
    cd(fullfile(sdruroot,'uhdapps','utils'))
    websave('usrp2_card_burner.py',...
            'https://raw.githubusercontent.com/EttusResearch/uhd/...
             4286d07d7a31812ba16d67d3c7e0c05a27e444cb/...
             host/utils/usrp2_card_burner.py');
    if isunix
       system('chmod +x usrp2_card_burner.py');
    end
    
  2. Install Python for Windows

    % See the license for Python at https://docs.python.org/2/license.html
    if ispc
       cd(fullfile(matlabshared.supportpkg.getSupportPackageRoot));
       if ~exist('3P.instrset','dir')
          mkdir 3P.instrset
       end
       cd 3P.instrset
       mkdir pythonwin.instrset
       websave('python-2.7.3.amd64.msi',...
               'https://www.python.org/ftp/python/2.7.3/python-2.7.3.amd64.msi');
       system(['msiexec /a python-2.7.3.amd64.msi /qn TARGETDIR="' pwd '\...
              ... pythonwin.instrset\python"']);
    end
  3. Download dd for Windows

    % See the license for dd at http://www.chrysocome.net/gpl
    if ispc
       cd(fullfile(matlabshared.supportpkg.getSupportPackageRoot));
       if ~exist('3P.instrset','dir')
          mkdir 3P.instrset
       end
       cd 3P.instrset
       websave('dd-0.5.zip',...
               'http://www.chrysocome.net/downloads/f5897020e67e51472d1962606fc8ad69/dd-0.5.zip');
       unzip('dd-0.5.zip',fullfile(sdruroot,'uhdapps','utils'));
    end

Related Topics