wiki:GEC21Agenda/iMinds

Version 29 (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). Select them in the list and click Reserve.

GroupChannelModeAPRcommRobot
11gzotacB1zotacB3mobile1
26gzotacB2zotacB4mobile2
311gzotacC1zotacC3mobile3
436azotacC2zotacC4mobile4
540azotacD1zotacD3mobile5
644azotacD2zotacD4mobile6
71gzotacE1zotacE3mobile7
86gzotacE2zotacE4mobile8
911gzotacF1zotacF3mobile9
1036azotacF2zotacG3mobile10
1140azotacG2zotacH2mobile11
1244azotacG1zotacH1mobile12
131gzotacI1zotacI3mobile13
146gzotacI2zotacJ1mobile14

Activate your nodes using jFed

Follow these steps to activate your nodes using jFed:

  • 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 steps), provide your password and click 'Login'.
  • Click on New
  • Drag in 3 wireless nodes
  • Right click, Configure Node to change the properties (name/testbed/disk image/specific node)
  • Name your nodes as shown in the table above, or chose your own names (you will need the names later on for the Labwiki tutorial)
  • By default, the iMinds WiLab 2 testbed should be selected (because we picked wireless nodes)
  • For every node, select a specific node from the list (see table above)

Configuration of Access Point

SSH to your AP node (double click it in 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 (see table above). 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 mobile node(robot) as client

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 AP:

$ iperf -s -u -i 1 &

Configure the iPerf client (on the robot):

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

By tweaking the transmit power (values of 0 to 17dBm) of the access point, you should be able to see a difference in throughput of the iPerf stream:

$ iwconfig wlan0 txpower <0-17>

For this tutorial, leave the txpower set to default (17 or 20dBm) 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. Note that you will lose your SSH connection to the robot when it is no longer in its docking station.

The Robot Dashboard can be accessed at robotcontrol.wilab2.ilabt.iminds.be. If you imported your p12 certificate into your browser, you can login by clicking the red key (top right of the dashboard). Select the Fed4FIRE SFA tab and click Login. If you now hover over the key (hopefully not red anymore), it should show your login name. You will only be able to move robots which are reserved by you.

Instructions on how to use the Robot Dashboard: 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. For more info on OMF, OML, Labwiki, please visit :

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.

SSH to your robot communicator (Rcomm) node, create a file in the root directory and paste the csv coordinates in the file.

$ sudo su
$ nano /root/path.csv

Prepare your experiment

Go to http://labwiki.test.atlantis.ugent.be:4000, click the prepare text field and type gec21Wilab. You should see a drop down list with some files. Select the gec21WilabMobile.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 (or name) 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.

Drag & drop the page-icon (with the crayon) over to the Execute field. Now change the properties with as value REPLACE ME so they reflect your setup.

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]