The EWRT FAQ 1. Introduction 1.1 What is this Ewrt thing anyhow? 1.2 Where do I get more current info about the project? 1.3 What are the benefits of using Ewrt? 1.4 Why Ewrt? Why not work on another system, e.g. OpenWRT? 1.5 Why would I want to run an authentication server on my network? 2. Installation 2.1 What hardware does it run on? 2.2 Where can I download a binary for my router? 2.3 How do I install the binary file onto my router? 2.4 Will I brick my router? 2.5 Don't these linksys devices burn out in a while with 3rd party firmware? 2.6 Will I be able to switch firmware after loading ewrt on my router? 2.7 How do I save the current firmware before overwriting it with ewrt? 2.8 Will I destroy the nvram settings when I upgrade my firmware? 2.9 How do I remotely upgrade a router that is accessible over the internet? 3. Features 3.1 How is the filesystem laid out? 3.2 How do I write files to ewrt's rewritable (JFFS2) flash partition? 3.3 Will the /opt/ partition be preserved when I re-flash? 3.4 Does or will EWRT have Perl, PHP, GPG, emacs or a mail reader? 4. Configuration 4.1 What do I need to set up to get started? 4.2 How do I set up the sshd to log into the router? 4.3 How do I set up NoCat splashd? 4.4 I don't like your default splash page. How do I set up one of my own? 4.5 How can I set up remote syslog support? 4.6 How can I install ipkg packaged applications onto my router? 5. Customization 5.1 What kind of software do I need to build Ewrt from a source tarball or CVS? 5.2 How can I build a version of the web interface? 5.3 I think I found a bug. What information would you like when I report it? 5.4 How can I get some software I need into ewrt? 6. Development Activity 6.1 Is this project in active development? 6.2 How often do you release files? 6.3 What are the future plans? 6.4 How can I contact you with questions regarding development? 7. Miscellaneous Questions 7.1 Where can I get a Linksys device? 7.2 Where do you get those antennas we see in the pictures? 7.3 I'd like to deploy my WRT54G outdoors. Is this possible? 1.0 Introduction --------------------- 1.1 What is this Ewrt thing anyhow? Ewrt is an embedded firmware distribution for wireless routers (namely those from Linksys' WRT54 series.) Ewrt was developed by Portless Networks, a consulting company in Portland, OR. It started from the desire to create an open-source packaged hotspot-in-a-box type firmware for comminuty wireless groups and commercial hotspot operators alike. The firmware would also integrate a stable and secure server for open-mode/splash-screen style (or other type of) authentication to grant users access to services on the router or local network. We also required that any available space remaining on the flash be made rewriteable on-the fly to allow the storage of a small amount of HTML content (for a fully integrated splash-page), for post-upgrade system reconfiguration, static (accounting) data storage or software extensions via downloadable packages. 1.2 Where do I get more current info about the project? Please first read the notes on the Ewrt homepage for the latest news, info and ReleaseNotes. If you would care to join or read our (ewrt-devel) development mailing list, please go here for more info. 1.3 What are the benefits of using Ewrt? We developed Ewrt to specifically meet the needs of community wireless projects and hot spot operators. We wanted a hot-spot in a box, that was stable and easliy monitored. One of Ewrt's main design goals was to preserve much of the functionality and ease of use currently built into the original firmware on your router, while significantly enhancing the number and usefulness of additional features. For example, we have integrated our captive portal (called NoCat splashd) with the Linksys web interface so that it is very easy to configure. 1.4 Why Ewrt? Why not use another system, e.g. OpenWRT? We have a lot of respect for what other people are doing. We try to keep up to date and share ideas with many of our peer open-firmware projects out there for these routers. Ewrt yet preserves much of what other projects have cut out of the guts of the firmware. We have preserved the very functional web-interface and the entire nvram configuration underlying it. We also preserved the very complicated, but very fast initialization process, and continue to augment it with new functionality and extendability. We have also come up to date with the internationalized languages support in the latest upstream code. We have applied all known upstream security updates, and retain compatibility with the recommended build tools. This is a double edged sword for us, though because if we keep all of the features present in the original firmware we are more chained to a particular hardware platform, but have a much easier time following the changes in upstream releases. Ewrt has met our own needs nicely. It is a snap to set up in the field, and remotely manageable in almost every way. Our first commercial deployment of EWRT was done in early 2004, and the units are still running strong with almost no maintenance. We still have plans to add and test some of the available advanced features on the backend, some reserved only for the hardcore linux geeks, but for the releases, ease of use of the entire system is still very high on our priorities. 1.5 Why would I want to run an authentication server on my network? We had a couple of very compelling reasons. At least the first two have become SOP (Standard Operating Procedures) for our local comminuty wireless networking group, the Personal Telco Project. The first is Legal Indemnity. By showing all users trying to access your network a splash screen telling them your legal TOS (Terms Of Service) when they connect, you will likely indemnify yourself against all sorts of legal issues which could crop up in their actions while they use your network. This one has already proven it's value. Secondly, and in conjunction with your splash page: Local Branding and Advertising. If the router/hotspot's owner wishes to advertise local content, local network services or just plain old Google ads from this splash page, they can. This can also be a great way to subsidize the cost of offering free and open bandwidth to the Public, e.g. via a link to make donations to your organization which hosts the bandwidth. All authentication modes (including the default Open-mode) also offer some enhanced security through their dynamic firewall controls. In addition, you can build up security, authenticity and account management for your users or billing databases using the other portal modes (in development) for this gateway (e.g. pin#, passwd, RADIUS or LDAP.) Ewrt currently maintains an advanced branch of the NoCatSplash code, with a complete rewrite of all of the http-server query/response handling for stability, security and ease of debugging. We plan to update the server basis further to support PAM-style authentication plugin modules, and multiple concurrent servers configurable on the same gateway offering different mixtures of authentication and perhaps class-configurable QoS to different domains of users. 2.0 Installation ------------------ 2.1 What hardware does it run on? Current releases are only for the WRT54G/GS/GL routers from Linksys. Ewrt runs on all versions of these routers EXCEPT the WRT54Gv5 or the WRT54GSv5, due to the cripplingly small amount of flash memory given to those devices. Linksys chose to switch to vxWorks OS to save a few pennies on the flash, which seemed like a big downer at first, but they then realized the enthusiasm they had generated in the Linux community, and released a Linux-capable (also currently available) WRT54GL model (which we support.) See the HardwareCompatibilityTable for some info about the various hardware revisions, and how to identify whether your model is supported. 2.2 Where can I download a binary for my router? The binaries are available here. 2.3 How do I install the binary file onto my router? Follow our procedures on the InstallHOWTO step by step and you should have it running in no time. 2.4 Will I brick my router? Probably not, if you use supported hardware and are careful. We have tested many revisions of the software and worked out many critical bugs which could cause the install to fail. The first rule is not to touch it within five (5) minutes of installing any new firmware. It takes a bit to upload that firmware, and if you turn it off while the flash is being burnt, you will have problems getting it to reboot. You will learn to tell a good flashing by the quick burst of traffic lights as the firmware uploads to ram, followed by a long slow flashing of the power light while the flash is burned, and then a sudden reboot sequence where all lights come on for a second, then extinguish and come on one by one in the normal boot orders. If in the unlikely event it does fail, though, you should know that there are other ways to recover the hardware, but those may require dangerous pin-shorting manuevers with an attached serial console, or specialized interfacing via a JTAG cable. Check out more info about this on our HardwareHacksHOWTO page. 2.5 Don't these linksys devices burn out in a while with 3rd party firmware? We have units that have been running continuously inside and outside for over 2 years. We do not see them burn out unless exposed to severe enviromental extremes, so we are not sure what other folks are doing to theirs. There was an old trick to moderately boost the radio's output power, and another person figured out how to downclock the thing into the European Licensed HAM bands! We have not had need to try these on any of our devices. If you do so, you do it at your own risk! 2.6 Will I be able to switch firmware after loading ewrt on my router? Yes, ewrt's firmware update system is almost exactly the same as the one found on your original firmware, so you should be able to update to any other firmware properly packaged to run on the hardware version you own. Ewrt also currently sports an experimental automatic update system, which can check a site for a particular file with a date attached to it's name, check if it is newer than the currently running version and automatically update if that is so. Expect to see future stable updates of ewrt releases on a server which you can connect to in this way. It's not set up quite yet. 2.7 How do I save the current firmware before overwriting it with ewrt? You will probably need to get an available copy of your original firmware before updating it with ewrt. Usually, you can just download it from the Linksys website at: ftp://ftp.linksys.com/ Note to embedded experts: If you have a JTAG interface cable, you can copy off the whole flash device. Please see the AvailableIpkgs page for what is available for installation. 4.0 Configuration ----------------------- 4.1 What do I need to set up to get started? You will need to log in to the web interface at http://192.168.1.1/ (unless you already changed therouters LAN IP address) to set up the Internet connection if this router is your gateway to the Internet, and all aspects of your LAN connection and Wireless network. Change your default password in the Management page, and be sure to enable the Boot_Wait setting there too, to enable the failsafe method of recovery in further firmware updates. Follow the instructions in your original Setup Manual if you don't know how to do any of these things. 4.2 How do I set up sshd to log into the router? Sshd is also enabled from the Management page. There are options for which ports to run on (both for the LAN and for WAN remote management,) whether to allow password authentication (uses the same password as the web i/f for root@) and an optional space in which you can paste your or others' public ssh keys to allow them to log in without a password, via an ssh-agent. 4.3 How can I manage my router remotely across the Internet? To enable remote management, you first need to make sure you can get to the router's IP from across the Internet. This usually requires an Internet modem which can be set to bridged mode to allow your router to hold the static public IP address allocated from your ISP. This process also usually involves setting the router up to log into your account over PPPoE. Another option would be to forward a couple of ports to the router from the interface on your Internet modem, if this is available. You may need to contact your ISP to get more info on what options are available. More information about this may also be available elsewhere on the Internet, or in your original Setup Manual. Once you can access ports on your router directly from the internet, you need to select a ssh WAN port and/or a remote (Web) management port in the Management page of the web interface in order to access those services through the router's firewall. Then you can just log in via ssh or https with the remote IP, just as if you were on the LAN of the router. 4.3 How do I set up NoCat splashd? For more information about configuring NoCat for your needs, see the: NocatSetupHOWTO. 4.4 I don't like your default splash page. How do I set up one of my own? For more information about writing your own Splash-page and storing it on the router, see the: LocalSplashPageHOWTO. 4.5 How can I set up remote syslog support? For more information on setting up your remote syslog server and send local system logs to it, see the RemoteSyslogHOWTO. NOTE: This is the easiest way for you to be able to view the logs for all routers on your system across system reboots. 4.6 How can I install ipkg packaged applications onto my router? Ewrt includes two scripts to install ipkg packaged applications onto your router. One is called ipkg, which will install it's packages and config data onto the rewriteable, static /opt/ filesystem. The other is ipkgtmp, which installs packages into the temporary ramfs mounted on the /tmp directory; there may be a little more space there, but the packages will not survive a reboot. Both programs may need some configuration, and you will need to build or find some compatible packages before you can use them. Please see the IpkgConfiguration page for details. 5.0 Customization ------------------------ 5.1 What kind of software do I need to build Ewrt from a source tarball or CVS? First, get the source tarball or checkout the latest ftp://ftp.linksys.com/opensourcecode/wrt54g/ or ftp://ftp.linksys.com/opensourcecode/wrt54gs/ Then, check out the README after untarring the Ewrt source distribution for the most current build instructions. You can also check out the step by step process at our BuildingEwrtHOWTO page. If something goes wrong, you can ask on the ewrt-dev mailing list (see below.) 5.2 How can I build a (MyLanguage Here) enabled version of the web interface? The language support should be very simple to enable. Make sure you set your LOCALE, HTTP_CHARSET and LANG_SEL in the file src/include/code_pattern.h to the proper values for your region. The build system will include your language files in a different binary called def_code-$(MODEL).bin 5.3 I think I found a bug. What information would you like when I report it? We are going to need as much info as you can give us to help track down that bug. Important details are explaining carefully and exactly where and how you think the program failed (i.e. in the update process, in the kernel, in an application like the web interface, etc.) We also really need your router's serial number or an exact model and hardware revision to track down bugs. If you are really electronics saavy, you could attach a serial console to your unit to get some of the debugging information and/or do here. We welcome your comments there, or via email to info@portless.net 7.0 Miscellaneous Questions -------------------------------------- 7.1 Where can I get the Linksys devices? Most of the available Linksys WRT devices in the large consumer electronics stores are probably WRT54Gv5 devices, which are unsupported. The WRT54GL, and possibly other suppported models should be available on the internet, or we can procure them for you from our VAR for a reasonable price. The WRTSL54GS (available in stores early 2006) has plenty of RAM, and a USB port. This will be supported by ewrt as soon as we can get our hands on one. 7.2 Where do you get those antennas we see in the pictures? I personally build all of my own antennae out of miscellaneous microwave connectors and cabling parts. Some very good gear is made by Pacific Wireless, and should be available from their website or one of their re-sellers. 7.3 I'd like to deploy my WRT54G outdoors. Is this possible? Yes. You'll need at least a waterproof housing, a Linksys POE (Power Over Ethernet) adapter for the WRT, and some UV-resistant CAT-5 cable and electrical tape. See our OutdoorInstallation page for more info. Linksys also has some new outdoor-ready gear coming onto the market in early 2006 which may also be supported very soon.