Using the LTE equipment

Transmit LTE traffic (ping - iperf)

Setup

The following picture depicts the LTE network’s architecture

Requirements

  • A server node to host the SiRRAN EPC image
  • One or more femtocells
  • One or more LTE compatible nodes
  • Optional - A node to host the LTErf image (for OMF enabled experimentation)

OS Images

The following table shows the name of each respective OS image, the type of the OS and their public urls.

Functionality, name, type and public url of the respective LTE OS images
Functionality Name Type Public urn or url
SiRRAN EPC SIRRAN_EPC_v1_7_50_2018 Centos urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:SIRRAN_EPC_v1_7_50_2018
LTErf LTErf-v2 Ubuntu 12.04 64bit https://www.wall1.ilabt.iminds.be/image_metadata.php?uuid=37d19e2c-ca91-11e5-a2c8-003048d1cfa6
LTE UE LTE_UE_Ubuntu_14_04_64bit_v2 Ubuntu 14.04 64bit urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2

Experiment Description in W-iLab.2 using JFED

You can use the following rspec file for LTE experimentation using JFED in W-iLab.2. The file describes the topology, which is depicted in the picture bellow and contains the EPC, the LTErf, the 2 femtocells and all the enabled LTE nodes (fixed and mobile). The experimenter can modify the file regarding his/her needs.

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-10-20T14:55:14.178+02:00" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
  <node client_id="EPC" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+server8">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:SIRRAN_EPC_v1_7_50_2018"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="230.0" y="32.5"/>
    <interface client_id="EPC:if0">
      <ip address="192.168.1.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="LTErf" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+server7">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wall1.ilabt.iminds.be/image_metadata.php?uuid=37d19e2c-ca91-11e5-a2c8-003048d1cfa6"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="229.0" y="244.5"/>
    <interface client_id="LTErf:if0">
      <ip address="192.168.1.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="Femto1" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+ltefemtocell1">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+emulab-ops:GENERICDEV"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="53.5" y="138.5"/>
    <interface client_id="Femto1:if0">
      <ip address="192.168.1.10" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="Femto2" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+ltefemtocell2">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+emulab-ops:GENERICDEV"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="401.5" y="140.5"/>
    <interface client_id="Femto2:if0">
      <ip address="192.168.1.11" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="Mobile1" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile1">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="600.0" y="16.5"/>
  </node>
  <node client_id="Mobile2" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile2">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="600.0" y="56.5"/>
  </node>
  <node client_id="Mobile3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile3">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="600.0" y="96.5"/>
  </node>
  <node client_id="Mobile4" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile4">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="599.0" y="136.5"/>
  </node>
  <node client_id="Mobile5" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile5">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="599.0" y="176.5"/>
  </node>
  <node client_id="Mobile6" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile6">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="730.5" y="16.5"/>
  </node>
  <node client_id="Mobile7" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile7">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="729.5" y="56.5"/>
  </node>
  <node client_id="Mobile8" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile8">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="729.0" y="96.5"/>
  </node>
  <node client_id="Mobile9" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile9">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="729.0" y="136.5"/>
  </node>
  <node client_id="Mobile10" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile10">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="729.5" y="177.5"/>
  </node>
  <node client_id="Mobile11" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile11">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="867.5" y="19.5"/>
  </node>
  <node client_id="Mobile12" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile12">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="869.0" y="57.5"/>
  </node>
  <node client_id="Mobile13" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile13">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="869.5" y="97.5"/>
  </node>
  <node client_id="Mobile14" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile14">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="869.5" y="137.5"/>
  </node>
  <node client_id="Mobile15" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+mobile15">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wilab2.ilabt.iminds.be/image_metadata.php?uuid=a16c037d-0ebc-11e5-a185-000c293cff7f"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="868.5" y="175.5"/>
  </node>
  <node client_id="zotacB3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacB3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="9.0" y="316.5"/>
  </node>
  <node client_id="zotacB4" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacB4">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="8.5" y="356.5"/>
  </node>
  <node client_id="zotacC1" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacC1">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="9.5" y="397.5"/>
  </node>
  <node client_id="zotacC4" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacC4">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="7.5" y="436.5"/>
  </node>
  <node client_id="zotacD6" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacD6">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="139.5" y="317.5"/>
  </node>
  <node client_id="zotacE3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacE3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="140.5" y="358.5"/>
  </node>
  <node client_id="zotacF1" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacF1">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="139.5" y="398.5"/>
  </node>
  <node client_id="zotacF6" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacF6">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="138.5" y="437.5"/>
  </node>
  <node client_id="zotacG3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacG3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="268.5" y="318.5"/>
  </node>
  <node client_id="zotacG4" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacG4">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="268.5" y="359.5"/>
  </node>
  <node client_id="zotacH1" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacH1">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="267.5" y="397.5"/>
  </node>
  <node client_id="zotacH6" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacH6">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="268.5" y="438.5"/>
  </node>
  <node client_id="zotacI3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacI3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="397.5" y="317.5"/>
  </node>
  <node client_id="zotacJ2" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacJ2">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="398.0" y="359.5"/>
  </node>
  <node client_id="zotacJ3" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacJ3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="398.5" y="398.5"/>
  </node>
  <node client_id="zotacK4" exclusive="true" component_manager_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wilab2.ilabt.iminds.be+node+zotacK4">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="398.0" y="438.5"/>
  </node>
  <link client_id="link0">
    <component_manager name="urn:publicid:IDN+wilab2.ilabt.iminds.be+authority+cm"/>
    <interface_ref client_id="EPC:if0"/>
    <interface_ref client_id="LTErf:if0"/>
    <interface_ref client_id="Femto1:if0"/>
    <interface_ref client_id="Femto2:if0"/>
    <link_type name="lan"/>
  </link>
