On the bottom of the device is a silver sticker with a Linksys logo on it, under this logo are the words "Model No." followed by the model number of the device (WRT54G, WRT54GS, WAP54G). If there isn't a version number (v1.1, v2.0, v2.2) after the model then it's a v1.0 device.
If you have a WRT54G v2.2 or a WRT54GS v1.1 then OpenWrt will not yet run on these models. Read on the OpenWrt forum for more information on the experimental releases for these models |
Asus WL-500B (version 1.0)
Asus WL-500G
Buffalo WBR-G54
Buffalo WLA-G54
Linksys WAP54G (version 1.0)
Linksys WRT54G (version 1.0, 1.1, and 2.0)
Linksys WRT54GS (version 1.0)
Siemens SE505
U.S ROBOTICS USR5430 (similar to WAP54g, ...tftp is factory enabled)
Asus WL-500G Deluxe (aka WL-500GD)
Buffalo WBR2-G54
Buffalo WLA2-G54L
Linksys WRT54G (version 2.2 and 3.0)
Linksys WRT54GS (version 1.1 and 2.0)
Motorola WR850G
Microsoft MN-700 ( more info )
Asus WL-300G
Asus WL-500B (version 2)
Asus WL-HDD
Belkin F5D7130
Belkin F5D7231-4
Belkin F5D7231-4P
Belkin F5D8230-4
Buffalo WBR-B11
Buffalo WBR2-B11
Buffalo WBR2-G54S
Buffalo WHR-G54
Buffalo WHR2-G54
Buffalo WHR3-G54
Buffalo WLA-G54C
Buffalo WLA2-G54
Buffalo WLA2-G54C
Buffalo WLI2-TX1-G54
Buffalo WZR-RS-G54
Dell TrueMobile 2300
Linksys WAP54G (version 2)
Linksys WAP55AG (version 1)
Linksys WRT54GX
Linksys WRT55AG (version 1)
Motorola WA840G
Motorola WA840GP
Motorola WR850GP
Netgear FWAG114NA
Ravotek W54-AP
Ravotek W54-RT
Siemens SX550
SimpleTech SimpleShare Office Storage Server 250G
Sitecom WL-111
Svec FD2164
Toshiba WRC-1000
Trendnet TEW-410APB
Trendnet TEW-410APBplus
Trendnet TEW-411BRP
Trendnet TEW-411BRPplus
Belkin F5D7230-4 -- only 2M of flash
Netgear WGT634U
Netgear WG602 (version 3) -- only 2M of flash
It is recommended to download the daily snapshots from the OpenWrt website. Currently you go best if you download from the experimental repositoty at http://openwrt.org/downloads/experimental/bin/.
Beside the OpenWrt website are other OpenWrt repositories on the Internet which provide modified OpenWrt images with different features like ipsec, radius or even openmosix. The best way to find them is to use the OpenWrt Package Tracker page located at http://nthill.free.fr/openwrt/tracker/.
Last but not least, there is the OpenWrt CVS. If it is the first time that you compile binaries from source, i would recommend to the two first possibilities. Otherwise go ahead and get the latest CVS.
$ cvs -d:pserver:anonymous@openwrt.org:/openwrt co buildroot
LOADING AN UNOFFICIAL FIRMWARE WILL VOID YOUR WARRANTY | |
---|---|
OpenWrt is an unofficial firmware which is neither endorsed or supported by Linksys or any other vendor. OpenWrt is provided "AS IS" and without any warranty under the terms of the GPL.
To avoid potentially serious damage to your router caused by an unbootable firmware we strongly suggest enabling a
setting known as boot_wait
.
The router does not boot directly into the firmware, instead it boots into a program known as a bootloader which
is responsible for initializing the hardware and loading the firmware. If the boot_wait
variable
is set, the bootup process is delayed by few seconds allowing a new firmware to be installed through the bootloader
using tftp. Setting of the boot_wait variable is done through a bug in the Ping.asp administration page by pinging
the certain "addresses" listed below
First, for this to work the "internet port must have a valid ip address", either from dhcp or manually configured from the main page - the port itself doesn't need to be connected unless using dhcp. Next, navigate to the Ping.asp page and enter exactly each line listed below, one line at a time into the "IP Address" field, pressing the Ping button after each entry.
;cp${IFS}*/*/nvram${IFS}/tmp/n ;*/n${IFS}set${IFS}boot_wait=on ;*/n${IFS}commit ;*/n${IFS}show>tmp/ping.log
When you get to the last command the ping window should be filled with a long list of variables including "boot_wait=on" somewhere in that list.
This ping exploit definitely works with WRT54G v2.0/GS v1.0 and there are documented cases of it working for the latest hardware release WRT54G v2.2/GS v1.1. You must have an address on the WAN port. In the Setup/Basic Setup/Internet Setup section you may wish to select Static IP and set IP=10.0.0.1, Mask=255.0.0.0, Gateway=10.0.0.2. Those values are meaningless; you'll be overwriting them soon with new firmware. Note : flashing a Linksys WRT54GS v1.1 via TFTP using is only possible using the Port 1 of the switch !
Although the firmware can be installed through more traditional means, we recommend that you use boot_wait for your first install. This will confirm boot_wait is correctly enabled and provide a firmware recovery experience without the stress of a broken router.
While in the bootloader the linksys wrt54g(s) will be forced to a lan ip of 192.168.1.1. To use the bootloader's tftp server you need to use a standard tftp client -- the tftp clients provided by linksys will not work for this. The file to be uploaded depends on the model; non linksys models take a TRX file while linksys models take a BIN file.
Table 1. Firmwares
Model | Firmeware |
---|---|
WRT54G | openwrt-g-code.bin |
WRT54GS | openwrt-gs-code.bin |
(other) | openwrt-linux.trx |
The BIN file is simply a TRX with some extra information at the start to indicate the model. The only difference between openwrt-g-code.bin and openwrt-gs-code.bin is the first 4 bytes which determine the model.
The basic procedure of using boot_wait
is:
unplug the power to your router
start your tftp client
give it the router's address (always 192.168.1.1)
set mode to octet
tell the client to resend the file, until it succeeds.
put the file
plug your router, while having the tftp client running and constantly probing for a connection
the tftp client will receive an ack from the bootloader and starts sending the firmware
Please be patient, the reflashing occurs AFTER the firmware has been transferred. DO NOT unplug the router, it will automatically reboot into the new firmware. | |
---|---|
OpenWrt will light the DMZ led while booting, after bootup it will turn the DMZ led off. |
Table 2. LED
LED pattern | reason |
---|---|
Solid power & DMZ | OpenWrt is booting or (if prolonged) has failed to boot, try failsafe mode. (Usually caused by old/corrupt jffs2 data from a previous OpenWrt install) |
flashing power, slow flashing dmz | Error flashing / Corrupt firmware |
The tftp commands might vary across different implementations. Here are two examples, netkid's tftp client and Advanced TFTP (available from: ftp://ftp.mamalinux.com/pub/atftp/).
If you are a debian user, you can install the tftp-hpa client with apt-get
netkit's and tftp-hpa tftp commands:
tftp 192.168.1.1 tftp> binary tftp> rexmt 1 tftp> trace Packet tracing on. tftp> put openwrt-g-code.bin
Setting "rexmt 1" will cause the tftp client to constantly retry to send the file to the given address. As advised above, plug your box after typing the commands, and as soon as WRT54G's bootloader start to listen, your client will successfully connect and send the firmware. You can try to run # ping -f 192.168.1.1 (as root) in a seperate window and fire the line put openwrt-g-code.bin as the colons stop running over your terminal when you power-recycle your linksys.
Advanced TFTP commands:
atftp tftp> connect 192.168.1.1 tftp> mode octet tftp> trace tftp> put openwrt-g-code.bin
You don't have to tell atftp to retry file sending, that's default.
Don't forget about your firewall settings, if you have one. |
Table 3. TFTP error
TFTP error | reason |
---|---|
Code pattern is incorrect | The firmware image you're uploading was intended for a different model. |
Invalid Password | The firmware has booted and you're connected to a password protected tftp server contained in the firmware, not the bootloader's tftp server. |
Timeout | Ping to verify the router is online Try a different tftp client (some are known not to work properly) |
If your computer is directly connected to the router and you are consistently getting "Invalid Password" failures, try connecting your computer and the router to a hub or switch. Doing so will keep the link up and prevent the computer from disabling its interface while the router is off.
Windows 2000 has a TFTP server, and it can be used to flash with OpenWrt firmware. Note that the Windows PC needs to be configured with a static IP address in the 192.168.1.0/24 subnet, and cannot use a DHCP IP address when flashing the firmware.