[CUWiN-Dev] X-Wrt extends OpenWrt router firmware

Sascha Meinrath sascha at aya.yale.edu
Sat Jul 7 09:25:20 CDT 2007


FYI:

http://www.linux.com/articles/114338

Everything Linux and Open Source
X-Wrt extends OpenWrt router firmware
June 18, 2007 (3:01:00 PM)  -  2 weeks, 3 days ago

By: Joe Barr

I've been using OpenWrt on my Linksys router for a year or so. I take it
for granted -- I ignore it because it just works. But back at X-Wrt.org,
which is a related project, not a competitor to OpenWrt, developers have
been busy creating a new user interface that both extends OpenWrt and
makes it easier to use.

X-Wrt installation is a breeze. I was already running OpenWrt RC9 White
Russian, so the only thing I needed to do was to decide whether to
install the latest or the stable version of X-Wrt, then click the
appropriate button on the X-Wrt.org installation page. A minute later,
after my router was rebooted, I was running X-Wrt.

For those of you not running White Russian, that same page details
installation procedures for 22 different routers, both for people
starting from scratch with the router still running the stock firmware,
and those who have a version of OpenWrt already installed.

The UI is the primary difference between X-Wrt and OpenWrt. Webif is the
Web-based interface for OpenWrt, and webif? is used in X-Wrt. But that's
not the only difference. There are also X-Wrt packages for MiniUPnP
(universal plug and play), an alpha version of a pseudo-filesystem for
routers called tarfs, a later version of BusyBox (1.4.1) than is
available with the White Russian release of OpenWrt, and the same for
wireless-tools and ipkg.

The browser-based webif? interface displays nine top-level pages: Info,
Graphs, Status, Log, System, Network, VPN, Hotspot, and Log Out. In all,
there are more than 40 pages available to inform you about an aspect of
your router or to allow you to tweak the installation.

If you like traffic data presented in graph form, you can select Graphs
and choose your poison from CPU utilization or traffic on lo, eth0,
eth1, br0, vlan0, or vlan1. Just want the facts? Click on Status, and
your options are to display the status of running processes, interfaces,
UMTS, DHCP clients, netstat, IPtables, QoS, USB, PPPoE, PPTP, Asterisk,
OpenVPN, Site Survey, or Diagnostics.

Jeremy Collake, founder of the X-Wrt project, talks about the project

The impetus for creation of X-Wrt was that the OpenWrt project was not
actively pursuing a Web-based management console. They did have the
basic framework for a Web-based management console in OpenWrt White
Russian, but decided to scrap it in favor of a rewrite. Although the
rewrite never did come, the decision caused new contributions to the
existing framework to be discouraged. I, and others, didn't want to wait
for, or initiate, a complete rewrite. Therefore, we took the existing
framework and started making forward progress. The project grew quickly
from there, with the OpenWrt developers actively participating in the
lower-level development.

Since OpenWrt is modular and extensible, a complete fork was
unnecessary. We simply created packages to extend OpenWrt, and
distributed pre-built firmware. Doing this in a way that paid homage to
OpenWrt was important from day one, as we wanted to make it clear on
whose code the X-Wrt firmware was built. In fact, we usually just
recommend people install OpenWrt, then install the X-Wrt package(s) on
top of it.

The cooperation of the OpenWrt developers was critical. When features
needed to be added to the core code, they would add them for us. Had
this cooperation not been present then it's likely we'd have had to fork
some portions of the code, but it would have been done out of necessity
instead of preference. My general rule of thumb is: Don't fork unless
its absolutely necessary.

Today, X-Wrt continues as an active project with several developers
working on it daily. The open, community-driven nature of the project
has allowed it to survive and prosper. Thepeople and lubek are the two
biggest contributors at present, with myself having become a somewhat
worthless idler.

By the way, Site Survey is not designed to show the results of a poll of
visitors to your LAN, but rather to show you all the wireless networks
detected by your router, if any. If you select an option for a feature
you're not running, such as Asterisk, for example, the page not only
informs you that it is not running, it offers you the opportunity to
install it.

Moving from eye-candy to function, the System -> Packages page allows
you to easily add and remove package repositories, install packages by
URL from the Internet, or update the list of packages available, all in
addition to adding and removing specific packages. Following X-Wrt
installation, the default repository set includes Backports 0.9, White
Russian, non-free, and X-Wrt.

Want to check or set an NVRAM option? Click on System -> NVRAM and
you'll not only be presented with a complete, easy-to-read listing of
all your NVRAM variables and their contents, but be able to edit them or
add new ones with just a click. Be careful who is around when you view
this page, however, as it shows your wireless WEP/WPA passwords.

Another handy feature is the ability to edit config files and scripts.
Select System -> File Editor, expand directories if needed, and when you
see the file you want to edit, click on the pencil icon -- not the file
name -- and the file will appear in an editing window. Be careful not to
click on the red X, as that will delete the file. Hovering over the file
or directory icon shows information about it: permissions, owner, group,
and creation date.

X-Wrt also makes it easy to back up and restore the configuration, using
the System -> Backup & Restore page. One of the developers suggested
using a date string for the configuration name. The backup file itself
is named config.tgz, regardless of the name you enter in the text box,
and the name you enter is stored inside that file.

The project offers good documentation on its Web site beyond the
installation instructions mentioned earlier, including sections on
troubleshooting, supporting, and participating in the project. You can
find additional resources for help with X-Wrt in the project forum,
wiki, mailing list, and the #x-wrt IRC channel at Freenode.net.

Conclusion

X-Wrt is a slick new project that makes using OpenWrt easier and more
fun than ever. The attention to detail is excellent, the documentation
and assistance on IRC is very good, and the quality of the software is
high, just as it is in OpenWrt. On a scale of 1 to 10, I give it an 9.

Special kudos to both the OpenWrt project and the X-Wrt project for
working together toward a common goal. It's the way things such things
should be done, but seldom are.
Read in the original layout at: http://www.linux.com/articles/114338





More information about the CU-Wireless-Dev mailing list