Installation instructions for the NS-2 UWB MAC and PHY simulator

Step-by-step instructions to install our hacked NS-2.29 for UWB wireless networking

Download and Installation

  1. If you have not done it yet, read our introduction on our ns-2 for UWB wireless networking.
  2. Download and compile ns-allinone-2.29 (Current version at this time of writing is ns-allinone-2.29.3). Have a look at this page on the wiki of ns-2 if you need more information on the procedure to follow to install ns-allinone-2.29.
  3. Download, install and compile our hacked ns-2.29.
    1. Download the latest version of our hacked ns-2.29 for UWB wireless networking (i.e. DCC-MAC layer and the interference PHY).
    2. Copy the archive to the ns-allinone directory:
      cp ns-2.29-uwb-x.y.z.tar.gz /where/ever/is/ns-allinone-2.29/
    3. Uncompress the archive and change directory to ns-2.29-uwb
      cd /where/ever/is/ns-allinone-2.29/
      tar xvfz ns-2.29-uwb-x.y.z.tar.gz
      cd ns-2.29-uwb-x.y.z
    4. After the usual
      ./configure
      make
      And you should be all set.
  4. Setup your environment to use it.

Example and Usage

You can test our ns-2 for UWB wireless networking with our set of examples (in this case, a simple line of nodes using TCP and a near-far scenario with UDP communications).

  1. Uncompress the archive
    tar xvfz example-2.29-x.y.z.tar.gz
    The directory example-2.29-x.y.z should contain two directories, linetcp and nearfar, and several perl files (.pl).
  2. Now, say you want to use the linetcp scenario. Create a directory named output inside the linetcp directory
    mkdir linetcp/output.
    Then, you can run the simulation with the following command: ./run.pl -sim linetcp
  3. Note that the file analyze.pl in the directory linetcp is automatically called from run.pl. It takes the tracefiles and creates a graph from them (output/traffic*.eps) using gnuplot. However, for analyze.pl to run, fplot.pl and variance-id.pl have to be in the path.

The instructions are similiar if you want to run the nearfar scenario.

The usual wireless trace output is written to output/link* and another log file is in output/log*. Which debugging information is written to this log file can be controlled by recompiling ns with MACIF_DEBUG defined in mac-ifcontrol.cc, INTERFERENCEPHY_DEBUG in interference-phy.cc, and CODEDPPM_DEBUG in mod_codedppm.cc. Make sure the patched ns is either in the path or change the $ns variable in run.pl to point to ns with the full path.

(Old and not supported) Step-by-step instructions to install our hacked NS-2.26 for UWB wireless networking

Important notice: we do not work on ns-2.26 anymore. Therefore, we won't respond to any questions related to ns-2.26 anymore. The following information is left for reference purpose only.

  1. Install GCC-3.2.3 (mind the 3.2.x). To compile and install it is quite easy, simply read the INSTALL/index.html file. Then, make sure the GCC binary is used for the compilation of the ns-allinone package. For instance, set the PATH environment variable to have the directory containing the gcc-3.2.3 binary at the beginning.
  2. Download and compile ns-allinone-2.26.
  3. Download, install and compile our hacked ns-2.26 for UWB wireless networking (i.e. DCC-MAC layer and the interference PHY).
  4. Setup your environment to use it.
  5. You can test it with our set of examples (in this case, a simple line of nodes using TCP). Uncompress the archive
    tar xvfz example-2.26-1.1.0.tar.gz
    and then then create a directory named output inside the linetcp directory
    mkdir linetcp/output.
    Finally, you can run the simulation with the following command: ./run.pl -sim linetcp