Using softshell with GNURadio

It has been a little while since I released the very early code for Softshell (not that the code has advanced much), and I've received a few requests for a bit more information about how it's intended to be used.

I admit that I hacked it together very quickly so that I could make some basic use of the rtl-sdr dongles on my mac. To be very clear, Softshell does no actual SDR itself. You can really look at it more like a driver for the rtl-sdr. Softshell opens a connection to the rtl device, allows you to tune its internal oscillator, and puts the data on the network.

To start, install the rtl device in your USB port, then open Softshell.

Freshly opened

If you see a similar window, it means that Softshell has found your device (the ezcap in this case). It is, perhaps, a good time to mention that I've only ported the tuner code for the Elonics E4000 tuner. Click the "Open" button to have the program open the connection to the device. If it detects that you have the E4000 the "Tuner type" field will be filled in with "Elonics E4000".

Once this is done, changes to the sample rate and center frequency will take effect with the "Update" button is clicked. The Center frequency is provided in Hz.

Now, that's all fine and good, but you're just tuning the device. To actually get the data out of it, you need to setup the network settings. Choose a port number for Softshell to listen to, I use 12345, and click the "Running" checkbox.

Finally, in GnuRadio, you need to use a "TCP Source" block setup as a client with the same port number you used before.

Setting up GnuRadio to work with Softshell

Once that's done you should be up and running. Note that, natively, the rtl device actually outputs unsigned bytes and that Softshell converts these to floats centered around zero. Some GnuRadio examples include the blocks that perform this conversion. If you come across this, just remove those blocks.

Good luck! Please feel free to comment with any questions or issues!

374 Words