The provided Roofnet distributions require x86 hardware and a wireless card based
on either the Intersil Prism 2.5 or Atheros AR521X chipset. If you're not sure which
chipset your card uses, see the
Seattle Wireless Hardware Comparison page. The software has been tested with
PCI, miniPCI, CardBus and PCMCIA based cards. USB adapters are likely to require
extra drivers which are not included in the distributions below.
If you live in Cambridge and would like to connect to the MIT Roofnet, you may need an external antenna.
The Live CD distribution, which runs entirely off the CD-ROM, is the fastest and easiest way to try Roofnet. Simply download the 45MB ISO image, burn it to a disc and reboot. The kernel includes support for common 10/100mbit Ethernet cards, IDE and SCSI CD-ROMs and is compiled for i386 CPUs.
If you are interested in installing Roofnet on your Soekris net4526 board, you can download the distribution we use on the MIT Roofnet nodes. The 17MB tarball snapshot of the root filesystem is identical to the LiveCD above but can easily be remounted read-write when changes are necessary. Installation consists of running a script which automatically repartitions and formats the Compact Flash, copies the snapshot over and installs a new bootloader. For more information see the Pebble Linux website. Roofnet Linux is a pared down version of Pebble, which is dervied from Debian. Additional packages can be installed using apt-tools.
Network installation is possible using a PXE bootloader. A complete explanation of the boot process from the perspective of the net4501 board can be found here. Once you've installed a PXE boot and TFTP server, you may wish to use our pxe.conf and tftpboot directory as examples. The provided kernel supports the hardware found on the net4526 board and includes support for NFS root filesystems. Roofnet routing does not currently start automatically if running off NFS root, since the scripts reconfigure the Ethernet interface's IP address.
You'll need the Click modular router and madwifi.stripped source code to build Roofnet.
Check out the latest releases from anonymous CVS using the following commands:
cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs login
(hit enter when prompted for a password)
cvs -z5 -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs co -d click click/release/one
cvs -z5 -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs co -d madwifi.stripped roofnet/release/stripped
Enter the madwifi.stripped directory and build the Prism 2.5 and Atheros AR521X drivers. Run the following:
gmake all
gmake install
To build Click for roofnet, enter the click directory and run the following:
./configure --enable-userlevel --enable-wifi --disable-linuxmodule
gmake all
gmake install
to build and install click. Once everything has built, install the modules and load the Roofnet click config:
Load the newly built drivers for the Prism 2.5 and Atheros AR521X cards:
modprobe hostap_cs
modprobe ath_pci
Finally, load the Roofnet configuration (replace DEV with wlan0 or ath0 depending on if you have a Prism 2.5 or Atheros card):
CLICKDIR/conf/roofnet/gen_config_roofnet.pl --dev "DEV" | click -
At this point running /sbin/ifconfig should show some new tap interfaces.
The srcr interface, which is configured as 5.X.X.X,
uses multi-hop routing. The lowest 24-bits of both addresses are based
on the wireless device's hardware address.
To view statistics about broadcast probes receiving
from nearby nodes run,
CLICKDIR/conf/roofnet/read_handler.pl srcr/es.bcast_stats.
You can also view known routes using
CLICKDIR/conf/roofnet/read_handler.pl srcr/lt.routes
and a list of known gateways using
CLICKDIR/conf/roofnet/read_handler.pl srcr/gw.gateway_stats