Ettus B205Mini, a REDHAWK Debut

Through our partnership with Ettus Research, we were recently given the chance to work with one of their new devices, the B205mini. This little device, smaller than a deck of cards, has a Spartan 6 FPGA and a transceiver capable of an instantaneous bandwidth of 56 MHz at frequencies up to 6 GHz. That is a lot of capabilities for something USB-powered.

Of course: we integrated it with REDHAWK and then went a step beyond.

Integration

When we set out to integrate the B205mini with REDHAWK, we immediately recognized that the version of UHD typically installed in the vanilla RPM installation is simply too old to communicate with the B205mini. Naturally then it needs to be upgraded which necessitates installing upgraded dependencies, etc., that will ultimatley require compiling REDHAWK from source. And thanks to our work with the OpenEmbedded -based E310, we know REDHAWK can compile and work with the latest version of UHD and the updated dependencies. So that is the good news.

However like many of you who set out to use the latest UHD to interface with the N210, X310, etc., you find it’s just that one, little thing: CentOS 6. Getting the necessary dependencies to install alongside older ones without somehow crippling your other software can often be very problemmatic. And in going this route, you give up entirely on the nice, simple RPM installation for REDHAWK too. But must you? No, you don’t.

Docker, REDHAWK

What we’ve released here is a series of Dockerfiles that handle not only the compiling of all necessary build and runtime dependencies, but also extend it with REDHAWK (compiled from source) as well as one for standing up USRP_UHD -bearing Nodes. And then for further simplicity, we have also included scripts as examples for how to launch the resulting containers as connected to USB or network-attached Ettus devices like the B205mini, X310, N210, and others.

One thing we have not mentioned yet is that the base image for all of this is CentOS 6.

That’s right: if you want to skip Docker altogether, you can use our Dockerfiles as instructions for how to configure a host system and run through the whole compiled-from-source process. However, sticking with Docker gives you the advantage of compartmentalizing these changes in a repeatable fashion.

Why is This Great?

Docker-ized REDHAWK Nodes

What this release enables you to do is to deploy REDHAWK instances that have these updated dependencies without disturbing your base REDHAWK installation. Configuring the launched containers is just like configuring a networked installation of REDHAWK. Each Node still points back to the same naming service, and you still run the Domain wherever you wish to run it. The difference is that now, especially for UHD -based Nodes, you can use the latest version.

Going around the graphic above from the top left, we have the N210 and the B205mini. Physically, they are wired into the workstation at the bottom either through the network infrastructure or USB, respectively. However from a logical standpoint, each is being controlled by an independent Docker container, that wraps REDHAWK’s nodeBooter application, which is launched and maintained by the workstation. The workstation of course maintains its more typical, vanilla RPM-based installation of REDHAWK and CentOS 6. As for the E310, it’s still connected to the domain via the network infrastructure as before and hosting its own Node instance, since it has a Linux OS.

You can find the Dockerfile repositories are Dependencies and REDHAWK and USRP_UHD -based Node launcher.

Please, do drop us a note if you develop another node launching Docker based on this setup so that we can include a link to yours here as well.

A Brief Demo

In this short video, we take you through the above discussion’s highlights and show the B205mini interacting with our running domain from within its own, tidy Docker container. Unlike the previous demos with the E310 and Amazon Echo, we also used this same image to stand up a container for managing the N210. So that’s two Docker-based Ettus USRPs running on top of a vanilla REDHAWK installation as well as an independent one in the E310.

Enjoy the video!

Recent Posts

Ready for an exciting change?

Work with US!