[[Include(wiki:WARPnet1/version-note)]] [[TracNav(WARPnet1/TOC)]] = Installing the WARPnet 1.0 Framework = == Pre-requisites == The WARPnet 1.0 framework is implemented in Python, but depends on a number of other software packages. The dependencies are listed below. Some systems will require other packages to be installed before these dependancies can be built and installed. Some OS-specific pre-reqs are listed below. If you've successfully installed WARPnet on a system not listed below, please let us know and we'll update this list. '''Ubuntu 12.04 LTS'''[[BR]] 1. Python 2.7 is installed by default 1. {{{sudo apt-get install}}} the following packages, accepting any additional packages suggested/required by apt : * python2.7-dev * g++ * patch * libpcap-dev * subversion (optional, but makes it easy to download the WARPnet code from the WARP repository) 1. Then install the WARPnet dependencies (see links below). The versions listed below worked for Ubuntu 12.04 64-bit. * Twisted 12.10 * zope.interface 3.8.0 (4+ doesn't work!) * pcapy 0.10.5, patch using WARPnet patch from WARP svn * impacket 0.96 You may also want to {{{sudo apt-get install subversion}}} to facilitate downloading the warpnet code from the WARP repository. '''Generic OS'''[[BR]] 1. First ensure that you are running [http://www.python.org/ Python 2.6] or higher. If not, install the latest 2.6 version of Python. We have not tested the server with Python 3+ and since the syntax has changed for several important commands it will probably not work yet. 1. Download and install the [http://twistedmatrix.com/trac/ Twisted networking library] from source. 1. Download and install [http://pypi.python.org/pypi/zope.interface#download Zope.interface] from source. The Twisted library depends on this. 1. WARPnet uses PCAP to communicate with the WARP board directly. To allow the Python-based server/client to access PCAP, the Pcapy module needs to be installed. As WARPnet works with [http://oss.coresecurity.com/projects/pcapy.html Pcapy version 10.5] only, download this to your computer. 1. Before installing Pcapy, it needs to be patched for some WARPnet specific functionality. Download [source:ResearchApps/Measurement/install_files/pcapy_warpnet_patch.diff pcapy_warpnet_patch.diff] from the repository into the Pcapy folder and run the following. {{{ patch < pcapy_warpnet_patch.diff python setup.py install }}} 1. Download and install [http://oss.coresecurity.com/projects/impacket.html Impacket] from source. This package helps in analyzing raw Ethernet packets. Again, to install run the following from the Impacket folder. {{{ python setup.py install }}} == Installing the Framework == The WARPnet Framework is a standalone module that works just like any Python module. However, for now it is not installed into `site-packages` but added to the Python path on a per shell basis. The current stable release is version 2.2 1. Download the [source:ResearchApps/Measurement/warpnet_framework WARPnet Framework folder] and store it anywhere on your computer. Note the absolute path to it as it will be important later. 1. Download [source:ResearchApps/Measurement/examples/TxPower_vs_PER/warpnet_experiment_structs.py warpnet_client_experiment_structs.py] and [source:ResearchApps/Measurement/examples/TxPower_vs_PER/TxPower_vs_PER.py TxPower_vs_PER.py]. These are an example definitions file and example script that work with [wiki:OFDMReferenceDesign OFDM Reference Design v15]. === Running the server === Running the server is explained in more detail [wiki:../RunningServer here]. === Setting up a shell for the Client === 1. Navigate to the `warpnet_framework` folder. 1. Add the `warpnet_framework` location to the local environment variable PYTHONPATH. For example in bash: {{{ export PYTHONPATH='~/warpnet_framework' }}} 1. Now, browse to your TxPower_vs_PER.py. To run your experiment type: {{{ python TxPower_vs_PER.py }}}