#summary CORE and the EMANE emulator

= General Info =

EMANE is a mobile ad-hoc network emulation system that can be used in conjunction with CORE to provide more complex wireless radio models.

EMANE downloads, documentation, and other information:

  * http://labs.cengen.com/emane/
  * http://cs.itd.nrl.navy.mil/work/emane/index.php

= Scripting =
See the [EEL] page for a description of the main scripting format used by EMANE for generating mobility and pathloss events.

= Easy EMANE Install =

== Fedora ==
These dependencies are automatically resolved if you use `yum localinstall`, so you don't need to do this:
{{{
# optional!
yum -y install openssl-devel perl-XML-Simple perl-XML-LibXML
}}}

Here are easy EMANE instructions for Fedora 17 x86_64. Replace with "i386" if needed. Run these as root.

{{{
wget http://labs.cengen.com/emane/download/RPMS/F17/0.7.4/x86_64/emane-bundle-0.7.4.fc17.x86_64.tgz
mkdir emane-0.7.4
cd emane-0.7.4
tar xzf ../emane-bundle-0.7.4.fc17.x86_64.tgz
yum localinstall *.rpm
}}}

== Ubuntu ==

Here are instructions for Ubuntu 11.10. Note that Ubuntu 11.10 has libace-dev (6.0.1-3) and libace-6.0.1 (6.0.1-3) libraries, but here we will install ACE (6.0.8-1) included with the EMANE bundle.

{{{
# install dependencies
sudo apt-get install libssl-dev libxml-libxml-perl libxml-simple-perl
# download and install EMANE 0.7.3
wget http://labs.cengen.com/emane/download/deb/ubuntu-11_10/0.7.3/amd64/emane-bundle-0.7.3.amd64.tgz
mkdir emane-bundle-0.7.3
cd emane-bundle-0.7.3
tar xzf ../emane-bundle-0.7.3.amd64.tgz
sudo dpkg -i *.deb
}}}

= Easy EMANE Uninstall =

== Fedora ==

Remove everything with one command:

{{{
rpm -e `rpm -qa | grep -i emane | xargs`
}}}

Don't forget about the ACE libraries.

{{{
rpm -e ace-devel ace-gperf ace
}}}

== Ubuntu ==

{{{
sudo dpkg -r emane\* python-emane\* libemane\* ace\*
}}}


Or for Ubuntu you can open the Synaptic package manager and choose the "Installed (local or obsolete)" section. Select the various EMANE packages using shift+click, right-click and choose remove.

= Building EMANE from Source =

== Ubuntu ==

Here are additional dependencies if you plan on building EMANE from source:

{{{
sudo apt-get install autoconf automake libtool libxml2-dev
}}}

When EMANE is installed from source, XML files may still reference DTDs found in `/usr/share/emane/dtds`. An easy fix for this is to create a symlink:
{{{
sudo ln -s /usr/local/share/emane /usr/share/emane
}}}

= Misc Info =

Setting the delay in the RF-PIPE MAC adds a transmission delay, not a propagation delay (as one might consider CORE link delays.) The tx delay is affected by the packet size and transmit rate:

 * *delay*: Defines the delay (usec) that is to be included in the transmission delay. The delay is added to the delay introduced by the bitrate defined above. (from http://labs.cengen.com/emane/doc/0.7.1/html/rfpipe.0.7.1.html)


*Event generator*: produces events and is launched by the Event Service XML.<br>
*Event Daemon* / *Event Agent*: transport event data from emulation to other app domains; e.g. gpsdlocationagent


= Old Notes =

Here are Ubuntu 11.10 build notes for EMANE 0.7.2. EMANE 0.7.3 now has 11.10 debs, so these instructions are obsolete.

Instructions for building a deb from source on Ubuntu 11.10 Oneiric. (As of this writing, pre-built debs were not available.) Note that the deb build dependencies (e.g. dh-make, etc) are slightly different than the run-time dependencies.

{{{
sudo apt-get install libssl-dev libxml-libxml-perl libxml-simple-perl
sudo apt-get install libace libace-dev dh-make doxygen
tar xzf emane-0.7.1.tgz
cd emane-0.7.1
autoconf && automake
./configure --prefix=/usr
# to use Ubuntu's libace package, edit the debian/control file
# search and replace "ace" with "libace-dev"
make deb
}}}