Guidance on Using 10 Gigabit Ethernet for Ettus Open Source USRP

Updated Aug 19, 2022

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 applications 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 ports 0 and 1 must be 10 GbE.
  •  Host PC
    • CPU motherboard
      • CPU frequency: Above 3GHz per core
      • Motherboard: 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.
    • 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 out of the box.
      • You can purchase Intel NIC from Ettus website.
    • SFP+ module and cable for NIC
      • Maximum suggested length for 10 GbE SFP+ copper cable is 3 m (10 ft).
      • You can purchase a copper cable with SFP+ terminations from Ettus website.
      • Much longer ranges are possible with multimode optical fiber.
      • Intel SFP+ optical module is a must choice for Intel NIC for the optical connection.

Software Tuning for 10GE Application

Below is the link for performance tuning suggestions for the 10GE application.