OpenWRT

If you came here looking for (files for) my build: go to openwrt.sjoosten.nl/files

OpenWRT: A GNU/Linux distribution targeted at embedded devices to route network traffic, such as residential gateways and routers.

OpenWRT enables you to take control of your router and configure it in any way you see fit. It’s fully open-source and does not hide any bits a manufacturer or ISP might have locked you out of. If you want to learn more about it, I suggest you check out their website, their wiki or the Wikipedia: OpenWRT page about it.

Why I use it

Most of all for it’s extensive customization options. It allows me to define my network the way I want it to be. It offers options and ways of configuration previously impossible when using the manufacturers firmware. Want to set multiple SSIDs? You can do that, more than 2 is also not a problem if your wireless radio can handle it. Want to configure VLANs and segment your network that way? There are options for it. Connect a external USB hard drive and turn your router into a little NAS? Sure thing. You can even add a Bittorrent client and have it do some downloading. It basically turns your router into a small Linux computer.

Another reason is stability. With the original firmware my router would crash every now and then, average once a week. Now I have the same router running OpenWRT and it has been up 24/7 for half a year without any problems. Of course, your mileage may vary, but it sure works for me.

Ease of configuration, for me at least. It does take some getting used to if you are not experienced with Linux. But lately the graphical user interface called LuCI is getting better and better. It’s no longer required to use a command line, although you still can. Upgrading and having it remember your configuration is also possible and a great benefit. And just in case, it allows you to export the configuration so you can back it up safely. Or use it to deploy another router running OpenWRT and re-use your configuration.

What’s available

OpenWRT offers pre-compiled builds on their website for you to use. But these are snapshots and those are only taken every now and then, so sometimes they are a bit older and do not contain the latest fixes. There are also nightly updates of the development branch (called “trunk”). This is where all development is done and therefor it is the most up-to-date. But take note: it also contains experimental patches and is subject to severe changes every now and then. Great if you know what you are doing and want the latest and greatest.

But when you just want your device to work and keep working, you might be interested in something more tested and stable. This exists in the stable branch. At intervals the trunk development tree is branched, to form a new stable branch. Development continues in trunk, but bug fixes from trunk get transferred to the stable branch. So over time, the stable branch improves in stability as they do often receive the latest fixes.

Builds

Starting point

I want those latest fixes, without exposing myself to experimental patches. So I needed to compile the stable branch for myself. As I was doing this, I thought to myself: “Other people might want to have the latest fixes as well, but might not have the know-how or time to figure out how to do this. Why not share my build with others?” And so I did.

People started using it! I received feedback and tried to put it to good use. After a while I also got offers with some web space to host the builds (thanks guys!), which helped out great!

Variants

Regular

This is a configuration I use myself. It’s quite minimal and close to a vanilla OpenWRT stable release, which contains the OpenWRT base and the graphical configuration interface (LuCI).

My “Regular” build offers out-of-the-box:

  • built from OpenWRT latest stable branch (Attitude Adjustment at the moment of writing)
  • LuCI graphical configuration interface
  • Wireless Country code configurable by user (enables use of channel 12 & 13 in my country)
  • IPv6 support
  • PPPoE support
  • Quality-of-Service settings

A good starting set, which can be expanded using packages just like a vanilla OpenWRT Attitude Adjustment release. Packages from the official repository can be used, and I provide most of the kernel modules in a repository hosted myself, which the build is pre-configured to use. The official kernel modules can be used as well, if required.

Chunky

This variant came forth from requests to integrate more services into the flashable image. This saves time and effort because you do not have to install many services from packages after flashing the firmware.

The “Chunky” build features out-of-the-box:

  • built from OpenWRT latest stable branch (Attitude Adjustment at the moment of writing)
  • LuCI graphical configuration interface
  • Wireless Country code configurable by user (enables use of channel 12 & 13 in my country)
  • IPv6 support
  • Extra WAN connectivity (PPPoA, PPPoE, ATM Bridge (AAL5), 3G USB dongle)
  • Quality-of-Service settings
  • USB storage support (filesystems FAT32, ext2/3/4, more can be installed)
  • File sharing over Windows networking (Samba)
  • UPnP support
  • Wake-on-LAN support

And just like “Regular” any other OpenWRT feature can be installed as long as there is enough free space. Official packages can be used, and I provide matching kernel modules myself. Official kernel modules can be used too, if required.

blogroll

social