Locked History Actions

UbntStations

Ubiquiti NanoBeam

Nachfolgeprodukt von Ubiquiti NanoBridge

Folgende Seiten stammen aus dem Wiener Netz. Hier sind gepatchte Firmware Images und auch Anleitungen zu finden, um NANObeams funkfeuertauglich zu machen.

OLSRd for Ubiquiti AirOS

/!\ Since UBNT dropped the official support for the SDK i will discontinue my work on these patches. I recommend switching to vanilla OpenWRT.

Hardware description: http://www.ubnt.com

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. I created patches for the SDK 4.0.1 and 5.3.3 which support most of their products. It got tested on NanoStation5 and PowerStation5 as well with Airgrids but it should work on any Ubiquiti product (as long as it is supported by AirOS 3.x/4.x or 5.x images). My Testimages can be found on our build server http://build.ffgraz.net/ubnt/. The Images contain olsrd and some modfifications 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.

{i} 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.

Some screenshots of the Webinterface Modifications: UbntStationsScreens

You can build your own Image on Debian/Ubuntu by invoking the following commands:

SDK 4.0.1

/!\ Due to size restrictions of the rootfs of 4.0.1 SDK i had to disable all olsrd plugins except for dyn_gw and txt_info. If you want to build images with another selection of plugins you have to edit apps/gpl/olsrd.mk.

# mkdir ubnt-4.x
# cd ubnt-4.x
# wget http://www.ubnt.com/downloads/sdk/toolchain-mips-ls_0.1-1.deb
# dpkg -i toolchain-mips-ls_0.1-1.deb

Download SDK.UBNT.v4.0.1.4978.tar.bz2 from ubnt.com

# tar xjf SDK.UBNT.v4.0.1.4978.tar.bz2
# wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS2.ar2316.latest/patches/UBNT_SDK4.0.1_files-03.tar.gz
# wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS2.ar2316.latest/patches/UBNT_SDK4.0.1_with_olsrd-01.patch
# cd SDK.UBNT.v4.0.1.4978
# patch -p1 < ../UBNT_SDK4.0.1_with_olsrd-01.patch
# tar xzf ../UBNT_SDK4.0.1_files-03.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 (AirOS 3.1.1 worked for me).

SDK 5.3.3

/!\ There are some major bugs in SDK 5.5 which i wasn't lucky to track down so far. So i decided to upgrade OLSRd for 5.3.3 and fix some bugs which i discovered while porting the patches for 5.5.

# mkdir ubnt-5.x
# cd ubnt-5.x

Download SDK.UBNT.v5.3.3.tar.bz2 from ubnt.com

# tar xjf SDK.UBNT.v5.3.3.tar.bz2
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/additional-files.tar.gz
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/olsrd-package.patch
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/ubnt-web-with-olsrd.patch
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/optional-default-gw.patch
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/fffversion.patch
# wget http://build.ffgraz.net/ubnt/AirOS%20v5.x/latest/patches/lighttpd-mod-airos-exploit-fix.patch
# cd SDK.UBNT.v5.3.3
# patch -p1 < ../olsrd-package.patch
# patch -p1 < ../ubnt-web-with-olsrd.patch
# patch -p1 < ../optional-default-gw.patch
# patch -p1 < ../fffversion.patch
# patch -p1 < ../lighttpd-mod-airos-exploit-fix.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. By default the following Configuration is used

#
# OLSR.org routing daemon config file
# This file is shipped with Funkfeuer Graz Ubiquiti AirOS Images
#
# Lines starting with a # are discarded
#

DebugLevel  0
IpVersion 4

Pollrate  0.025
FIBMetric "flat"

# RtTable 111
# RtTableDefault 112

UseNiit no
SmartGateway no

#Hna4
#{
#}

#Hna6
#{
#}

UseHysteresis no
TcRedundancy  2
MprCoverage 7

LinkQualityLevel 2
LinkQualityAlgorithm    "etx_ff"
LinkQualityAging 0.05
LinkQualityFishEye  1

# Don't remove olsrd_txtinfo from this file
# as this plugin is used by the Webinterface
# to display the OLSR Info
LoadPlugin "olsrd_txtinfo.so.0.1"
{
   PlParam     "port"   "2006"
   PlParam     "Accept"   "127.0.0.1"
}

InterfaceDefaults {
   HelloInterval 3.0
   HelloValidityTime 125.0
   TcInterval 2.0
   TcValidityTime 500.0
   MidInterval 25.0
   MidValidityTime 500.0
   HnaInterval 10.0
   HnaValidityTime 125.0
}

Interface "ath0"
{
    Mode "mesh"

    # LinkQualityMult 192.168.0.1 0.5
    # LinkQualityMult default 0.8
}

# on v4.x eth0 is the name of the wired interface
Interface "br0"
{
    Mode "ether"

    # LinkQualityMult 192.168.0.1 0.5
    # LinkQualityMult default 0.8
}

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.

For further questions or additional information please send me an email: equinox@spreadspace.org

Old Versions

Older Versions as well as the patches used can be found on our Build Server http://build.ffgraz.net/ubnt/. /!\ Images older than 3.6.1.security1 or 5.3.3.security1 contain a bug which allows a remote attacker to install malware on your router please don't use this images.

SDK 3.5

{i} This older versions contain a olsrd.conf for olsrd prior to 0.6.0 which shouldn't be used with newer Versions of the daemon.

SDK 3.4

  • Patch v01: (Patch, Files, Image XS5, Image XS2):

    • This is basically the same as Patch v01 for SDK 3.3.2 (no need to patch mkfwimage.c and fwsplit.c any more)

SDK 3.3.2

SDK 3.2.3-rc

This is SDK is quite old and only supports Nanostation, Litestation or Powerstation. Don't use it for Bullets or other newer hardware.

SDK 3.2

Build Instructions

# mkdir ubnt
# cd ubnt
# 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/sdk/ubnt-lsX-SDK-v3.2.3743.tar.bz2
# tar xjf ubnt-lsX-SDK-v3.2.3743.tar.bz2
download the patch to this directory
# cd ubnt-lsX-SDK-v3.2.3743
# patch -p1 ../UBNT_SDK3.2_with_olsrd-06.patch
# make xs5

Patches and Images

  • Patch v06 (Patch, Image XS5, Image XS2):

    • added txtinfo config directly to the default configuration as this is more flexible
  • Patch v05 (Patch, Image XS5):

    • added OLSR Info sites (can be viewed/selected at the main site under 'Extra info')
  • Patch v04 (Patch, Image XS5):

    • switched back to OLSR 0.5.6 because of some problems with 0.5.6-r2
    • current olsrd.conf can now be downloaded via the Web Interface
  • Patch v03 (Patch, Image XS5):

    • fixed issues with default gateway
    • disabled httpinfo in default config (this plugin needs way to much memory)
  • Patch v02 (Patch, Image XS5):

    • switched to OLSR 0.5.6-r2
  • Patch v01: (Patch, Image XS5):

    • Initial Release