OLSR - di UBNT

From OnnoWiki
Revision as of 15:06, 21 July 2012 by Onnowpurbo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

WARNING: NOT RECOMMENDED karena UBNT Firmware tidak bisa AD-HOC Mode


Sumber: https://wiki.graz.funkfeuer.at/UbntStations

Ubiquiti Networks memberikan SDK untuk firmware (AirOS). SDK dan cross compiler Toolchain dapat di temukan di bagian support dari homepage ubnt.com. Patch untuk SDK 4.0.1 dan 5.3.3 cukup untuk mendukung sebagian besar produk mereka.

Firmware yang dihasilkan sudah di test di NanoStation5 dan PowerStation5 juga Airgrids, harusnya juga dapat digunakan di semua Ubiquity product (selama dia didukung oleh AirOS 3.x/4.x or 5.x images). Test image yang dibuat dapat di ambil di http://build.ffgraz.net/ubnt/. Images tersebut berisi olsrd dan beberapa modifikasi agar dapat dibuat dan di install. Image tersebut juga mengijinkan penggunakan "no gateway" pada konfigurasi jaringan, karena static default route akan mengacaukan dynamic routing.

Patch yang ada tidak mengubah konfigurasi kernel maupun wifi driver untuk menjaga stabilitas & fungsi dari firmware yang asli. Oleh karenanya, firmware yang di patch sebetulnya tidak mempunyai mode adhoc.

Kita dapat membuat sendiri Image di Debian/Ubuntu dengan menggunakan perintah berikut:

Siapkan Aplikasi Pendukung

Siapkan aplikasi pendukung

sudo apt-get install sharutils bison flex libz-dev patch fakeroot lzma 

Karena keterbatasan tempat dari rootfs di 4.0.1 SDK, kita perlu mendisable semua olsrd plugins kecuali untuk dyn_gw dan txt_info. Jika kita ingin membuat images dengan pilihan plugins yang lain, kita perlu mengedit apps/gpl/olsrd.mk.

Compile Firmware

Sebagai super user, compile firmware

sudo su
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

Untuk UBNT5 (5GHz)

Perhatikan patch yang digunakan di ambil dari folder yang berbeda dengan 2GHz,

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

tar jxvf SDK.UBNT.v4.0.1.4978.tar.bz2
wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS5.ar2313.v4.0.1.with-olsr-0.6.2/patches/UBNT_SDK4.0.1_files-03.tar.gz
wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS5.ar2313.v4.0.1.with-olsr-0.6.2/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 zxvf ../UBNT_SDK4.0.1_files-03.tar.gz

Untuk UBNT2 (2GHz)

Perhatikan patch yang digunakan di ambil dari folder yang berbeda dengan 5GHz,

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

tar jxvf SDK.UBNT.v4.0.1.4978.tar.bz2
wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS2.ar2316.v4.0.1.with-olsr-0.6.2/patches/UBNT_SDK4.0.1_files-03.tar.gz
wget http://build.ffgraz.net/ubnt/AirOS%20v4.x/XS2.ar2316.v4.0.1.with-olsr-0.6.2/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 zxvf ../UBNT_SDK4.0.1_files-03.tar.gz

Siapkan OLSR

Sekarang kita dapat men-download dan copy source code olsrd

OLSR ver 0.6.2

cd apps/gpl/olsrd
wget http://www.olsr.org/releases/0.6/olsrd-0.6.2.tar.bz2
tar --strip 1 -jxvf olsrd-0.6.2.tar.bz2
rm olsrd-0.6.2.tar.bz2
cd ../../../
make clean
make xs2

OLSR ver 0.6.3

source code OLSR versi 0.6.3 jauh lebih besar dari 0.6.2 jadi mungkin tidak akan muat untuk UBNT yang hanya punya space 4Mbyte. Tapi bagi anda yang punya nyali silahkan di jajal :)

cd apps/gpl/olsrd
wget http://www.olsr.org/releases/0.6/olsrd-0.6.3.tar.bz2
tar --strip 1 -jxvf olsrd-0.6.3.tar.bz2
rm olsrd-0.6.3.tar.bz2
cd ../../../
make clean
make xs2


Untuk membuat image 5.8GHz ganti xs2 menjadi xs5. BTW, pastikan kita mendownload patch dari folder yang benar. Patch untuk 2GHz berbeda dengan 5GHz.

Tunggu beberapa saat untuk proses compile sampai keluar,

Firmware version: 'XS2.ar2316.v4.0.1.SDK.120721.0548'
Output file: 'XS2.ar2316.v4.0.1.SDK.120721.0548-8M.bin'
Part count: 2
     kernel:   493511 bytes (free:   358457)
     cramfs:  2863104 bytes (free:  4214784)
Firmware version: 'XS2.ar2316.v4.0.1.SDK.120721.0548'
Output file: 'XS2.ar2316.v4.0.1.SDK.120721.0548.bin'
Part count: 2
     kernel:   493511 bytes (free:   358457)
     cramfs:  2863104 bytes (free:    20480)
make[1]: Leaving directory `/home/onno/ubnt-4.x/SDK.UBNT.v4.0.1.4978/rootfs'

Lokasi file ada di

~/ubnt-4.x/SDK.UBNT.v4.0.1.4978/rootfs/XS2.ar2316.v4.0.1.latest
~/ubnt-4.x/SDK.UBNT.v4.0.1.4978/rootfs/XS2.ar2316.v4.0.1.SDK.120721.0548


Perhatikan kode 120720.1441 paling belakang adalah untuk tanggal & jam firmware dibuat, yaitu

120721.0548
120720 = tanggal 2012 07 21
0548   = jam 05:48

Setelah Image dibuat, kita dapat menginstalasinya melalui AirOS Webinterface. Jika interface complain bahwa kita mengupload image yang salah maka kita harus mengupgrade AirOS ke versi yang lebih baru yang memungkinkan firmware third party untuk di masukan.

Upload Firmware

Gunakan TFTP sebagai 'flash_update' untuk mengupload firmware yang baru kita buat

Catatan Patch

Tampaknya file yang di patch adalah

patching file apps/web/common/index.cgi
patching file apps/web/common/lib/link.inc
patching file apps/web/common/lib/netrouterap.tmpl
patching file apps/web/common/lib/netroutersta.tmpl
patching file apps/web/common/lib/services.tmpl
patching file apps/web/common/services.cgi
patching file apps/web/common/system.js
patching file conf/xs2/busybox.config
patching file conf/xs2/product.mk
patching file conf/xs5/busybox.config
patching file conf/xs5/product.mk
patching file rootfs/ls2/linuxrc
patching file rootfs/ls2/usr/etc/rc.d/rc.softrestart

Referensi

Pranala Menarik