Ubiquiti Nanostation M5
Ubiquiti Networks provide a SDK for their Firmware (AirOS).
The SDK and the cross-compiler Toolchain can be found at the support section of their homepage [0].
The needs of ninux.org community was to make a links with 2 Nanostation M5 with OLSR Daemon.
The Images will contains olsrd and some modfications in order to build and install it. It also contains a modification of the webinterface which allows the use of no gateway at the network configuration because a static default route destroys dynamic routing.
This patch doesn't change anything at the kernel config or the wifi driver in order to preserve the stability and functionality of the original firmware. This means that my patched firmware has no adhoc mode.
You can build your own Image on Debian/Ubuntu by invoking the following commands:
SDK 3.5
# mkdir ubnt-3.x # cd ubnt-3.x # wget http://www.ubnt.com/downloads/sdk/toolchain-mips-ls_0.1-1.deb # dpkg -i toolchain-mips-ls_0.1-1.deb # wget http://www.ubnt.com/downloads/firmwares/XS-fw/v3.5/SDK.UBNT.v3.5.4499.tar.bz2 # tar xjf SDK.UBNT.v3.5.4499.tar.bz2 # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS3.x/XS2.ar2316.v3.5.with-olsr-0.6.0/patches/UBNT_SDK3.5_files-02.tar.gz # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS3.x/XS2.ar2316.v3.5.with-olsr-0.6.0/patches/UBNT_SDK3.5_with_olsrd-01.patch # cd SDK.UBNT.v3.5.4499 # patch -p1 < ../UBNT_SDK3.5_with_olsrd-01.patch # tar xzf ../UBNT_SDK3.5_files-02.tar.gz
now we have to download and copy the olsrd source
# cd apps/gpl/olsrd # wget http://www.olsr.org/releases/0.6/olsrd-<version>.tar.bz2 # tar --strip 1 -xjf olsrd-<version>.tar.bz2 # rm olsrd-<version>.tar.bz2 # cd ../../../ # make xs5
You can build a image for 2.4GHz Hardware by replacing the xs5 with xs2.
After building the Image it can be installed via the AirOS Webinterface. If the interface complaints about a wrong image file you have to upgrade AirOS to a newer version which allows the use of third party firmware images.
SDK 5.2
# mkdir ubnt-5.x # cd ubnt-5.x # wget http://www.ubnt.com/downloads/firmwares/XN-fw/v5.2/SDK.UBNT.v5.2.tar.bz2 # tar xjf SDK.UBNT.v5.2.tar.bz2 # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS5.x/XM.v5.2.sdk.5090.with-olsr-0.6.0/patches/additional-files.tar.gz # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS5.x/XM.v5.2.sdk.5090.with-olsr-0.6.0/patches/olsrd-package.patch # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS5.x/XM.v5.2.sdk.5090.with-olsr-0.6.0/patches/ubnt-web-with-olsrd.patch # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS5.x/XM.v5.2.sdk.5090.with-olsr-0.6.0/patches/fffversion.patch # wget http://www.stefanopilla.it/Ninux/ubnt/AirOS5.x/XM.v5.2.sdk.5090.with-olsr-0.6.0/patches/optional-default-gw.patch # cd SDK.UBNT.v5.2 # patch -p1 < ../olsrd-package.patch # patch -p1 < ../ubnt-web-with-olsrd.patch # patch -p1 < ../optional-default-gw.patch # patch -p1 < ../fffversion.patch # tar xzf ../additional-files.tar.gz # cd openwrt # make
After building the Image it can be installed via the AirOS Webinterface.
If you have successfully installed the image you can turn on olsrd using the enable button at the services section of the Web Interface.
You can also download your own olsrd.conf via the Webinterface. If you download an own configuration file be sure it includes the configuration lines for the txtinfo plugin as this plugin is needed by the Web Inteface to show the OLSR Info.
If you want to edit the olsrd.conf via ssh or telnet you have to make sure that it gets stored inside the persistent storage area of the flash. Create the Configuration file inside the /etc/persistent/ directory and invoke the following command:
# /bin/cfgmtd -p /etc/ -w
After that you have to reboot.
Links