</rspec>

Experiment Descirption using Emulab

The following experiment uses:

  • Server 8 to load the SiRRAN EPC image
  • Server 7 to load the LTErf image
  • Robot 10 to load the LTE UE image
  • Node E3 (25) to load the LTE UE image
  • 2 femtocells
# Generated by NetlabClient
set ns [new Simulator]
source tb_compat.tcl
# Nodes
# Femtocell 1
set lte1 [$ns node]
$lte1 add-desire LTE-FEMTOCELL 1.0
tb-fix-node $lte1 ltefemtocell1

# Femtocell 2
set lte2 [$ns node]
$lte2 add-desire LTE-FEMTOCELL 1.0
tb-fix-node $lte2 ltefemtocell2

# zotacE3 (static node 25) - dongle
set zotac1 [$ns node]
#$zotacE3 add-desire ZOTAC
tb-fix-node $zotac1 zotacE3
tb-set-node-os $zotac1 #url_of_the_UE_image_goes_here

# mobile10 (robot 10) - dongle
set robot1 [$ns node]
tb-fix-node $robot1 mobile10
tb-set-node-os $robot1 #url_of_the_UE_image_goes_here

# Node 8 - SiRRAN EPC
set serv8 [$ns node]
tb-set-node-os $serv8 #urn_of_the_EPC_image_goes_here

set serv7 [$ns node] - LTErf
tb-fix-node $serv7 server7
tb-set-node-os $serv7 #url_of_the_LTErf_image_goes_here

# Lans
set lan0 [$ns make-lan "$lte1 $lte2 $serv8 $serv7" 1000000.0kb 0.0ms]
tb-set-ip-lan $serv8 $lan0 192.168.1.1
tb-set-ip-lan $serv7 $lan0 192.168.1.2

$ns rtproto Static
$ns run

# NetlabClient generated file ends here.
# Finished at: 3/18/14 4:08 PM

Experiment Description using Qosmotec framework

