Guidance on Using 10 Gigabit Ethernet for Ettus Open Source USRP

Updated Sep 15, 2020

Reported In

Hardware

  • USRP X310
  • USRP X300
  • USRP N310
  • USRP N320
  • USRP N321
  • USRP-2974

Other


Hardware
X3xx
N3xx
USRP-2974

Software
Ubuntu 18.04
UHD driver 3.15.0.0

Issue Details


It's hard to know the hardware/software requests for 10 Gigabit application for Ettus open source USRP.
What kind of hardware to support 10G application? What to do for the OS/software to improve the PC/server performance? They're all will be answered here.

Solution


Hardware Required
 
  • USRP
X3xx or N3xx serial or USRP-2974
 
  • FPGA Image
HG bit: Port 0 must be 1 GbE, and Port 1 must be 10 GbE.
XG bit: Both port 0 and 1 must be 10 GbE.
 
  • Host PC
  1. CPU and mother board
CPU frequency: Above 3GHz per core
mother board: PCIe 3.0
Some motherboards do not provide enough PCI Express (PCIe) bus bandwidth to support higher sample rates. Motherboards with PCIe 3.0 are required, and the PCIe architecture of the motherboard should be carefully considered. Slots with dedicated PCIe lanes should be used for 10 GbE cards that will be connected to the USRP.
 
  1. NIC
Intel and Myricom 10 GbE cards are recommended.
Mellanox, SolarFlare, and Chelsio 10 GbE cards are not currently recommended. The Ethernet card should be plugged into the slot that has the most direct connection with the CPU (PCIe lanes are not shared with another slot).
The Intel X520 and X710 card works very well out-of-the-box.
You can purchase Intel NIC from Ettus website.
 
  1. SFP+ module and cable for NIC
Maximum suggested length for 10 GbE SFP+ copper cable is 3 m (10 ft).
You can purchase copper cable with SFP+ terminations from Ettus website.
Much longer ranges possible with multimode optical fiber.
Intel SFP+ optical module is a must choice for Intel NIC for optical connection.

Software Tuning for 10GE Application
 
  • Below is the link for performance tuning suggestion for 10GE application.