[USRP-users] B210 over Network?
marcus.mueller at ettus.com
Mon Apr 20 09:08:30 EDT 2015
On 04/20/2015 02:49 PM, Raj Bhattacharjea via USRP-users wrote:
> I've thought of recording the network traffic to/from an N-series
> using wireshark and looking into the N-series UHD source code / FPGA
> code to try to figure out the protocol and make my own implementation
> for some of the functionality for the B series. If I ever get this
> idea off the ground and post a git repo, I'll send it out to this list.
No need to dig/reverse engineer, the sample packets are simply VITA-49.
There's a dissector for that in wireshark, and there's a dissector for
the UHD control protocol, too.
The N210's control protocol is very simple, and is based around the host
asking and instructing the USRP on a low level to talk to the
daughterboard, set up DSP chains etc. I'd recommend having a look at the
uhd/host/lib/usrp/usrp2/usrp2_impl.cpp and usrp/cores/*200.cpp and
comparing that to usrp/b200/b200_impl.cpp.
The b200 architecture is not really closely similar to the usrp2/n200
architecture; you can't just change a few things in usrp2_impl and
transparently move to ethernet, I'm afraid.
In essence: Due to overhead and latency, encapsulating the raw USB
packets (which there are implementations of) is not an option;
everything higher-level sounds a bit application-specific, so there
wasn't much need to do a network server for that on the B2x0.
In fact, for the E310, we have such a diagnostic network mode, but there
the samples are moved from the FPGA into the CPU's cache, and handling
is a bit closer to the metal than for external busses, and throughput is
really not considerable for application purposes, though things are
To put it a bit nicer: The N2x0 is designed and strongly optimized to be
a network device, the B2x0 a USB3 device -- since this puts some
constraints on how things have to be done, there's no easy "universal"
way to put one's control and data flow through the other's transport.
More information about the USRP-users