Raw USRP2 interface vs the UHD interface

Hello:

I want to make sure I understand the raw USRP2 interface and the new UHD
interface correctly. I have USRP2, and I’m running GNU Radio 3.3.0 under
Linux (Fedora 13), and if I use the default USRP2 interface, it uses raw
Ethernet (no UDP or TCP) by means of raw sockets, and there is no
transport layer protocol used. But now there is a new UHD driver deing
developed for USRP2. It uses UDP as the transport layer protocol. This
means that the USRP2 will need to have an IP address and subnet mask,
unlike before. What are the advantages to doing this?? Won’t this reduce
the bandwidth somewhat over raw Ethernet, since UDP adds some overhead??
What is the motivation for creating the UHD driver?? What’s wrong or
inadequate with the current raw Ethernet interface?? Any explanation and
help in understanding is appreciated. Thanks.

Steve McMahon

On 10/10/2010 01:07 AM, Steve M. wrote:

Hello:

I want to make sure I understand the raw USRP2 interface and the new
UHD interface correctly. I have USRP2, and I’m running GNU Radio
3.3.0 under Linux (Fedora 13), and if I use the default USRP2
interface, it uses raw Ethernet (no UDP or TCP) by means of raw
sockets, and there is no transport layer protocol used. But now there
is a new UHD driver deing developed for USRP2. It uses UDP as the
transport layer protocol. This means that the USRP2 will need to have
an IP address and subnet mask, unlike before. What are the advantages

Talking over UDP is easily cross platform, unlike a raw ethernet
interface. The raw ethernet interface for usrp2 in gnuradio was linux
specific. Other unixs and windows were left out.

to doing this?? Won’t this reduce the bandwidth somewhat over raw

Yes, here is the break down of overheads on-top of the ethernet header:

  • UHD overhead per packet: IP + UDP + VRT = 52 bytes
  • Gnuradio raw-eth overhead: trans + fixed = 14 bytes

In the UHD implementation, thats 38 bytes more overhead per packet,
which means an extra packet is needed for every (1500-52)/38 = 38.1
packets (not exact).

In addition, the UHD driver adds inline and asynchronous message
packets, further increasing the overhead.

Ethernet, since UDP adds some overhead?? What is the motivation for

Cross platform support, and common API for all USRP devices that fully
covers their functionalities.

creating the UHD driver?? What’s wrong or inadequate with the current

lacking functionality and completeness
tied to linux and other setup issues with raw ethernet
different firmwares for different daughter cards

-Josh

raw Ethernet interface?? Any explanation and help in understanding is
appreciated. Thanks.