Configuring Your Account

This page assumes you have already created an account through CMULab. If you haven't, go to the previous page.

To use the emulator you will need to connect to emucontrol-1.ece.cmu.edu to control experiments. This page describes how to set up this account so you can run experiments on the wireless network emulator.

Logging in

Log into emucontrol-1.ece.cmu.edu using an SSH client. Your login and password is the same as that used on the CMULab website.

If you wish, you can use SSH keys to manage your login to emucontrol-1. Instructions on how to do this would vary as per your choice of SSH client - below are some instructions for common clients:

Setting up your shell

The emulator control software requires the "bash" shell. To change your shell to bash, login to the CMULab website, and under the "Experimentation" menu, choose "My Emulab". In the tabbed interface, click on "Profile", and in the left menu, choose "Edit Profile". In the menu, set your shell to bash, and click the "Submit" button.

Login to emucontrol-1 using a ssh client. You can verify that that your shell has been correctly set to bash on that system by doing

  echo $SHELL
If the answer is not /bin/bash, use the "chsh" command to interactively change it. Then, copy the default dotfiles for the emulator to your account, by doing:
cp /usr/local/emulator/model_bashrc ~/.bashrc 
ln -s .bashrc .bash_profile
The next time you login, your environment variables should be correct for emulab.

Setting up the nodes in your experiment

All your files from emucontrol-1.ece.cmu.edu are available via NFS on all of the nodes in your experiments. We now explain how to set up some files on your NFS home directory (and thus on your emulator nodes allocated to your experiments) so your Emulator experiments will run correctly.

Most experiments need to remotely start applications on laptops from emucontrol-1, either under controlled by your Java code or XML config file. In some cases, you may also redirect application output to your emulator control process on emucontrol-1 (centralized IO). This requires some daemons on the experimental nodes (which should be started automatically, as discussed in "how to run experiment"). You will want to copy the emuNode directory from /usr/local/emulator/run to your home directory so these files will be accessible on all nodes. A command to do this is:

cp -r /usr/local/emulator/run/emuNode ~/

We hope to automate this in the future.