I’ve used OpenWrt previously to this project to build some firmwards for the Linksys Router WRT54 range. OpenWrt is an incredibly powerful and small Linux distro. Although debian is probably better suited to the reasonably powerful hardware, I wanted to give OpenWrt a go anyway.
Unless you’re running a MIPS 4Kc processor on your host which I’m guessing you’re not, you’ll either need to cross compile your binaries, or just compile them natively on the device itself. Compiling on the device works fine as long as you have the relevant packages, however if I was going to build a 2.6 kernel, I’d rather do it on an x86 quad core intel host, rather than waiting a week for the device to do it. I also wanted to minimize the writes on the CF card.
OpenWrt comes with a nice buildroot environment which you can read about and download from www.openwrt.org using Subversion.
Here http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-310002 is a great HOWTO on getting the build root environment set up on your x86 host.
Also, see: http://wiki.mikrotik.com/wiki/RB500_Linux_SDK – this is a very complete HOWTO, which is why I’ve not covered most of the installation process and just detailed customizations.
You’ll need to select the RB5xx target for the kernel. Also, run:
In your build root top directory, and add USB support (as my one is modded for USB which is not RB5xx default.
While you’re there, browse to the networking options and make sure you have everything you want, specifically the schedulers for traffic shaping.
Here is my precompiled image:
Tags: /dev/cfa1, /dev/cfa2, /dev/cfa3, bridge, build root, buildroot, debian, dropbear, ifconfig, iptables, kamikaze, mikrotik, miniupnp, miniupnpd, mips 4kc, multiple isps, multiple providers, ntp, ntp client, openwrt, precompiled image, rb532a, rbxxx, split route, subversion, svn kernel, uplink, usb, usb support, x86
I put this device together for fun sometime around the start of 2007. The ideas that spawned this was using OpenWRT on a Linksys WRT54G access point. A surprisingly powerful and full linux distro with all kinds of advanced capabilities running on a Linksys wireless router which I’d previously thought to be a reasonably dumb device with computing power more comparable to a calculator than a PC. The project opened my eyes to embedded devices, and I wondered what device base I should start with. To cut a long story short and for reasons that I can’t even remember anymore I came across the Mikrotik Routerboard 532A and decided that I should start with that.
Conception
Here’s a picture of the device from the outside with some labels, view the full image to see them.
1. Status LEDs. Blue at the bottom left shows it’s on, orange at the top right shows that there’s wifi activity.
2. Ethernet (eth0)
3. Standard Serial Console (57600, 8 N 1)
4. Ethernet (eth1)
5. Ethernet (eth2)
Tags: adsl2+, APNIC, APNIC Box, distro, ethernet, isp, linksys router, Linux, Linux routing, modem, openwrt, picolcd, public IP, redundancy, routerboard 532a, serial console, switch
I have two separate internet providers, two separate static ranges, one from each provider, and a LAN. The purpose of the exercise here was to split traffic between the two providers on an equal 50/50 basis.
(more…)
Tags: Linux, mikrotik, minipci, openwrt, picolcd, router, routerboard 532a, usb, wireless