X-Wrt  
OpenWrt for end users
Hosted at ...BerliOS Developer Logo

X-Wrt is a set of packages and patches to enhance the end user experience of OpenWrt. It is NOT a fork of OpenWrt. We work in conjunction with the OpenWrt developers to extend OpenWrt.

Our packages currently work with the latest public release of OpenWrt - White Russian RC6. We also maintain backwards compatibility with OpenWrt White Russian RC5. Support of OpenWrt's upcoming Kamikaze firmware is coming soon. Explore this page to learn about our work, or just skip straight to installing X-Wrt and see the fruits of our labor yourself.

Project Links:

Document Navigation:

  1. Introduction
  2. Status
  3. Installation Instructions
  4. Webif2 Troubleshooting
  5. X-Wrt Packages
  6. OpenWrt Kamikaze Plans
  7. Commercial Use: Ok
  8. Participate
  9. Support Us
     

Introduction to X-Wrt

X-Wrt was started because there was a need for end user extensions to OpenWrt, such as an enhanced web management console (webif). For a long time now it has been established that OpenWrt is the best firmware in its class. It far exceeds other firmwares in performance, stability, extensibility, robustness, and design. We at X-Wrt decided it was long past time for end users to get access to this superior firmware.

We are a separate project from OpenWrt due to the difference in focus and development ideals. We are considerably more pragmatic than OpenWrt and have the goal of providing solutions today, while OpenWrt has a more idealistic development philosophy and intends to perfect the firmware core, no matter how many rewrites and how much time it takes. This difference in development attitude creates a complimentary atmosphere that benefits everyone.

This is a free, open-source, community-driven project. Our primary project ideals are:

  • Free and open-source. The project should be entirely free and open-source, licensed under the GPL. The project should always be hosted at an easily accessible site and source code readily available and easily built.
  • Easy entrance. The project should always be open to new contributors and have a low entrance barrier. Anyone should be able to contribute. We actively grant write access to anyone interested in having it. We believe people are responsible when given responsibility. Just ask and we'll sign you up.
  • Community driven. This isn't about 'us' offering 'you' something, it's about everyone coming together to work towards the common goal.
  • No monetary donations without accounting. The project can not accept monetary donations without having a treasurer to hold and account for all donations and what they have went towards.
     

Project Status

This project is still young, but we are accomplishing things at a rapid pace. All our work is currently in beta, but our code can be used today and is more stable than many firmwares in their 'final' state. You can keep up with the latest developments by checking the xwrt-svncheckins message list that archives commit logs as they happen: https://lists.berlios.de/pipermail/xwrt-svncheckins.

Our latest stable snapshot of webif2 is Milestone 2. The install buttons below will have you install it. If you then use the webif's update feature you will get the latest internal build.
 

Installation Instructions

X-Wrt is a set of packages that overlay OpenWrt. There are two primary ways to install and use X-Wrt on your router:

  1. Flash OpenWrt White Russian, then install webif2 and any other X-Wrt packages.
    ...or...
  2. Flash a pre-built image of OpenWrt White Russian that already includes X-Wrt packages like webif2.
  • Method #1: Flash OpenWrt White Russian then install X-Wrt packages
  1. If you do not already have OpenWrt White Russian on your router, download an appropriate OpenWrt White Russian image and flash it (follow instructions in OpenWrt's wiki). We recommend White Russian RC5, RC6, or 0.9 (when it is released). Kamikaze is NOT supported yet, but will be soon.
  2. Enter your router's IP address in the field below and click the button below to install the latest official beta release of X-Wrt's webif. After you install the latest official beta release the 'check for update' and 'upgrade' buttons you'll find in the webif itself will move you up to the latest daily build, which has more features but has been less extensively tested.

    This button will NOT work with Internet Explorer at present.


WARNING: All X-Wrt packages, including webif2 are in beta. The latest daily build we try to keep stable, but of course a build updated multiple times a day is difficult to guarantee the stability of.

Your Router's IP address:  
To install latest daily: less tested - more up to date - changes daily
To install last stable: more tested - less up to date - changes never  

Be warned, the very first install of webif2 will reboot your router!
 

If the display of the web pages looks funny, do a hard refresh (hold down SHIFT and click REFRESH) to clear out the old CSS.

Instead of using this automated install procedure, you can also ssh or telnet to the router and run ...

(latest milestone):  ipkg install http://ftp.berlios.de/pub/xwrt/packages/webif_milestone2.ipk
(latest daily):  ipkg install http://ftp.berlios.de/pub/xwrt/webif_latest.ipk

 

  • Method #2: Flash pre-built OpenWrt White Russian images
    1. Download firmware images from here: ftp://ftp.berlios.de/pub/xwrt/images/ . Download the one appropriate to your router.
    2. Once you've extracted the images, flash the squashfs image appropriate to your router by following the instructions on OpenWrt's wiki.

    Micro builds are currently under development and will be posted as soon as they are ready.

    WARNING: These images are in a non-final state and are updated several times a week. Although they should be stable, if you have any troubles with them, please report it.
     

Webif2 Problems

Since our new webif is in beta sometimes you can get a build that has problems. The best advice is:

  1. Upgrade to a newer build when it is available.
  2. Report bugs or other errata you see if you don't find it fixed in the next build. It's hard for us to test every build thoroughly.
  3. If you somehow got unlucky and ended up with a daily build that was horribly broken and you can't upgrade the webif, ssh into the router and run this:

    ipkg install http://ftp.berlios.de/pub/xwrt/webif_latest.ipk -force-reinstall

 

X-Wrt Packages

Although all our work is based around our webif2 package, we actually have a number of packages to add to OpenWrt. At present they are all for White Russian, but we are moving actively into Kamikaze right now. A list of some of our packages are:

  • webif2 - our new webif, but you already know that ;).
  • miniupnpd - an offering of this excellent new upnp daemon.
  • tarfs - a specialized pseudo-filesystem for micro sized routers. - alpha stage development
  • busybox 1.2.1 - an update over the Busybox 1.0 used in White Russian. It also includes some different applets, like user management utilities.
  • wireless-tools v29 pre10 - an update to wireless-tools (iwconfig, iwlist, etc..).
  • ipkg-upgrade-fix - issues a warning when a user tries to run 'ipkg upgrade', something known to wreak havoc on unsuspecting users.

 

