My Wiki!

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

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

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

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

Navigation