View Full Version : AirOS 3.3 SDK?
jwishnie
02-15-2009, 04:14 PM
Hi folks,
When can we expect the AirOS 3.3 SDK? I have to build a custom firmware with RIP/OSPF and would like to use the latest code base...
thanks,
Jeff
FlemmingFrandsen
02-22-2009, 01:04 PM
I'd like to second this request, I really need to be able to add OSPF support as well.
What OSPF implementation are you using? Bird or Quagga?
jwishnie
02-22-2009, 01:34 PM
I used Quagga 0.98.6 (current stable). I built a version with Bird as well, but Quagga is more common in server OSs and I need the Ubiquiti's to share routes with Ubuntu servers and Quagga and Bird have some incompatibility and won't exchange routes...
You can read about and download the firmware with RIP2 and OSPF here:
http://wiki.inveneo.org/index.php/InveneoUbntFirmware#Firmware_for_Ubiquiti_Devices
Here is a tinyurl for that:
http://tinyurl.com/ubntrip
The code is in Inveneo's subversion repository. You can see the list of added and modified files with this command:
svn diff -r27:HEAD --summarize http://svn.inveneo.org/repos/ubnt/branches/ubnt-lsX-SDK-v3.2.3743
And you can check out the full SDK with added quagga:
svn co http://svn.inveneo.org/repos/ubnt/branches/ubnt-lsX-SDK-v3.2.3743 ubnt-SDK-3.2_quagga
- Jeff
FlemmingFrandsen
02-23-2009, 12:07 PM
Aside from enabling telnet instead of removing it entirely those are some very handy modifications that really ought to make it into the official ubnt firmware.
Let's hope Ubiquity releases the SDK for 3.3 soon.
jwishnie
02-23-2009, 12:10 PM
Yeah, it wouldn't be hard to disable telnet and just use dropbear ssh-server, but for my needs security wasn't the issue and telnet was the 'Ubiquiti' way... trying to keep as close to the standard firmware as possible.
But if you'd like to check out from the SVN url in my post above, make the changes, and send me a patch, I'd be happy to incorporate those changes.
FlemmingFrandsen
02-23-2009, 02:06 PM
Yeah, it wouldn't be hard to disable telnet and just use dropbear ssh-server, but for my needs security wasn't the issue and telnet was the 'Ubiquiti' way... trying to keep as close to the standard firmware as possible.
Well, I try to be as paranoid as possible wrt. security of networked devices, especially ones that I can't get to without climbing a roof:)
But if you'd like to check out from the SVN url in my post above, make the changes, and send me a patch, I'd be happy to incorporate those changes.
I have already checked it out and I'll certainly use it as a starting point for my own changes.
What toolchain do you use, the (very old) one provided by ubnt or something else?
Features I might be looking into:
1) Ability to turn off ssh password logins, it's generally too dangerous to leave enabled on normal systems, though without also disabling password login for the web interface there's really very little point, at least the web interface runs on https.
2) Ability to upload the authorized_keys file via the config file, that would save me about 30 seconds when configuring a unit, but out of ~3 minutes including firmware upgrade that's not really a biggie.
Nothing much really, Quagga is my biggest problem and you have that covered.
I wonder why the Ubnt guys havn't rolled your changes (minus the Telnet one, that's dangerous) into the default firmware, it really sounds like worthwhile additions.
jwishnie
02-23-2009, 02:43 PM
Totally understand your points on security and would love to incorporate the changes you suggest.
I am using the UBNT provided toolchain on the assumption that it is the one they use and wanting to stay as close as possible to factory procedures.
To turn off Telnet by default, just edit the default system.cfg before compiling. Find the telnet property (it's just after the Inveneo props) and set it disabled.
The files are here:
rootfs/ls[25]/usr/etc/system.cfg
FlemmingFrandsen
03-02-2009, 01:11 PM
As far as I can tell from this page: http://ubnt.com/support/airos.php there was a delay of a little over 2 months (!!!) from the release of the binary 3.2 to the 3.2 SDK.
I'm just about to start deploying a large amount of LOCO5s and NS5s and I would be very sad if I had to deploy them all with 3.2 just because UBNT is dragging their feet on typing tar in an appropriate directory.
I'm starting to wonder if we'd be better off disassembling the binary firmware so we can modify the file system and put it back together.
FlemmingFrandsen
03-06-2009, 09:43 AM
Woohoo they finally released the updated SDK!
FlemmingFrandsen
03-07-2009, 04:07 AM
I'm trying to compile the 3.3.2 SDK with quagga added, but as with the vanilla SDK I get this compile error (I'm on 32 bit ubuntu 8.10), any idea what I did wrong?
make[5]: Entering directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers/madwifi-5.0/ath_dfs'
/opt/toolchain/mips_ls/bin/mips-linux-gcc -D__KERNEL__ -I/home/ff/SDK.UBNT.v3.3.2.4257-quagga/kernel/linux-kernel-2.4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I /home/ff/SDK.UBNT.v3.3.2.4257-quagga/kernel/linux-kernel-2.4/include/asm/gcc -G 0 -mno-abicalls -fno-pic -pipe -finline-limit=100000 -g -mabi=32 -march=r4600 -Wa,-32 -Wa,-march=r4600 -Wa,-mips3 -Wa,--trap -DMODULE -mlong-calls -include ./..//include/compat.h -I./..//include -isystem /opt/toolchain/mips_ls/bin/include -I..//../ath_hal_50 -I./..//hal -I./..//hal/linux -I./..//ath -I./..//net80211 -I./../ -Werror -DUSE_NAPI_POLLING -DAH_BYTE_ORDER=AH_BIG_ENDIAN -G 0 -mno-abicalls -fno-pic -march=r4600 -Wa,--trap -fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls -isystem /home/ff/SDK.UBNT.v3.3.2.4257-quagga/kernel/linux-kernel-2.4/include -DATH_SUPERG_FF=1 -DATH_SUPERG_DYNTURBO=1 -DATH_TURBO_SCAN=1 -DATH_SUPERG_COMP=1 -DLED1_PIN=7 -DLED2_PIN=5 -DLED3_PIN=4 -DLED4_PIN=3 -DATH_TX99_DIAG -DAH_SUPPORT_DFS=1 -DAH_SUPPORT_DFS=1 -nostdinc -I /opt/toolchain/mips_ls/lib/gcc-lib/mips-linux/3.3.3/include -DKBUILD_BASENAME=dfs_module -DEXPORT_SYMTAB -c dfs_module.c
test ! -e dfs.o && cp -f ..//../ath_dfs/dfs.o . || true
cp: cannot stat `..//../ath_dfs/dfs.o': No such file or directory
test ! -e dfs.o && cp -f ../dfs/dfs.o . || true
cp: cannot stat `../dfs/dfs.o': No such file or directory
/opt/toolchain/mips_ls/bin/mips-linux-ld -EB -o ath_dfs.o -r dfs_module.o dfs.o
/opt/toolchain/mips_ls/bin/mips-linux-ld: cannot open dfs.o: No such file or directory
make[5]: *** [ath_dfs.o] Error 1
make[5]: Leaving directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers/madwifi-5.0/ath_dfs'
make[4]: *** [_mod_/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers/madwifi-5.0/ath_dfs] Error 2
make[4]: Leaving directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/kernel/linux-kernel-2.4'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers/madwifi-5.0/ath_dfs'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers/madwifi-5.0'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/ff/SDK.UBNT.v3.3.2.4257-quagga/drivers'
make: *** [xs5] Error 1
FlemmingFrandsen
03-08-2009, 11:18 AM
I have had about a days worth of messing about with the firmware and I finally got it to work with the new version: http://dren.dk/ubi.html#fw
Did you fix the same two compile problems I found?
There is a diff on my page for the two compile problems in the SDK.
I also had to disable ipv6 support to get Quagga to build, did you do the same?
jwishnie
04-07-2009, 09:32 AM
Hi Flemming,
I was seeing the same compile error. I think it has to do with some compilation artifact that is not properly cleared out by a make clean.
I never tracked the specific problem down because checking out the uncompiled SDK from SVN (or untar'ing the virgin tar-ball) fixed the problem.
- Jeff
fariasbsd
05-27-2009, 05:43 PM
see these link's
https://wiki.graz.funkfeuer.at/UbntStations
http://intoverflow.wordpress.com/2008/11/14/openwrt-and-ubiquiti-nanostation-2/