ANTS, the Automated Networking Test Suite, is a tool designed to streamline the analysis of compliance of commercial WiFi networking devices to the IEEE 802.11 standard. The metric for this compliance output is developed by Ammar Alhosainy et al. at Carleton University, in parternship with Ericsson's Ottawa and international offices. The purpose of the ANTS tool is to simplify this process by providing an easy-to-use graphical interface for configuring and running tests against these devices. In order to maximize its accessibility, ANTS continues to be designed exclusively with open-source and freely-available software, particularly that which is available on modern Linux operating systems.
Note: This project is under active development, and a stable release branch has not yet been established.
The master
branch is where the most stable version can be found, but interface and functionality contained therein are not yet guaranteed to be consistent or fully operational.
The following is a list of essential components for using ANTS in its current form:
ANTS was originally developed and tested using the Ettus Research B200 software-defined radio device, which is the core measurement tool that senses the wireless channel and collects the data for further processing. No other devices are currently supported (although additional devices are on the roadmap). The (UUT) in a typical test setup is a either a commercially-available USB WiFi device, or a wireless router.
Below is a diagram showing an example test setup previously used at the Carleton Broadband Networks Laboratory:
ANTS was written and tested on systems running Fedora 28 and Ubuntu 16.04, but it should work on any modern Linux operating system with the following installed:
Additionally, one script (utils/writeIQ.py
) is currently written in Python 2, but will be updated as part of the project goals.
Early versions of the tool relied upon the use of the MATLAB Engine for Python; however a significant effort was undertaken by the members of the Carleton University Broadband Networks Laboratory to rewrite the prototypical scripts in Python 3. Copies of the original MATLAB code are contained in the matlab
folder for reference.
Due to the size of the raw data files created, it is recommended that a significant amount of storage space (120GB or more) is allocated for the ANTS suite to operate. For a fresh installation of Ubuntu 16.04, the following must be performed in order to make ANTS operational:
sudo apt install git python3-numpy python3-matplotlib python3-pip gnuradio iperf python3-dev
pip3 install pyqt5 netifaces
(this may need to be run with sudo)uhd_images_downloader
to prepare the FPGA binary for use with the USRPgit clone https://github.com/CarletonWirelessLab/ANTS
sudo python3 ants/ants
from the main ANTS directory;Depending on the Ubuntu version (i.e. 18.04 or later) you may need to additionally install ifconfig
and related legacy test tools.
When using a laptop as the test machine, the internal wireless card should be disabled unless it is the device under test, otherwise the test sequence may not perform as expected. The ANTS tool will try to automatically perform this operation for you (provided you have checked the automatic routing box), but if it fails it will need to be done manually.
An attenuator of 30dB (50 Ohms) is recommended between the access point and the splitter.
The majority of the current testing has been performed using an ASUS USB-AC56 USB WiFi device. Note that the driver for this device for Ubuntu 16.04 is located here.
The following is a diagram showing how to connect the test hardware for testing without an anechoic chamber:
By default, ANTS will provide six outputs in a time-stamped folder matching the name of the test given by the user and the access category (i.e. "voice", "video", "best effort", or "background"). These files are:
.bin
.# | Device | Power Level | UUT Attenuator | CD Attenuator |
---|---|---|---|---|
1 | Asus RT-AC68U | MIN | 20 dB | 20 dB |
2 | BelAir 20E-11R | MAX | 20 dB | 20 dB |
3 | TP Link Archer C50 | MAX | 0 dB | 0 dB |
4 | Ericsson AP6321 | MAX | 0 dB | 0 dB |
iperf
to be set via the GUI;