You can use the following rspec file for LTE experimentation using JFED in the Qosmotec framework. The file describes the topology, which is depicted in the picture bellow and contains the EPC, the LTErf, the 2 femtocells and the two enabled LTE nodes zotacSB3 and zotacSB4. The experimenter can modify the file regarding his/her needs.

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-06-27T15:59:40.234+02:00" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
  <node client_id="EPC" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wall1.ilabt.iminds.be+node+n073-23a">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:SIRRAN_EPC_v1_7_50_2018"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="247.0" y="261.5"/>
    <interface client_id="EPC:if0">
      <ip address="192.168.1.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="Femto1" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wall1.ilabt.iminds.be+node+switch1-13-46">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wall1.ilabt.iminds.be+image+emulab-ops:GENERICDEV"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="91.5" y="162.5"/>
    <interface client_id="Femto1:if0">
      <ip address="192.168.1.12" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="Femto2" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wall1.ilabt.iminds.be+node+switch1-13-47">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wall1.ilabt.iminds.be+image+emulab-ops:GENERICDEV"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="389.5" y="161.5"/>
    <interface client_id="Femto2:if0">
      <ip address="192.168.1.13" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="LTErf" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm">
    <sliver_type name="raw-pc">
      <disk_image name="https://www.wall1.ilabt.iminds.be/image_metadata.php?uuid=37d19e2c-ca91-11e5-a2c8-003048d1cfa6"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="247.0" y="55.5"/>
    <interface client_id="LTErf:if0">
      <ip address="192.168.1.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="UE1" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wall1.ilabt.iminds.be+node+zotacSB3">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="560.0" y="97.5"/>
  </node>
  <node client_id="UE2" exclusive="true" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" component_id="urn:publicid:IDN+wall1.ilabt.iminds.be+node+zotacSB4">
    <sliver_type name="raw-pc">
      <disk_image name="urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_UE_Ubuntu_14_04_64bit_v2"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="559.0" y="229.5"/>
  </node>
  <link client_id="link0">
    <component_manager name="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm"/>
    <interface_ref client_id="EPC:if0"/>
    <interface_ref client_id="Femto1:if0"/>
    <interface_ref client_id="Femto2:if0"/>
    <interface_ref client_id="LTErf:if0"/>
    <link_type name="lan"/>
  </link>
</rspec>

LTE node preparation (UEs)

Scripted way

The LTE UE OS image comes with a script that automates the attachment and configuration procedure.
To run the script go to the /share/upload/LTE/bash_script folder and run:
sudo bash configure_lte_dongle.sh -c

To reset the dongle run:

sudo bash configure_lte_dongle.sh -r

For check all the availalbe functionalities run:

sudo bash configure_lte_dongle.sh -h

Manually

Alternativelly, the same procedure can be done manually.
To attach the dongle to the EPC and obtain an IP address type the next AT commands using a serial communication software like minicom:
AT+COPS=? # to search for the available networks
AT+COPS=1,2,"22345" # to register to a network with PLMN code "22345" which is the iMinds PLMN code
AT+CGATT=1 # to attach to the registered network
AT+CGDCONT=1,"IP","default" # where "default" is the iMinds APN
AT^NDISDUP=1,1 # to initialize the NDIS connection
AT^DHCP? # to obtain an IP address

The AT^DHCP? command returns the IP in the following HEX form: 203000a,fcffffff,103000a,103000a,8080808,4040808,100000000,50000000 In order to convert the IP to decimal type run the following command with the returned IP as parameter.

perl -e 'print join(",",map { join(".", unpack("C4", pack("L", hex))) } split /,/, shift),"\n"' 203000a,fcffffff,103000a,103000a,8080808,4040808

Afterwards, you have to enable the wwan0 interface and assign the obtained IP address

sudo ifconfig wwan0 10.0.3.2 netmask 255.255.255.0 -arp up

As an additional step, you have to perform an SSH connection to the node (from an other separate node) using its control interface IP address. This is necessary as we need to change the default gateway in order the node to be able to communicate using the wwan0 interface.

Finally, you have to delete the default gateway and replace it with the EPC’s address.

sudo route del default gw 10.11.31.254
sudo route add default gw 10.0.3.1 dev wwan0

Experimentation

To ping the wwan0 interface on each LTE node from the EPC and vice versa

ping 10.0.3.1 # tap0 interface of EPC
ping 10.0.3.2 # wwan0 interface of LTE node 1
ping 10.0.3.3 # wwan0 interface of LTE node 2

In order to send an iperf traffic between the two LTE nodes or between a node and the EPC run the following commands for the server and the client respectively

iperf -s -u -i 1 # For the server
iperf -u -c [ip of the server] -b 100M -i 1 -t 40 # For the client

Using the Huawei E3372h-153 dongles

