SPAN project

The Smart Phone Ad hoc Networking (SPAN) Project provides a peer-to-peer off-grid Mobile Ad Hoc Network (MANET) using the built-in Wi-Fi hardware available in commercial smart phones and tablets. The underlying Optimized Link State Routing Protocol (OLSR) provides a self-optimizing routing layer (OSI Layer 3) based on minimizing expected packet loss. Each device in the network essentially acts as a relay point for forwarding packets to other devices in the network, forming multi-hop chains. The SPAN Project began as an internal research and development effort within The MITRE Corporation and was open-sourced under GPLv3 in December 2011.

Motivation

Worldwide events from Hurricane Katrina to the Fukushima nuclear disaster to the Boston Marathon bombings have showcased that current communications infrastructure is not as reliable or trustworthy as we would like. Cellular towers can be destroyed by natural phenomena or overloaded beyond capacity during a [...] incident. During a blackout power and network connectivity are not available, rendering Wi-Fi hotspots useless. Foreign governments disable access to the Internet and cellular communication for political reasons, such as during the Arab Spring and Hong Kong protests. Often cellular towers, access points, and other infrastructure provide single points of failure that can be targeted by malicious entities or they simply don’t exist. It's always the same problem: no connectivity and no communication.

The SPAN Project ameliorates these issues by providing an alternate means for information dispersal. The project utilizes Wi-Fi MANET technology to provide a framework for communication between individuals when other infrastructure is unavailable, overloaded, or simply cannot be trusted. The result is a headless, infrastructure-less network that dynamically links common smart phones together, forming a web of trust across peers. As such, the SPAN project harnesses the ubiquity of smart phones to provide adaptable off-grid communications in times of need.

Features

  • Phones with cellular access can act as a gateway in the mesh to provide Internet access to their peers via their cellular data plan.
  • Along with the MANET Manager application for managing the network, there is a MANET Visualizer application for displaying the routing topology, and MANET Voice Chat application that works like a push-to-talk walkie-talkie over the mesh.
  • The SPAN Project aims to provide a generic IP networking layer so that standard applications such as Facebook and Twitter work over the mesh normally without modification (as long as the mesh has Internet access through a gateway node).
  • The SPAN Project provides an API for developing "mesh-aware" applications for off-grid peer-to-peer collaboration. The API provides information about other peers in the network (a neighbor list) as well as the routing topology.

Support

The SPAN Project is currently supported on a limited number of Android devices that use Broadcom Wi-Fi chips.

Challenges

  • The SPAN Project requires configuring the Wi-Fi chip for ad hoc mode. Many devices starting with the release and Android Ice Cream Sandwich (4.0) lack Wi-Fi driver support for ad-hoc mode, so the driver most be modified to add ad hoc mode back to the list of supported wireless modes.
  • Configuring a device to operate in ad hoc mode requires using the iwconfig command line tool, which requires the kernel to support Wireless Extensions (WEXT). Some kernels do not support WEXT, so the kernel must be recompiled. Luckily, many device manufacturers open-source their code as part of the AOSP guidelines. Most Android devices do not fully support the successor to WEXT, nl802.11.
  • The Android device must be rooted in order to use iwconfig as well as iptables for configuring routing rules, such as NAT and packet forwarding.
  • The Android OS must be modified to provide a valid NetworkInfo entry when an application attempts to retrieve the current network information through the ConnectivityManager, otherwise the application may not be aware that the SPAN Project is providing an IP network.
  • Many Android devices will not respond to (filter out) UDP broadcast messages received while the device screen is off in order to save battery life. This option must be disable at the kernel level to prevent the mesh from falling apart when devices aren't activity being used.
  • WPA 2 is the standard for security on managed Wi-Fi networks. The equivalent for ad hoc networks is IBSS RSN. Currently IBSS RSN is only supported by Atheros Wi-Fi chips, none of which are in commercial Android devices.
  • The Serval Project
  • Commotion Wireless