Table of Contents
Monday - Block 1: Lab zero
Block 4: Emulation, scaling up, stitching
- jFed experiment toolkit:
- create topology: node, bridge, link latency…
- Combining resource from 2 infrastructure GENI & iminds? Rack1 & rack2 experiment
LTE group
- Ben, Mohamed S., Thuy, Tewende
Tue Block 1 - Wireless
- Sharing spectrum: interference space, frequency/time division
Tue Block 2 - Wireless + Robot
- OMF
- Hardware:
- Zotac emPC, wx wifi, sensor (802.15.4, env emulator..)
- DSS Barebone: bluetooth 3.0
- Robot: battery & emPC on top of cleaner robot. Power line LAN contact to connect with emPC on robot.
- USRP sensing
- Usecase:
- Tutorial: AP, robot iPerf.
- channel, mode, ap name, backup, robot name, dss
- Control robot: http://robotcontrol.wilab2.ilabt.iminds.be/#
- pieter.becue@intec.ugent.be
Tue Block 3 - Cloud lab
Cloudlab.us
- meta-cloud for building cloud.
- Build own cloud on our hardware
- agnostic to specific cloud SW
- run Ostack, hadoop
- build from ground up
- control and visibility all the way to bare metal
TEchnology foundation
- Emulab & ProtoGENI
- Web iface & GENI API (geni-lib, OMNI)
- scientific instrument for repeatable research
- physical isolation of resources
- Profiles for needed experiments: software, data, details, share, pulished (paper)
- CloudLab can be used with GENI account
Hands on
- login using geni, choose wall2..
- click download cert.
- login
- download cert again
Tuesday Block 4 - chef ansible
- Ansible, used by GENI / jFed
- RSpec
Wed OpenFlow
Wed Block 1 - GENI LTE
GENI setups:
- 2 EPC flavours: commercial from HW vendor & Openair interface.
- ref: therthinkging cellular arche and protocols for IoT communication“
- Motivation: 20K turnkey system for campus access to LTE technology.
- OpenAir interface
- Slicing LTE in GENI
- RS/AP manager
- Bscontrol with Rest APi, AIO specific resource management (R6+/S1)
- 4G hardware: TDD LTE, max 30 dBm per Tx, 2×2 MIMO, frequency band: 7 and 41, 12,13
- Nexus 5, AT command, USB dongles netgear 341U, linux driver.
- witestlab.poly.edu/blog
Headline
OpenAirInterface LTE
This tutorial also assumes basic familiarity with LTE standard. It uses OpenAirInterface open source software implementation of LTE basestation (eNodeB or eNB) and modem (user equipment or UE) developed at Eurecom. The tutorial given here is based on the OAI_real-time_LTEsoftmodem tutorial.
The image used for this experiment is oai-trunk-head.ndz. Image uses Ubunutu 14.04 and has low-latency 3.19 kernel install and UHD drivers needed for B210/X310 USRPs (UHD 3.8.2)). This image was derived from vanilla image ubuntu-14-04-64bit-3.19-lowlatency.ndz (that was created based on OpenAir instructions) from ubutbu-14-04-64bit.ndz (baseline.ndz). In addition to installation steps in OpenAir documentation, once low latency kernel was installed, drivers for Broadcom and Netgear devices? had to be manually re-installed.
Two images were created based on git cloning instructions and compiling instructions:
oai-master.ndz - master branch clone from git in /root
oai-develop.ndz - develop branch clone from git in /root
The openair-cn (EPC) was installed with default passwords of oai and default choice of "N" for optional packages (freeDiameter, asn1c pach and xtables_addons_oai). xtables_addons_oai was pulled out of git but not installed.
Update for oai-develop.ndz: The openair-cn (EPC) was installed with default passwords of oai and default choice of "Y" for optional packages (freeDiameter, asn1c pach and xtables_addons_oai). xtables_addons_oai was pulled out of git and installed.
Quickstart Option
Note If you intend to use graphical user interface please make sure to install appropriate tools on your local machine and configure X11 forwarding
We have an image available, named oai-dev.ndz. It has all the necessary driver and software pre-installed, and two scripts available to immediately boot up the eNB and UE. This quickstart assumes use of Sandbox1, nodes 1-1, and 1-2.
1. To proceed, after having a reservation, load the following image.
omf load -t node1-1,node1-2 -i oai-dev.ndz
The nodes will automatically turn off when imaging is completed.
1. Turn the nodes on.
omf tell -a on -t node1-1,node1-2
1. Open a terminal to each node. You must enable X11 Forwarding to see the GUI and statistics screens. 1. On the first node, execute script ./CompandRuneNB 1. On the second node, execute script ./CompandRunUE 1. For subsequent runs, execute ./runeNB or ./runUE instead, to avoid recompiling. 1. These scripts will create interface oai0 and assign an address.
Use ifconfig or ip a to see the address assigned.
By default the eNB has address 10.0.1.1, and the UE has addresss 10.0.1.9, but you should double check.
1. You should be able to ping from one node to the other on these addresses.
From UE, ping 10.0.1.1 or to see live statistics mtr 10.0.1.1
1. For throughput testing
On the eNB, execute iperf -s
On the UE, execute iperf -c 10.0.1.1
Sample output looks like:
Headline
AmariSoft LTE
The image used for this experiment is 'baseline.ndz'. In this tutorial we will use nodes equipped with Netgear AC341u LTE dongles. The basestation is Amarisoft running on Bsc03out.
During a normal experiment using OMF, the following actions are scripted and automated. This is a look at the steps involved in something as simple as starting an LTE connection behind the scenes.
You will run the following commands on node7-1.grid.orbit-lab.org, node1-7.grid.orbit-lab.org, node19-3.grid.orbit-lab.org
After connecting to the grid console: 1. omf load -i baseline.ndz -t node7-1.grid.orbit-lab.org
2. omf tell -a on -t node7-1.grid.orbit-lab.org
3. It will take roughly 60 seconds to come up.
4. ssh root@node7-1.grid.orbit-lab.org
5. modprobe GobiSerial
6. modprobe GobiNet
7. minicom -D /dev/ttyUSB1
8. AT!ippassthrough?
9. It should return 1
If it does not, run AT!ippassthrough=1 then AT!reset
AT!entercnd="A710"
You should see OK
AT!dxcfg=wwan,connect,11
You should see OK then $QCRMCALL: 1, V4
at!gstatus?
Will return a status like:
at!gstatus?
!GSTATUS:
Current Time: 10049 Temperature: 42
Bootup Time: 0 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B25 LTE bw: 10 MHz
LTE Rx chan: 8365 LTE Tx chan: 26365
EMM state: Registered Normal Service
RRC state: RRC Connected
IMS reg state: No Srv
RSSI (dBm): -83 Tx Power: 0
RSRP (dBm): -117 TAC: 0001 (1)
RSRQ (dB): -10 Cell ID: 01A2D001 (27447297)
SINR (dB): 1.6
5. Exit Minicom by **PRESSING** Ctrl+A followed by x , then enter to select ok.
dhcpcd eth2 followed by enter to get a new line.
6. You should get an address in the 192.168.3.0/24 subnet.
{{{ route add default eth2
ping 192.168.3.1 }}}
7. You have successfully communicated with the basestation.
8. You can cancel the ping with Ctrl+C
9. iperf -c 192.168.3.1
This will report your bandwidth to the basestation.
Sample output
root@node1-7:~# ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=225 ms
64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=56.2 ms
64 bytes from 192.168.3.1: icmp_seq=3 ttl=64 time=54.8 ms
^C
--- 192.168.3.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 54.837/112.267/225.716/80.222 ms
root@node1-7:~# iperf -c 192.168.3.1
------------------------------------------------------------
Client connecting to 192.168.3.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.3.2 port 43281 connected with 192.168.3.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.2 sec 9.50 MBytes 7.80 Mbits/sec
10. Uses rest interface to manage the BS. To set the LTE connection bandwidth to 5 MHz issue the following commands on the console (not node):
wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/default_cell_parameters?n_rb_dl=25
wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/restart
Setting n_rb_dl to 50 sets it to 10 MHz while setting it to 100 sets the bandwidth to 20 MHz. After basestation restarts, most of the clients need to be also reconnected.
Wed Block 2 - GENI FLEX
- OMF experiment orchestration, load/save images on nodes.
- OML OMF measurement library
- Nitos LTE documentation: http://nitlab.inf.uth.gr/doc/
Tutorial Nitos FLEX:
http://nitlab3.inf.uth.gr:8888/fgre
FGRE FLEX LTE Tutorial
1st Experiment
Login to nitlab3.inf.uth.gr server:
ssh fgreY@nitlab3.inf.uth.gr
password: fgreY_nitos, Y = 1,2,3,4,5,6
and then execute the omf experiment:
omf exec ~/fgre_commercial.rb
Open a new terminal and login to irodsweb.inf.uth.gr server
ssh fgreY@irodsweb.inf.uth.gr
password: fgreY_nitos, Y = 1,2,3,4,5,6
Run the omf web service:
cd omf_web_nitos_fgre2016/
ruby1.9.1 -I lib/ example/fgre/simple_viz_server.rb start -p 300Z --db Exp.ID
Z = 10,11,12,13,...,21
For further information you can visit the NITOS LTE documentation: NITOS LTE documentation
2nd Experiment
Use the terminal with which you are already logged in to nitlab3.inf.uth.gr server and execute the omf experiment:
omf exec ~/fgre_unlicensed.rb
Use the terminal with which you are already logged in to irodsweb.inf.uth.gr server and run the omf web service:
ruby1.9.1 -I lib/ example/fgre/simple_viz_server.rb start -p 300Z --db Exp.ID
Z = 10,11,12,13,...,21
Wed Block 3 - Phantomnet
- virtual machine testbed with EPC UE components
- hardware are connected with host
- using geni-lib for experiment description (phantomnet profile - source)
Project - Self Healing
- OAI EPC → node068
- OAI EPC → node060
- LTE UE1 → node071
- LTE UE2 → node086
- wifi only → node089
Upload public key and ssh as fgre2016
Headline
Login to host
ssh slice_name@nitlab3.inf.uth.gr
Show what nodes are available:
wget -qO- http://lterf:5054/lterf/bs/list which should reply something like the following:
AP Number : 1 | Type of BS : ipaccess | Ip : 192.168.200.1 | Management Iterface : eth0 AP Number : 2 | Type of BS : ipaccess | Ip : 10.64.44.52 | Management Iterface : eth1 AP Number : 3 | Type of BS : oai | Ip : 10.64.44.56 | Management Iterface : eth1
Load firmware:
omf load -i baseline.ndz -t node087
Show status
omf stat -t node016
Turn on/off
omf tell -a on -t node016 omf tell -a reboot -t node016
Runscript
OMF6
omf_ec -u xmpp://script_user:pw@nitlab3.inf.uth.gr exec --oml_uri tcp:nitlab.inf.uth.gr:3003 scripts/simple_omf.rb
The OMF Experiment Description Language (OEDL)
Advances
OMF RC on host nitlab3.inf.uth.gr
cat /etc/nitos_testbed_rc/omf_script_conf.yaml :xmpp: :script_user: script_user :password: pw :server: <%= Socket.gethostname %>.inf.uth.gr :auth: :root_cert_dir: /etc/nitos_testbed_rc/trusted_roots :entity_cert: ~/.omf/user_cert.pem :entity_key: ~/.ssh/id_rsa #operation mode for OmfCommon.init (development, production, etc) :operationMode: production #omf script configuration :omf_script: #default last action on load and save commands (reset or shutdown) :last_action: reset