The Huawei E3372h USB LTE dongles are configured in HiLink mode. This means that the dongle functions as router performing NAT. For this reason, HiLink mode cannot be used for remote access applications (e.g. Remote Desktop, VNC, web servers, etc.) where “inbound” connections are initiated by computers on the Internet. To use HiLink mode, your application must require only “outbound” initiated connections (e.g. web browsing, email, etc.), or you must implement a VPN connection to another device which is initiated by the router which has the HiLink mode modem installed.

Switch mode Some times the OS recognizes the dongle as CD (12d1:1f01) or HiLink modem (12d1:14dc). In order to check the mode of the attached dongle run:

lsusb

You should see something like:

Bus 001 Device 004: ID 12d1:1f01 Huawei Technologies Co., Ltd.
or
Bus 001 Device 006: ID 12d1:14dc Huawei Technologies Co., Ltd.

If the dongle is in CD (12d1:1f01) mode then you should switch it to HiLink (12d1:14dc) mode. Normally you have to do this procedure once and the modem stays in HiLink mode until it is switched manually to another mode. To do so you have to create in your home folder two files named:

  • sw_project_mode.sh
  • sw_project_mode.xml

Then for the sw_project_mode.sh paste the following code:

curl -X POST -d @sw_project_mode.xml http://192.168.8.1/CGI
read -p "prompt"

and for the sw_project_mode.xml paste the following code:

<?xml version="1.0" encoding="UTF-8"?>
<api version="1.0">
<header>
        <function>switchMode</function>
</header>
<body>
        <request>
                <switchType>0</switchType>
        </request>
</body>
</api>

In order to switch to HiLink (12d1:14dc) mode run in the folder where you created the files the following command:

sudo bash sw_project_mode.sh

If the script does not exit press Ctrl+C to kill it. Verify that the dongle has switched to HiLink (12d1:14dc) mode by running:

lsusb

When the dongle is in HiLink (12d1:14dc) mode, creates an eth1 interface. You can verify this by running:

ifconfig

Connect to the LTE network

The dongles are preconfigured to attach to the LTE network. This can be verifies by checking the desired IMSI in the “Active subscribers” list of the EPC.

To change the network settings of the dongle in HiLink (12d1:14dc) mode you have to access the Web GUI of the dongle. This can be found in the following url:

192.168.8.1

To be able to access the url first you have to configure the dongle’s interface (normally eth1) to an address in the same range. To do so you can either run the dhclient command:

dhclient eth1

or assign an (unused) IP address manually. For instance:

sudo ifconfig eth1 192.168.8.4 up

The from the command line (install and) run firefox using X-forwarding. By accessing the 192.168.8.1 address and going to Settings -> Profile Management tab you can configure the APN of the desired LTE network.

  • Profile name: default
  • username: leave it empty
  • password: leave it empty
  • APN: default

At the Settings -> Mobile Connection tab activate the roaming option.

Then, you must be able to see your dongle in the “Active subscribers” list of the EPC.

Ping the EPC

To ping the EPC from a node using a Huawei E3372h-153 dongle you have to add the following ip route:

ip route add 10.0.3.0/24 via 192.168.8.1 dev eth1

Control an Android smarphone via ADB

For experimentation with an Android smartphone load the following image to the node on which the smartphone is attached to.

Functionality, name, type and public url of the respective LTE OS images
Functionality Name Type URN
Android Smartphone LTE_Android_Ubuntu_14_04_v1 Ubuntu 14.04 64bit urn:publicid:IDN+wilab2.ilabt.iminds.be+image+wall2-ilabt-iminds-be:LTE_Android_Ubuntu_14_04_v1

This image offers pre-installed the ADB tool to control the Android smartphone via USB. The ADB tool can be found under:

/android/android-sdk-linux/platform-tools

Initial steps

The first time you login into the node execute the following commands:

cd /android/android-sdk-linux/platform-tools
sudo ./adb devices
sudo ./adb kill-server
sudo cp /share/upload/LTE/android/keys/adbkey ~/.android/
sudo cp /share/upload/LTE/android/keys/adbkey.pub ~/.android/
sudo ./adb devices

This way you will replace the keys that are used for authentication between the node and the smartphone with the predefined ones.

Shell access

