About Us

People

Research

Publications

Funding

Download




SMesh

Spines

Spread

Secure Spread



























Home Photos Software Credits Mailing List Testbed Demo View Live View


SMesh source code and binaries

SMesh is licensed under the SMesh Open-Source License. SMesh requires a device that runs Linux and has a 802.11 wireless interface. We tested it on x86, Linksys WRT54G and Meraki routers. Here is an overview of the operating modes of SMesh. The latest stable version is 2.3. If you intend to build SMesh from source, you also need to download Spines 3.1 or later.

SMesh Redundant Multipath kernel modules

SMesh Redundant Multipath adds kernel support for forwarding data packets to the mobile client through multiple paths. CPU utilization decreases significantly when using SMesh with these modules, allowing low-cost routers to fully utilize the available bandwidth on the wireless networks. A user-space implementation of a routing protocol that uses redundant multipath, as described in our paper, is available in the Spines distribution. These modules are available under the GNU GPL license.

iproute shared library

Changing kernel routing tables from a C program requires system calls that are limitted and sometimes outdated when moving from one version of Linux to another. The common "ip route" shell command is the best way of manipulating routing tables in Linux. However, calling the shell version of the software incurs a significant overhead on low-cost routers (per route update, 40 ms, compared to only 1 ms when using this library on WRT54 routers). This library provides a direct interface to process the "ip route" command with the same usage as the shell version, but without going through the shell. This software is available under the GNU GPL license.

Supported Hardware

Supported models of the Linksys router are all linux-based versions as per the table below. Meraki is also supported (here are detailed instructions of how to setup the Meraki). Tested models include a (T) at the end of the line.

  • WRT54G Models (source www.linksysinfo.org)
  • CDF0 = WRT54G v1.0 / ADM6996L Chipset / CPU 125Mhz
    CDF1 = WRT54G v1.0 / ADM6996L Chipset / CPU 125Mhz
    CDF2 = WRT54G v1.1 / ADM6996L Chipset / CPU 125Mhz
    CDF3 = WRT54G v1.1 / ADM6996L Chipset / CPU 125Mhz
    CDF5 = WRT54G v2.0 / ADM6996L Chipset / CPU 200Mhz (T)
    CDF7 = WRT54G v2.2 / BCM5325EKQM Chipset / CPU 200Mhz (T)
    CDF8 = WRT54G v3.0 / BCM5325EKQM Chipset / CPU 200Mhz (T)
    CDF9 = WRT54G v3.1 / BCM5325EKQM Chipset / CPU 200Mhz (T)
    CDFA = WRT54G v4.0 / BCM5352E Chipset / CPU 200Mhz (T)

    Note: The WRT54G v5.0 has 2Mb/8Mb RAM, it uses VxWorks OS and is incompatable with 3rd party firmware and SMesh.

  • WRT54GL
  • CL7A = WRT54GL / BCM5352E Chipset / CPU 200Mhz (T)

  • WRT54GS
  • CGN0 = WRT54GS v1.0 / ADM6996L Chipset / CPU 200Mhz
    CGN1 = WRT54GS v1.0 / ADM6996L Chipset / CPU 200Mhz
    CGN2 = WRT54GS v1.1 / BCM5325EKQM Chipset / CPU 200Mhz
    CGN3 = WRT54GS v2.0 / BCM5325EKQM Chipset / CPU 200Mhz
    CGN4 = WRT54GS v2.1 / BCM5325EKQM Chipset / CPU 200Mhz
    CGN5 = WRT54GS v3.0 / BCM5352E Chipset / CPU 200Mhz
    CGN6 = WRT54GS v4.0 / BCM5352E Chipset / CPU 200Mhz

Questions or comments to:
webmaster@dsn.jhu.edu
TEL: (410) 516-5562
FAX: (410) 516-6134
Distributed Systems and Network lab
Computer Science Department
Johns Hopkins University
3400 N. Charles Street Baltimore, MD 21218-2686