This page describes how to install and run Wing onto the PCEngines ALIX/WRAP boards running OpenWRT (development branch). Other hardware platforms may require some adaptations.
The default configuration can take advantage of dual Wireless NIC setups. In dual radio setups the first interface (wifi0) builds and maintains the multi-hop wireless backhaul, while the second interface (wifi1) is configured in Master mode providing a standard IEEE 802.11 Access Point for wireless clients. If only one interface is available the device acts as a pure relay node. Dual and single NIC nodes can coexists in the same network. However all the interfaces running the routing protocol must be tuned to the same channel.
Mesh nodes can automatically detect whether they are a relay nodes or a gateway nodes. The node auto-configures itself as gateway if an IP address can be obtained using DHCP over the first ethernet interface (eth0). In dual radio setups the second wireless interface is configured in client mode (ath1) and can be used to provide connectivity to the mesh. The wired uplink takes precedence over the wireless uplink if both technologies are available.
The easiest way to run Wing is to use a compact flash card pre-load with our distribution. You can download the image for the PCEngines WRAP 1E boards at the following address:
http://www.wing-project.org/downloads/kamikaze/nightly/x86/wing-x86-wrap-nightly-ext2.image
A similar image for the PCEngines ALIX 2C2 platform is available at:
http://www.wing-project.org/downloads/kamikaze/nightly/x86/wing-x86-alix-nightly-ext2.image
You can use the dd command available in any GNU/Linux distribution to transfer the image to your compact flash card. Please make sure to replace sdb with the device name of your compact flash card. The following command will overwrite whatever is present on the /dev/sdb device.
dd if=wing-x86-wrap-nightly-ext2.image of=/dev/sdb
After rebooting the board the mesh should be up and running.
The WING Subversion repository is not yet public, however a daily snapshot can be found at the following address:
http://www.wing-project.org/downloads/snapshots/wing-latest.tar.gz
Unpack the archive
tar xvfz wing-latest.tar.gz
Let $WING_HOME be the directory where the previous archive has been unpacked. The archive contains a script named wing-builder.sh which allows you to build the firmwares for the platform currently supported by Wing (PCEngines ALIX and WRAP boards) starting from a snapshot of the Wing repository. If invoked without options the scripts performs the following operations:
targets directory:$WING_HOME/kamikaze-[target]-[profile]-[version]$WING_HOME/kamikaze-[target]-[profile]-[version]/package/$WING_HOME/kamikaze-[target]-[profile]-[version]Here follows a list of option that can be passed to the script:
make V=99 instead of just make. This sets the maximum level of verbosity for the make command allowing you debug errors and misbehaviors.$WING_HOME/kamikaze-[target]-[profile]-[version] directory and starts the build process from scratch.
When the build process is finished, the resulting firmwares and packages will be available in the $WING_HOME/bin directory. You can use the dd command available in any GNU/Linux distribution to transfer the image to your compact flash card. Please make sure to replace sdb with the device name of your compact flash card. The following command will overwrite whatever is present on the /dev/sdb device:
dd if=$WING_HOME/bin/[version]/[target]/wing-[target]-[profile]-[version]-ext2.image of=/dev/sdb
Code is released under a BSD license.