To gain shell access to the Android device run:

cd /android/android-sdk-linux/platform-tools
sudo ./adb shell

In the Android shell you can type su in order to gain root access.

Remote Android screen access

The afforementioned image comes with androidscreencast pre-installed. This tool allows the experimenter to get remote access of the smartphone’s screen.

cd /android/android-sdk-linux/platform-tools
javaws androidscreencast.jnlp

Press “Run” or “Yes” in all the pop-up windows that appear to gain access to the smartphone’s screen.

Manage APNs

W-iLab.2 has the following APN details:
name: default
mmc: 223
mnc: 45
username: “”
password: “”
Open an adb shell
cd /android/android-sdk-linux/platform-tools
./adb shell
su

Check if your carrier is listed in the default list of carriers. Origins in [] are optional

content query --uri content://telephony/carriers [--where "name=''"]

If your carrier is not listed, you have to add it to the list.

content insert --uri content://telephony/carriers --bind name:s:"default" --bind numeric:s:"22345" --bind type:s:"" --bind mcc:i:223 --bind mnc:s:45 --bind apn:s:default  --bind user:s:"" --bind password:s:""

To delete the carrier run:

content delete --uri content://telephony/carriers --where "numeric='22345'"

Exit the shell

exit
To see the APN in tge access points screen in the settings of the smartphone you have to add the following xml file with name com.android.settings_preferences.xml under the /data/data/com.android.settings/shared_prefs/ folder of the Android smartphone.
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <set name="bearer_multi">
        <string>0</string>
    </set>
    <string name="apn_http_proxy"></string>
    <string name="select_usb_configuration">mtp</string>
    <boolean name="wait_for_debugger" value="false" />
    <boolean name="show_cpu_usage" value="false" />
    <boolean name="force_hw_ui" value="false" />
    <boolean name="bugreport_in_power" value="false" />
    <string name="apn_type"></string>
    <string name="apn_mnc">45</string>
    <boolean name="pointer_location" value="false" />
    <boolean name="keep_screen_on" value="false" />
    <boolean name="mobile_data_always_on" value="false" />
    <string name="apn_mms_proxy"></string>
    <boolean name="legacy_dhcp_client" value="false" />
    <boolean name="enable_adb" value="true" />
    <string name="mvno_match_data"></string>
    <string name="apn_protocol">IP</string>
    <boolean name="bt_hci_snoop_log" value="false" />
    <boolean name="debug_layout" value="false" />
    <boolean name="wifi_aggressive_handover" value="false" />
    <string name="apn_apn">default</string>
    <boolean name="show_hw_screen_udpates" value="false" />
    <string name="apn_http_port"></string>
    <boolean name="strict_mode" value="false" />
    <boolean name="wifi_display_certification" value="false" />
    <boolean name="show_hw_layers_udpates" value="false" />
    <boolean name="usb_audio" value="false" />
    <boolean name="wifi_allow_scan_with_traffic" value="false" />
    <string name="apn_user"></string>
    <boolean name="show_screen_updates" value="false" />
    <string name="mvno_type"></string>
    <boolean name="show_touches" value="false" />
    <boolean name="debug_view_attributes" value="false" />
    <string name="apn_roaming_protocol">IP</string>
    <boolean name="wifi_verbose_logging" value="false" />
    <boolean name="immediately_destroy_activities" value="false" />
    <boolean name="oem_unlock_enable" value="true" />
    <string name="apn_mcc">223</string>
    <boolean name="verify_apps_over_usb" value="true" />
    <boolean name="show_all_anrs" value="false" />
    <boolean name="force_msaa" value="false" />
    <string name="apn_name">default</string>
    <string name="apn_password"></string>
    <boolean name="carrier_enabled" value="true" />
    <string name="apn_mms_port"></string>
    <boolean name="disable_overlays" value="false" />
    <string name="apn_mmsc"></string>
    <string name="apn_server"></string>
    <boolean name="force_rtl_layout_all_locales" value="false" />
    <string name="select_logd_size">262144</string>
</map>

This file is located under /share/upload/LTE/android/apn/ folder. To copy it in the afforementioned folder of the Android smartphone run:

