14 | | Current mmWave setup in COSMOS SB1 looks as shown in the figure below. |
| 15 | === Summary === |
| 16 | === Publications === |
| 17 | For more information about the integration of the advanced programmable and open-source millimeter wave array systems in COSMOS, please read: |
| 18 | 1. T. Chen, P. Maddala, P. Skrimponis, J. Kolodziejski, X. Gu, A. Paidimarri, S. Rangan, G. Zussman, and I. Seskar, "Programmable and open-access millimeter-wave radios in the PAWR COSMOS testbed," in Proc. ACM Mobicom'21 Workshop on Wireless Network Testbeds, Experimental evaluation & CHaracterization (WiNTECH'21) (to appear), 2021. [https://wimnet.ee.columbia.edu/wp-content/uploads/2021/08/COSMOS_mmWave_WiNTECH2021.pdf Download] |
| 19 | 1. D. Raychaudhuri, I. Seskar, G. Zussman, T. Korakis, D. Kilper, T. Chen, J. Kolodziejski, M. Sherman, Z. Kostic, X. Gu, H. Krishnaswamy, S. Maheshwari, P. Skrimponis, and C. Gutterman, "Challenge: COSMOS: A city-scale programmable testbed for experimentation with advanced wireless," in Proc. ACM Mobicom'20, 2020." [https://dl.acm.org/doi/10.1145/3372224.3380891 ACM] [https://wimnet.ee.columbia.edu/wp-content/uploads/2020/02/MobiCom2020_COSMOS.pdf Download] [https://wimnet.ee.columbia.edu/wp-content/uploads/2020/09/mobicom2020_cosmos_slides.pdf Presentation] [https://youtu.be/t2XxgExefns Long Video] [https://youtu.be/BIMubLpxyAc Short Video] |
| 20 | 1. P. Skrimponis, P. Maddala, J. Kolodziejski, I. Seskar, and S. Rangan, "60 GHz Beam Tracking Testbed," Brooklyn 6G Summit, 2021. [https://docs.google.com/presentation/d/1VHWGFwFMLlsBRYP4Um7cTyLeSYhuDDcT/edit?usp=sharing&ouid=104982133251171242392&rtpof=true&sd=true Presentation] [https://youtu.be/-tmH6C33Cl0 Video] |
| 21 | Please cite the above papers if you use the hardware. Please email Panagiotis Skrimponis (ps3857[at]nyu.edu) if you have any questions. |
18 | | In the benchtop 60GHz setup of SandBox1, either USRP X310 or RFSoC ZCU111 can be used for baseband processing. RF Switch boxes as shown in the figure are used to select between X310 and RFSoC. RF switch commands are explained at wiki:/Resources/Services/RFSwitch. To select ZCU111 as baseband processing units, all the switches in the RF switch boxes are configured to port 2. |
19 | | |
20 | | This experiment uses the Xilinx ZynqMP Ultrascale+ RFSoC ZCU111 board for the baseband processing. Sivers control software on srv3, srv4 talk to the mmWave front-ends over USB links. Host GNURadio applications on srv3, srv4, send/receive data samples to/from the RFSoC over 1G Ethernet link. |
21 | | |
22 | | === Prerequisites === |
23 | | In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on the COSMOS [wiki:GettingStarted getting started] page to get started. |
24 | | |
25 | | === Resources required === |
26 | | - Servers |
27 | | - srv1-in1 |
28 | | - srv1-in2 |
29 | | - |
30 | | |
31 | | 2 servers srv3-lg1, srv4-lg1, 2 Xilinx RFSoCs rfdev3-3, rfdev3-4 and both the Sivers platforms rfdev3-5, rfdev3-6 on COSMOS SB1. |
32 | | === Tutorial Setup === |
33 | | |
34 | | Follow the steps below to gain access to the [wiki:Architecture/Domains/cosmos_sb1 sandbox 1 console] and set up nodes with appropriate images. |
35 | | 1. If you don't have one already, sign up for a [https://www.cosmos-lab.org/portal-2/ COSMOS account] |
36 | | 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on sandbox 1 |
37 | | 1. [wiki:/GettingStarted#LogintoyourReservation Login] into sandbox 1 console (console.sb1.cosmos-lab.org) with two SSH sessions. |
38 | | 1. Make sure all the nodes and devices of this reservation are turned off: |
39 | | {{{#!shell |
40 | | omf tell -a offh -t system:topo:allres |
| 25 | === COSMOS SB1 Nodes === |
| 26 | Follow the steps below to gain access to COSMOS [wiki:Architecture/Domains/cosmos_sb1 sb1] and set up nodes with appropriate image: |
| 27 | 1. If you don't have a COSMOS account already, you need to [https://www.cosmos-lab.org/portal-2/ sign up]. |
| 28 | 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on [wiki:Architecture/Domains/cosmos_sb1 sb1]. |
| 29 | 1. [wiki:/GettingStarted#LogintoyourReservation Login] into [wiki:Architecture/Domains/cosmos_sb1 sb1] `console.sb1.cosmos-lab.org` using SSH. |
| 30 | {{{#!shell-session |
| 31 | not_a_user@laptop:~$ ssh -Y your_username@console.sb1.cosmos-lab.org |
57 | | root@console:~# curl am1.cosmos-lab.org:5054/rf_switch/status?name=rfsw1.sb1.cosmos-lab.org,rfsw2.sb1.cosmos-lab.org |
| 47 | your_username@console:~$ omf stat -t system:topo:allres |
| 48 | }}} |
| 49 | 1. Configure the RF switches to connect RFSoC with Sivers array |
| 50 | {{{#!shell-session |
| 51 | your_username@console:~$ curl "am1.cosmos-lab.org:5054/rf_switch/set?name=rfsw1.sb1.cosmos-lab.org,rfsw2.sb1.cosmos-lab.org&switch=1,2,3,4&port=2" |
| 52 | }}} |
| 53 | 1. Make sure the RF switches are configured correctly (all switches set to port 2) |
| 54 | {{{#!shell-session |
| 55 | your_username@console:~# curl am1.cosmos-lab.org:5054/rf_switch/status?name=rfsw1.sb1.cosmos-lab.org,rfsw2.sb1.cosmos-lab.org |
85 | | root@srv3-lg1:~# ip link set enp1s0 mtu 9000 up |
86 | | root@srv3-lg1:~# ip addr add 10.39.1.3/16 dev enp1s0 |
87 | | root@srv3-lg1:~# ip addr show dev enp1s0 |
88 | | 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000 |
89 | | link/ether f4:52:14:83:b9:30 brd ff:ff:ff:ff:ff:ff |
90 | | inet 10.39.1.3/16 brd 10.39.255.255 scope global enp1s0 |
91 | | valid_lft forever preferred_lft forever |
92 | | inet6 fe80::f652:14ff:fe83:b930/64 scope link |
93 | | valid_lft forever preferred_lft forever |
| 77 | your_username@console:~$ ssh -Y root@srv1-in1 |
| 78 | root@srv1-in1:~$ cd mmwsdr/fpga/nonrt-ch1/jtag/sb1_sdr2_in1/ |
| 79 | root@srv1-in1:~/mmwsdr/fpga/nonrt-ch1/jtag/sb1_sdr2_in1$ xsct download_firmware.tcl |
108 | | root@srv4-lg1:~# cd rfsoc/firmware/sb1_rfdev3_4/ |
109 | | root@srv4-lg1:~/rfsoc/firmware/sb1_rfdev3_4# xsct download_firmware.tcl |
| 96 | root@srv1-in1:~# ip link set enp1s0 mtu 9000 up |
| 97 | root@srv1-in1:~# ip link set enp3s0 mtu 9000 up |
| 98 | root@srv1-in1:~# ip addr add 10.38.1.3/16 dev enp1s0 |
| 99 | root@srv1-in1:~# ip addr add 10.39.1.3/16 dev enp3s0 |
| 100 | }}} |
| 101 | ||||||||= Second corner (20-20) =|| |
| 102 | || ''Device'' || ''Control Network'' || ''Data Network 1'' || ''Data Network 2'' || |
| 103 | || Support Server || 10.37.1.4 (srv1-in2) || 10.38.1.4 (srv1a-in2) || 10.39.1.4 (srv1b-in2) || |
| 104 | || RFSoC Device || 10.37.6.4 (sdr2-in2) || 10.38.6.4 (sdr2-in2a) || 10.39.6.4 (sdr2-in2b) || |
| 105 | {{{#!shell-session |
| 106 | root@srv1-in2:~# ip link set enp1s0 mtu 9000 up |
| 107 | root@srv1-in2:~# ip link set enp3s0 mtu 9000 up |
| 108 | root@srv1-in2:~# ip addr add 10.38.1.4/16 dev enp1s0 |
| 109 | root@srv1-in2:~# ip addr add 10.39.1.4/16 dev enp3s0 |
121 | | || SN0240 as transmitter || SN0243 as receiver || |
122 | | || `root@srv4-lg1:~/ederenv# ./start_mb1.sh --gui SN0240` || `root@srv3-lg1:~/ederenv# ./start_mb1.sh --gui SN0243` || |
123 | | || Click "Enable Tx" and "LO leakage Cal" || Click "Enable Rx" || |
124 | | || [[Image(Sivers_TX_SN0240.jpg, 600px)]] || [[Image(Sivers_RX_SN0243.jpg, 600px)]] || |
125 | | === Execution === |
126 | | ==== Run the experiment ==== |
127 | | * Start the transmitter application on the TX node(srv4-lg1). Run the tx_waveforms python script in the examples folder: |
128 | | {{{#!shell-session |
129 | | root@srv4-lg1:~/rfsoc/examples# ./tx_waveforms |
130 | | }}} |
131 | | || Tx Waveform || |
132 | | || [[Image(rfsoc_tx.png, 700px)]] || |
| 124 | == Demos == |
| 125 | In the following subsections, you can find detailed descriptions for each demo. |