wiki:GEC21Agenda/iMinds

Version 18 (modified by pieter.becue@intec.ugent.be, 5 years ago) (diff)

--

Tutorial: Wireless experiments using the iMinds w-iLab.t testbed

Live Stream Information

TBD

Schedule

Tuesday 10.30am - 12.30pm

Tutorial Instructors

Pieter Becue
iMinds
Brecht Vermeulen
iMinds
Thijs Walcarius
iMinds

Agenda Details

Prerequisites

  • A GENI account, if you don't have one sign up!

Please Arrive With:

A Laptop, preferable with the following tools pre-installed:

  • a recent Java7 version
  • a recent version of Chrome browser or Safari (if you want to use the Robot Control Dashboard)

How to get Help

  • Always ask your tutors (tutorial helper/presenter/TA) first. They are the fastest way to solve the problem.
  • If you are using a specific aggregate or tool, you should consider registering in their mailing list. It is a great way to get connected with other GENI users and it is an excellent source of wisdom.
  • Send mail to the GENI help list: help@geni.net or the geni-users forum
  • If you want to chat real-time with other GENI users and ask questions, join us in a GENI chatroom.

Results

Tutorial materials

If you have not attended the session, please read the general introduction to the iMinds w-iLab.t testbed before starting this tutorial.

Tutorial outline:

In this tutorial, we will show you how to set up one wireless access point and connect with 1 client. The access point will start an iPerf server instance, after which we will run an iPerf client instance on the second node. By using the correct IP addresses, we make sure that the iPerf traffic stream is routed over the wireless interfaces. In this tutorial, we will use a fixed wireless node for setting up the access point. The client will be running on a mobile node. After successfully setting up the iPerf stream, we will demonstrate how the mobile nodes can be configured to drive a pre-determined path.

In a second part of the tutorial, we will demonstrate how to use OMF/OML & Labwiki to run wireless experiment on the w-iLab.t testbed, including mobile nodes. Using the graph plotting capabilities of Labwiki, you will be able to visualise the iPerf throughput.

Part 1: Wireless & mobile experimentation at w-iLab.t

Download your GENI certificate

Login to the GENI portal and browse to the profile page. Now go to the ssl tab and click on 'Download your SSL certificate and key' and click 'Download Your Portal Generated Certificate and Private Key' on the next page. Store the resulting .pem-file somewhere on your hard drive, you will need it in the next steps.

Generate a pkcs12 file and import it into your browser

This step is needed to be able to reserve nodes at the iMinds w-iLab.t testbed and access the Robot Control Dashboard.

Fire up jFed by browsing to the jFed home page and click on 'Quickstart jFed experimenter tool'. If all goes well, you should be prompted to provide your User certificate and Password. Browse to the location where you stored the .pem-file (see previous step), provide your password and click 'Login'.

Once jFed is started, click on 'Preferences', select 'User details' and save your login as PKCS12. Store the resulting .p12-file somewhere on your hard drive.

Windows users(Chrome): Browse to the location where you stored the .p12-file and double-click it. Follow the instructions on screen to add your credentials to the certificate store. Linux/MAC OSX users: Import your .p12 file in the certificate store of your browser.

Reserve some nodes at w-iLab.t

Browse to the w-iLab.t reservation page. If the previous step was successful, you should now be prompted to select your certificate. Once the page has loaded, please verify that the last part of the User URN matches your own user name.

Modify the end hour to 12:30 and click on 'Get Free Nodes'. Every group should reserve 3 wireless nodes for this tutorial. See the table below to see which nodes are available for your group number (ask the tutor if you have not received a number yet).

Activate your nodes using jFed

All of the w-iLab.t nodes have been previously reserved for the "GEC21" project. You should join this project prior to running the tutorial.

Every group has 3 wireless nodes (2 fixed and 1 mobile) which you have to activate using jFed. You should choose specific nodes in jFed by right clicking the node. Name them: ap, client and backup. See the table on the group sheets to see which nodes you can use.

Configure the access point (on the mobile node)

Before running the experiment, we will use the shell script option in the RSpec to install hostapd. Go to the Raw RSpec view and add the following in the node part of the ap (first line is already there):

