[[Include(WikiToC)]] == Amarisoft 4G/5G SDR System == === Description === This tutorial contains instructions for running the [https://www.amarisoft.com/ amarisoft] eNB and UE on various platforms. === Prerequisites === 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. === Resources required === 2 servers, 2 USRP N310s or 2 USRP X310s on COSMOS SB1 or WeeksHall domain === Tutorial Setup === Follow the steps below to gain access to the [wiki:/hardware/Domains/sb1 sandbox 1 console] and set up nodes with appropriate images. 1. If you don't have one already, sign up for a [https://www.cosmos-lab.org/portal-2/ COSMOS account] 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on sandbox 1 1. [Documentation/Short/Login Login] into sandbox 1 console (console.sb1.cosmos-lab.org) with two SSH sessions. 1. Make sure all the resources in the domain are turned off: {{{#!shell omf tell -a offh -t system:topo:allres }}} For this tutorial we will be using the SB1 servers, srv1-lg1, srv2-lg1 and USRP N310s, sdr1-md1, sdr1-s1-lg1 1. Load amarisoft-tutorial-cosmos.ndz on srv1-lg1,srv2-lg1. {{{#!shell omf load -i amarisoft-tutorial-cosmos.ndz -t srv1-lg1,srv2-lg1 }}} 1. Turn all the required resources on and check the status {{{#!shell omf tell -a on -t srv1-lg1,srv2-lg1,sdr1-md1,sdr1-s1-lg1 }}} {{{#!shell omf stat -t system:topo:allres }}} 1. ssh to the nodes, use option -Y for using GUI. === Tutorial Execution === * Upon logging into the nodes, run eth_config.sh script to setup the 10G data interfaces on the nodes, DATA1, DATA2. After running the script, you should see that the data interfaces have the appropriate IP addresses assigned, as per the table https://wiki.cosmos-lab.org/wiki/Architecture/Domains/cosmos_sb1#IPAddressAssignment {{{#!shell root@srv1-lg1:~# ./eth_config.sh }}} {{{#!shell root@srv1-lg1:~# ifconfig DATA1 DATA1: flags=4163 mtu 9000 inet 10.38.1.1 netmask 255.255.0.0 broadcast 10.38.255.255 inet6 fe80::1e34:daff:fe42:c3c prefixlen 64 scopeid 0x20 ether 1c:34:da:42:0c:3c txqueuelen 1000 (Ethernet) RX packets 61195963 bytes 199994153268 (199.9 GB) RX errors 0 dropped 6680 overruns 0 frame 0 TX packets 58734853 bytes 190912589303 (190.9 GB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@srv1-lg1:~# ifconfig DATA2 DATA2: flags=4163 mtu 9000 inet 10.39.1.1 netmask 255.255.0.0 broadcast 10.39.255.255 inet6 fe80::1e34:daff:fe42:c3d prefixlen 64 scopeid 0x20 ether 1c:34:da:42:0c:3d txqueuelen 1000 (Ethernet) RX packets 7378 bytes 651944 (651.9 KB) RX errors 0 dropped 6682 overruns 0 frame 0 TX packets 282 bytes 82239 (82.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 }}} * The nodes should now be able to access the USRP N310s sdr1-s1-lg1 and sdr1-md1 {{{#!shell root@srv1-lg1:~# uhd_find_devices [INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; UHD_3.15.0.0-release -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: serial: 3176DF5 addr: 10.38.2.1 claimed: False mgmt_addr: 10.37.2.1 mgmt_addr: 10.38.2.1 mgmt_addr: 10.39.2.1 product: n310 type: n3xx -------------------------------------------------- -- UHD Device 1 -------------------------------------------------- Device Address: serial: 3196937 addr: 10.38.3.1 claimed: False mgmt_addr: 10.37.3.1 mgmt_addr: 10.38.3.1 mgmt_addr: 10.39.3.1 product: n310 type: n3xx }}} ==== MME ==== ==== eNodeB/gNodeB ==== ==== UE ==== ==== Connecting Phones ====