BorIP

BorIP* is a software solution that abstracts a streaming SDR interface to make it available over an IP network, allowing the SDR hardware to be physically removed from the front-end processing computer(s). The goal for BorIP is to keep the protocol simple.

For instructions, help and more technical information (such as the complete protocol breakdown), please visit the wiki page.

You can get the server, along with the ExtIO_USRP plugin, from the download page.

(* An aside on the etymology of BorIP: Bor is an intentional mis-spelling of 'bro', commonly used during chats with my 'bor' Matt Robert with whom I am journeying through this land of SDR. Paraphrasing Bor Robert: "As this software operates over an IP network, it is essentially Bro-over-IP since streams should be restricted to one's LAN - closest computers/counterparts - considering the high data rate". BorIP is thus a convenient contraction. For more information, please see the Geektionary on my wiki.)

BorIP consists of a protocol spec, which resembles plain-text client/server chat, and is realised in two parts:

  1. The BorIP server: users can connect to the server, specific the remote SDR device they wish to use, configure is parameters and start streaming baseband I/Q data over the network to specific clients.
  2. The BorIP client library: this library exposes the SDR-control interface (transparently handles communication with the server and reception of the streaming baseband data) making it look like the SDR is connected directly to the machine.

The first implementation was for an ExtIO plugin for Winrad to support the USRP:


Here BorIP is connected to server 'Bang' and aspects of the radio can be controlled via this window.


The BorIP server having just encountered a client (conversation below).

In the following plain-text protocol example, odd lines are sent by the server while even lines are sent by the client - the server always begins the conversation by announcing what device is currently active, if any (in this case nothing is active).

DEVICE -
DEVICE 0
DEVICE 4c69abc2|0.000000|50.500000|0.500000|64000000.000000|4096|TX/RX,RX2
FREQ 123456789
FREQ OK 123456789.000000 123456735.500000 -53.504831 -53.500000
GAIN 25
GAIN OK
RATE 1000000
RATE OK 1000000.000
DEST 192.168.1.1
DEST OK
ANTENNA RX2
ANTENNA OK
GO
GO OK
STOP
STOP OK
DEVICE !
DEVICE -