<sliver_type name="raw-pc"/>
<services>
     <execute shell="sh" command="sudo apt-get update ; sudo apt-get install hostapd ; "/>
</services>

Configuration of Access Point (on your mobile node)

SSH to your mobile node (from jFed). Become root:

$ sudo su

Create a config file for the hostapd program:

$ nano /root/hostapd.conf

Add the following content to the config file (X=group number, Y=channel, Z=mode lines should be left aligned):

interface=wlan0
driver=nl80211
country_code=BE
ssid=demoX
hw_mode=Z
channel=Y

Replace X with your demo number. Replace Y with your channel and Z with the WiFi mode. Start hostapd. The above config will setup an AP on wlan0 using 802.11a or g, channel Y, with SSID demoX:

$ hostapd /root/hostapd.conf

Open a second ssh terminal and give an IP address to the wlan0 interface so we can test the connection to the clients (in the next steps). Be sure to replace X with your group nummber:

$ sudo su; ifconfig wlan0 192.168.X.1/24

Configure the client (on one of the fixed nodes)

Become root:

$ sudo su

Put the wireless interface into managed mode and specify the SSID so it knows to which AP it should connect

$ iwconfig wlan0 mode managed
$ iwconfig wlan0 essid demoX

Specify an IP address and bring up the interface:

$ ifconfig wlan0 192.168.X.10/24 up

Check if you can ping the AP:

$ ping 192.168.X.1

iPerf measurement

Start an iPerf server instance (UDP in this case) on the mobile node (AP):

$ iperf -s -u -i 1 &

Configure the iPerf client:

$ iperf -u -c 192.168.X.1 -b 40M -i 1 -t 6000

If the iperf reports an actual 40Mbit/sec throughput, you probably lost the connection. By tweaking the transmit power (values of 0 to 20dBm) of the access point, you should be able to see a difference in throughput of the iPerf stream:

$ iwconfig wlan0 txpower <0-20>

For this tutorial, leave the txpower to 20 for the first experiment runs. If the effect of moving the mobile node is too limited, you can try lowering the txpower. Note that each antenna at the w-iLab.t is equipped with a 10dB attenuator (so 20dB attenuation per link).

Move the mobile node

Once everything works fine, you can start driving the mobile node and check the impact on the iPerf throutput. The robot control software can be accessed at robotcontrol.wilab2.ilabt.iminds.be. You can log in with the demoX accounts. For example, the demo5 account will give you the rights to move mobile5. Instructions on how to use the framework: http://ilabt.iminds.be/wilabt/use/mobilitytoolkit , scroll down to “Setting up paths”. VERY IMPORTANT : You will only be able to SSH to the mobile node while it is docked. (If you want an SSH connection during your experiment, you will have to set up a wireless connection to a fixed node and SSH over the wireless.)

Part 2: Mobile experimentation using Labwiki

In this part, you will learn how to run experiments using the Labwiki tool. This tool uses the OMF framework in combination with the OML measurement library.

Prepare your experiment

Go to http://labwiki.test.atlantis.ugent.be:4000, click the prepare text field and type "gec21iperf". You should see a drop down list with some files. Select the gec21iperf.oedl file. Since this version of labwiki only has one user account at the moment, you should copy the contents of this experiment file and create a file with your group number in the file name. Click CTRL-A, followed by CTRL-C and then click the wheel icon. Choose a name for your file (without the .oedl extension), select OEDL and click Create. Now paste (CTRL-V) the contents of the experiment in the field below and click the Save button.

The presentation at the beginning of the session should have given enough explanation to understand this experiment description file.

Change the properties "sender" and "receiver" so they reflect the hostnames of your resources.

Prepare your mobile scenario

Go to http://robotcontrol.wilab2.ilabt.iminds.be and start drawing a scenario for your mobile node. If you are done, click the Save button and copy the list of coordinates.

Be sure to issue the following command when you dock the robot again, otherwise you will not be able to run more experiments.

$ /share/robots/startOMF.sh

Slides:

  • [Powerpoint version]
  • [PDF version]