Version 14 (modified by 8 years ago) ( diff ) | ,
---|
Getting started with RFNoC X310
Table of Contents
- SDR Tutorials
Description
This tutorial is a guide for getting started with RFNoC using an USRP X310 on ORBIT grid. Before starting to experiment with RFNoC, here are a couple of useful presentations, write ups from Ettus Research, that one should go through.
https://github.com/EttusResearch/uhd/wiki/RFNoC:-Getting-Started
https://kb.ettus.com/Getting_Started_with_RFNoC_Development
Set up
- Make a reservation on the Orbit Scheduler for using the grid.
- Load baseline-rfnoc-labtools.ndz on an ORBIT node.
omf load -i baseline-rfnoc-labtools.ndz -t node18-1
- Once imaging is done, turn the node on
omf tell -a on -t node18-1
- Wait for the node to turn on and log in
ssh root@node18-1
Find USRP X310s
ORBIT grid has 8 USRP X310s in a MIMO rack ((23,1) … (23,8)) and 4 nodes with locally connected USRP X310s ((18,1),(18,20),(3,1),(3,20)). Of these 4 nodes, (18,20) and (3,1) have a PCI express link to their local X310, where as the other 2 have 10G Ethernet links.
- Finding X310s in the MIMO rack
X310s in the MIMO rack can be accessed from any node in the grid. Their IP addresses go from 10.10.23.1 to 10.10.23.8. X310 (23,1) is accessed from node (18,1) as shown below. Since the image used has UHD rfnoc-devel branch installation, the UHD version is shown as UHD_4.0.0.rfnoc-devel-211-g2cf80a69.
root@node18-1:~# uhd_find_devices --args="addr=10.10.23.1" linux; GNU C++ version 4.8.4; Boost_105400; UHD_4.0.0.rfnoc-devel-211-g2cf80a69 -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: serial: 30A3570 addr: 10.10.23.1 fpga: HG name: Mercury product: X310 type: x300
- Finding local X310 (10G Ethernet)
Nodes (18,1) and (3,20) have 10G Ethernet links to their local X310s. To access these X310s, please make sure the interface eth0 is configured as below.
root@node18-1:~# ifconfig eth0 192.168.10.1 netmask 255.255.255.0 mtu 9000
Now, running uhd_find_devices with IP address 192.168.10.2 gives the followingroot@node18-1:~# uhd_find_devices --args="addr=192.168.10.2" linux; GNU C++ version 4.8.4; Boost_105400; UHD_4.0.0.rfnoc-devel-211-g2cf80a69 -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: serial: F4E34F addr: 192.168.10.2 fpga: HG name: product: X310 type: x300
If you do not specify an IP address in the args option, the node tries to access the X310s in the MIMO rack also.root@node18-1:~# uhd_find_devices linux; GNU C++ version 4.8.4; Boost_105400; UHD_4.0.0.rfnoc-devel-211-g2cf80a69 -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: serial: 30A3570 addr: 10.10.23.1 fpga: HG name: Mercury product: X310 type: x300 -------------------------------------------------- -- UHD Device 1 -------------------------------------------------- Device Address: serial: F4E34F addr: 192.168.10.2 fpga: HG name: product: X310 type: x300
- Finding local X310 (PCI express)
Nodes (18,20) and (3,1) have PCI express links to their local X310s. To access these X310s, run the following https://files.ettus.com/manual/page_ni_rio_kernel.html
root@node3-1:~# /usr/local/bin/niusrprio_pcie start Loading: NiRioSrv niusrpriok Starting: niusrpriorpc
Now, running uhd_find_devices with resource RIO0 gives the followingroot@node3-1:~# uhd_find_devices --args="resource=RIO0" linux; GNU C++ version 4.8.4; Boost_105400; UHD_4.0.0.rfnoc-devel-211-g2cf80a69 -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: serial: F4FCFF fpga: HG name: product: X310 resource: RIO0 type: x300