Software for ADM5120-based Routers ================================== This site is for software for the `Omnima EMB `_, Edimax BR-6104K(P), and Sweex LB000021 routers. These devices all have 16MB RAM and 2MB flash, are based on an Infinion ADM5120 SoC processor and are rather cheap! Quick links: `Project page `_, `Browse SVN `_ .. contents:: Midge (Linux 2.4) ----------------- `Midge `_ is one of the oldest operating systems for use with the ADM5120. Midge is based on an old fork of OpenWrt from a time when OpenWrt developers thought it was pointless to support anything with less than 4MB of flash. That situation has now changed, but Midge keeps a fairly devoted following, both in Russian and English as evidenced by the `forum `_. Midge has support for USB storage devices and `can be made `_ to boot a rootfs from a USB stick, thereby breaking the 2MB storage limitation. OpenWrt (Linux 2.6) ------------------- OpenWrt has been around for a while now, but only really kicked off on 2MB flash ADM5120 when an OpenWrt developer with the hardware and the inclination (juhosg) ironed out most of the USB driver bugs in late 2007. OpenWrt's strength is also it's biggest weakness: agressively tracking the latest Kernel releases means it lacks the stability of Midge, however it does has support for the latest devices. I've put some info in the `OpenWrt-related `_ section. Squidge ------- I created Squidge because I wanted a straightforward way of having an OpenWrt-based (Linux 2.6) system with USB-root, whilst keeping the maximum RAM available for applications. Unlike Midge (and OpenWrt), Squidge is only relevant to routers with a USB port. Squidge used to be hosted here but has now moved to the `Squidge Sourceforge site `_. NetBSD ------ I made some attempts to get NetBSD working on an Edimax BR-6104K. I've written this up on the `NetBSD page `_, however Paul Chakravarti seems to have progressed this on `his page `_. I'm not doing much with NetBSD these days because I can't install the 386 version on VirtualBox, it refuses to install on any of the 386 hardware I have, and it seems a lot less configurable than linux, e.g. if I want to disable console on serial port (quite handy for embedded work when you only have one accessible UART), I seem to have to hack the kernel to pieces. ADM5120 without an OS --------------------- If you don't want to use an OS at all, you can look at bootloader code from various projects (Linux, NetBSD) to see how to initialise the chip and make it do your bidding. I've thrown together a `simple mips assembler example `_ as a starting point. This is compatible wih the standard Edimax bootloader. Tools ----- I've created a firmware upload tool to automate the flashing of firmware on the routers: `Firmware upload tool `_. Technical Information --------------------- `ADM5120 LinuxMIPS `_ `ADM5120 Switch - LinuxMIPS `_ `BR6104 - LinuxMIPS `_ Projects -------- Quite a few people have written up their projects with these boards. - http://www.snowleopard.com/2008/04/my-adm5120-embedded-controller-arrived.html - http://www.sunspot.co.uk/Projects/sweexproject.htm - http://jimmyg.org/2008/02/10/embedded-linux-server-midge-and-the-edimax-br6104kp - http://www.agri-vision.nl/CMS/index.php?option=com_content&task=view&id=36&Itemid=64 - http://www.hackaday.com/2008/01/12/ntp-alarm-clock/ Where to buy ------------ - http://www.omnima.co.uk/kp (with USB) - http://www.scan.co.uk/Product.aspx?WebProductId=152542 (no USB) Communities ----------- - http://www.amilda.org/ - http://www.norocketscience.com/ - http://midge.vlad.org.ua/forum/ - http://forum.openwrt.org/ .. image:: http://sourceforge.net/sflogo.php?group_id=138655&type=5 :target: http://sourceforge.net