Matt Kelly USRP info

Current Objectives

  • Create a scoped presentation to be presented to ECE (make separate versions for higher/lower level) describing what they do, how you program it, "Hello World", tools required, setup, basics
  • Find other universities or institutions that are using USRPs (any version), document practical applications

Waiting on

  • Contacted Souvik from Duke. Waiting on reply regarding daughterboard specifics and any misc info.


  • Explore GNU Radio
  • OpenBTS - experimental GSM setup for USRP that allows low cost development of a cellular interface.
    • Isn't officially supported with the N210 but an unofficial version has been create here.
  • Universal Hardware Driver (UHD) - provided by Ettus Research to provide an interface to all of their products.
  • Test the delays in using different configurations to program the USRPs. Is there significant performance degradation when trying to program 2 USRPs from one machine? Is this even possible? USRPs should be addressable with a hub/switch.
  • Run through tutorials in links section.
  • "GNU Radio tutorials":
  • Understand DSP
  • Look at other instutions that are using USRPs. What are they doing with them?
    • What tools (e.g. USRP version) did they use?
    • Virginia Tech appears to have deployed this as multi-purpose devices (see 00:30)
    • Run through tutorial and execute with and without daughterboards and see if there's any difference.

Regarding Multiple USRPs to one machine

For maximum throughput, one ethernet interface per USRP2 is recommended, although multiple devices may be connected via a gigabit ethernet switch. In any case, each ethernet interface should have its own subnet, and the corresponding USRP2 device should be assigned an address in that subnet. Example:

Configuration for USRP2 device 0:

  • Ethernet interface IPv4 address:
  • Ethernet interface subnet mask:
  • USRP2 device IPv4 address:

Configuration for USRP2 device 1:

  • Ethernet interface IPv4 address:
  • Ethernet interface subnet mask:
  • USRP2 device IPv4 address:


  • build-gnuradio script claims to ease task of installing gnuradio with USRP/HUD support. Successfully executed but there appears to be an issue with directly connecting the USRP to the machine. (see below)
  • Created dial-tone gnuradio file with success in software (gnuradio-companion) but unable to deploy because of no response on eth0 (or any ethX for that matter).
  • sample files in /usr/local/bin/usrp2*.py
  • This page shows someone having issues connecting the USRP directly to a machine contrary to it having Gigabit.
  • Some USRP gnuradio-companion examples can be found here. This location should also exist locally with a gnuradio installation.
  • If a USRP is bricked, follow these instructions.
  • XCVR2450 Daughterboard
  • Matt Ettus did a presentation at Berkeley on the USRP.
  • Other Development Platform other than GNU Radio
  • This page says to perform the following command to get a ping back from N210:
 sudo ifconfig eth0
  1. Do we need separate machines w/ gigabit Ethernet to run multiple devices?
    1. Is computation power w/ the number of interrupts an issue?
  2. Investigate appropriate Linux distro to install. What are others using?
    1. This page recommends some sort of "widely distributed deb Linux". This is another case for Ubuntu.

Demos/Other Projects

Useful commands

  • /usr/local/bin/lsusrp
 usrp: failed to find usrp[0]
usrp: failed to find usrp[1]
usrp: failed to find usrp[2]
usrp: failed to find usrp[3]
usrp: failed to find usrp[4]
usrp: failed to find usrp[5]
usrp: failed to find usrp[6]
usrp: failed to find usrp[7]
  • /usr/local/bin/uhd_usrp_probe
 linux; GNU C++ version 4.5.2; Boost_104200; UHD_003.001.002-a3e1cb7
Error: LookupError: KeyError: No devices found for ----->
Empty Device Address
  • uhd_usrp_probe
 linux; GNU C++ version 4.5.2; Boost_104200; UHD_003.001.002-a3e1cb7

-- Opening a USRP2/N-Series device...
Error: RuntimeError:
Please update the firmware and FPGA images for your device.
See the application notes for USRP2/N-Series for instructions.
Expected protocol compatibility number 10, but got 9:
The firmware build is not compatible with the host code build.

Updating the firmware on the device

 sudo  /usr/share/uhd/utils/
Download (newest binary) firmware from Ettus and unzip.
Specify the locations of the firmware and fpga .bin images (in file you just downloaded)
Specify the IP of the device ( by default)
Hit "Burn Images"
Run ifconfig again
uhd_usrp_probe now says this.