Using the USRP B200/B210 devices

Setup the experiment

  • Search for the nodes on the inventory webpage by using the Inventory filters on the top left of the page.
  • Search for the field called usb and press the down arrow to see the different options.
  • Select USRP B200 or USRP B210 and click Apply

You will now see all the nodes on the that have a USRP B200 or B210 connected over USB. The nodes are of type Intel NUC and are called nucXY (where XY represents the location).

  • Make a reservation for the nodes of your choice.
  • Activate the nodes with jFed. The default image already contains the UHD software.

Activate the USB ports

The USRPs are connected through a USB3.0 hub, of which the ports can be remotely switched ON/OFF. By default, all USB ports are turned off.

To turn ON the USB port and thus enable the USRP, please run:

#check if a USB Hub is present
ykushcmd ykush3 -l
#bring up port 1
ykushcmd ykush3 -u 1
#run UHD test
uhd_usrp_probe
#try a UHD benchmark (should result in 26 Msps)
/usr/lib/uhd/examples/benchmark_rate --args="master_clock_rate=52e6" --rx_rate 30.72e6 --tx_rate 30.72e6
#if no devices are found, try to toggle the USB port OFF / ON
ykushcmd ykush3 -d 1
ykushcmd ykush3 -u 1

If you start from your own image, and want to install the USB hub software yourself:

sudo -s
cd /root
apt-get update
apt-get install libudev1 libudev-dev libusb-1.0-0-dev libusb-1.0-0
git clone https://github.com/Yepkit/ykush.git
cd ykush
./build.sh
./install.sh

Run srslte with USRP B200/B210

The default image of NUC node has srslte (master branch checked out on August 3rd 2018) installed, the source code is located in /root/srsLTE. Feel free to uninstall this version and install your own flavor of srsLTE from the official webste https://github.com/srsLTE/srsLTE

To run srsLTE from the default image of NUC, following these step

sudo -s
# copy the srs configuration files to your home direcgtory
cp -r /root/.srs ~
# start srsepc
srsepc
# open another terminal on the same nuc, become root and start eNodeB
sudo srsenb
# log into another nuc, become root and start srsue.
sudo srsue

After the above step, you should soon see the ue gets assigned an IP address in 172.16.0.x range, and you should be able to ping between ue and eNodeB.