cd /android/android-sdk-linux/platform-tools
adb push /share/upload/LTE/android/apn/com.android.settings_preferences.xml /sdcard
./adb shell
su
cp /sdcard/com.android.settings_preferences.xml /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
rm /sdcard/com.android.settings_preferences.xml
exit
exit

Toggle Data

cd /android/android-sdk-linux/platform-tools
./adb shell svc data enable
./adb shell svc data disable

Toggle Wi-Fi

cd /android/android-sdk-linux/platform-tools
./adb shell su -c 'svc wifi enable'
./adb shell su -c 'svc wifi disable'

WiFi QoS Management

In this experiment, four nodes are used as devices under test, while the fifth node is used as a WiSHFUL controller. The four nodes are split into two AP - client setups sharing the same channel and are running the iPerf application to measure network bandwidth. The WiFi QoS manager implemented as WiSHFUL controller will modify EDCA parameters of one of the flows changing the bandwidth allocation.

Create an experiment in jFed containing 7 nodes, named as follows:

  • ec
  • oml
  • controller
  • ap1
  • ap2
  • client1
  • client2

An example OMF experiment description can be found in the shared directory:

/share/upload/omf6/wishful/wishful_edca.rb
/share/upload/omf6/wishful/iperf.rb

Copy the files to your group directory and modify them:

  • replace all occurrences of <YOUR-PROJECT-NAME>
  • replace all occurrences of <YOUR-SLICE-NAME>
  • replace <IP-ADDRESS-OF-YOUR-CONTROLLER> with the actual IP address of your controller
  • make sure that you named your nodes as listed above, otherwise you also have to change those in your OMF experiment description

Run it with:

omf_ec -u amqp://labwiki.test.atlantis.ugent.be exec --oml_uri tcp:<NAME-OF-YOUR-OML-SERVER>:3003 wishful_edca.rb

To patch the ath9k driver (UNTESTED!!):

sudo -s
wget https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.4.2/backports-4.4.2-1.tar.xz
tar -xJf backports-4.4.2-1.tar.xz
cd backports-4.4.2-1/
cd drivers/net/wireless/ath/
#the steps below will make sure the ath9k driver uses the correct regulatory restrictions for your country
wget --no-check-certificate https://dev.openwrt.org/export/32952/trunk/package/mac80211/patches/403-ath_regd_optional.patch
patch -Np5 -i 403-ath_regd_optional.patch
echo "#define ATH_USER_REGD 1" | cat - regd.c > /tmp/out && mv /tmp/out regd.c
cp /share/upload/ath9k/edca_tpc_patch.patch .
patch -Np5 -i edca_tpc_patch.patch
cd -
make defconfig-ath9k menuconfig
#enable debugging in ath9k as described here: https://wireless.wiki.kernel.org/en/users/drivers/ath9k/debug
make
make install
reboot

Retrieve statistics of connected stations

Create an experiment in jFed containing 7 nodes, named as follows:

  • ec
  • oml
  • controller
  • ap1
  • ap2
  • client1
  • client2

Use this image:

urn:publicid:IDN+wilab2.ilabt.iminds.be+image+testbed:UBUNTU14-64-wishful

An example OMF experiment description can be found in the shared directory:

/share/upload/omf6/wishful/wishful_rssi.rb
/share/upload/omf6/wishful/iperf.rb

Copy the files to your group directory and modify them:

  • replace all occurences of <YOUR-SLICE-NAME>
  • replace <IP-ADDRESS-OF-YOUR-CONTROLLER> with the actual IP address of your controller
  • make sure that you named your nodes as listed above, otherwise you also have to change those in your OMF experiment description

Modify your global control program on your controller :

nano /root/wishful/examples/wilab/rssi/wishful_simple_controller

And put your own experiment details in:

omlDB=OMLBase("station_info", "<EXP_NAME>","controller","tcp:<OML-SERVER>:3003")

Run it with (replace <EXP_NAME> with a UNIQUE name for your experiment (same as the one above in the control program). If you run the same experiment multiple times, change the name of the experiment EVERY time):

omf_ec --name <EXP_NAME> -u amqp://labwiki.test.atlantis.ugent.be exec --oml_uri tcp:<NAME-OF-YOUR-OML-SERVER>:3003 wishful_edca.rb