OpenWrt Kamikaze Plans

We are working actively towards a version of the webif for OpenWrt's long delayed next generation, Kamikaze. By the time Kamikaze goes public, we probably will have finished support for it.

OpenWrt Kamikaze represents a substantial and fundamental change. It is not simply a new version of White Russian, but instead a complete rewrite of the build root and configuration structure. That is why White Russian went stagnant for so long, the developers quit working on it in favor of this more ambitious idealized solution. This new branch of OpenWrt took a long, long time to hash out, but now its almost ready.

The ever-popular NVRAM configuration storage system is no longer utilized in Kamikaze. It has been replaced with configuration files, many stored in the common format known as 'UCI'. This was done because although an emulated NVRAM storage area to keep tuple based configuration data can be easily implemented on any platform, the OpenWrt developers felt it wasn't structured enough for their tastes. So, out the window it went.

To make the webif work with Kamikaze we therefore have to work with this new configuration system. The good news is our webif already supports UCI. Some pages, like the QoS page, use the UCI system entirely. To finalize support for Kamikaze we simply have to take the remaining code that utilizes NVRAM and either write new code or write a translation layer to convert NVRAM to and from UCI configuration files. The end solution may be a combination of both.

While some developers not approve of us maintaining support for White Russian, usually because they don't want to make the extra effort, we believe it is important to continue to support the only stable branch of OpenWrt released at the time of this writing. White Russian will be around for many years and the overhead required in supporting both Kamikaze and White Russian is minimal compared to the rewards.

We hope to have basic Kamikaze support by the end of 2006.


Can I use X-Wrt in my commercial venture?

Yes, you can use X-Wrt in whatever way you like, providing you do not violate the terms of the GPL license agreement and any other licenses applicable. We can help you to rebrand the webif and tweak it to suit your needs. Some of our developers do contract work. If you are interested in using X-Wrt as part of a commercial venture, we'd love to hear about it. Email us at jeremy@bitsum.com to let us know what you are using X-Wrt for, or to inquire about webif related work.



Participate in X-Wrt

We always need developers, testers, documentation writers, translators, and support personnel. Our project is truly OPEN and FREE. Anyone can come join our project.

If you would like to get write access to our repository, just create an account at www.berlios.de and email jeremy@bitsum.com or contact one of our other developers on the irc channel (#x-wrt / freenode). We do not make anyone pass an 'entrance exam', though we do like for people to supply a patch of some sort just to prove that you are serious.

A listing of some of the needs we have are:

  • development
  • graphic artists
  • localization (translation)
  • user support
  • documentation writers
     

Support X-Wrt

We do not accept monetary donations because we have no project treasurer to account for those donations and where they go. However, there are some things you can help us with if you choose:

  • web hosting. Berlios provides most our web services, but we may need other web hosts in the future.
  • hardware donations. You can donate routers or other hardware to our developers, who may be in need of them for testing purposes. We are currently running our poor routers into the ground, so we encourage these type of donations.
  • spread the word. Tell people you think might be interested about our project. Not even all OpenWrt users have heard of our project yet. You might consider mentioning X-Wrt on the OpenWrt forums and in #openwrt on freenode.

 


 

 

X-Wrt is a free, open-source project maintained by the community that uses it.
All our work is licensed under the GPL.
http://www.x-wrt.org

(c)2006 Jeremy Collake / X-Wrt Project