home  wiki

Spelling: WRT54G



* Vitals [1]

* Official Details [2]
* Pictures [3]
* Firmware [4]
* Alternate Linux Based Firmware [5]
* Misc Notes [6]

* V2.2 serial port [7]

* Discussion (moved from MelbWirelessRouterProject [8])

* Custom firmware [9]
* Bricked [10]
* Link reliability [11]

VITALS

* MANUFACTURER : Linksys
* MODEL : WRT54G
* TYPE : Access Point / Router
* EXTERNAL ANTENNA JACK : 2x RP-TNC
* CHIPSET : Broadcom
* POWER :

* 19mW default
* 84mW max

* RECIEVE SENSITIVITY :

* -84dB @ 11Mbps

* AVAILABLE NEW : Yes
* AVERAGE PRICE : $150
* VITALS LAST UPDATED : 28/07/04

NOTE: Linksys has replaced the WRT54G and WRT54GS with a different
model using the same model number. This page applies for the GS model
up to version 4. Newer models that have the pushbutton on the front
are too different and do not run the alternate firmware.

OFFICIAL DETAILS

From the Manufacturers blurb [12]...

The Linksys Wireless-G Broadband Router is really three devices in
one box.

* First, there's the Wireless Access Point, which lets you connect
Wireless-G or Wireless-B devices to the network.
* There's also a built-in 4-port full-duplex 10/100 Switch to
connect your wired-Ethernet devices. Connect four PCs directly, or
daisy-chain out to more hubs and switches to create as big a network
as you need.
* Finally, the Router function ties it all together and lets your
whole network share a high-speed cable or DSL Internet connection,
files, and other resources such as printers and hard disk storage
space.

PICTURES

or a High Res ( tif image [13])

FIRMWARE

Firmware Upgrade [14] For WRT54G - Wireless-G Broadband Router v2

ALTERNATE LINUX BASED FIRMWARE

OPENWRT Firmware Upgrade [15] For WRT54G - Wireless-G Broadband
Router v2 - OpenWRT [16] provides an flexible, re-writable Linux
distribution for the WRT54G
Sveasoft Firmware Upgrade [17] For WRT54G - Wireless-G Broadband
Router v2
dd-wrt Firmware Upgrade [18] Another open source firmware option

MISC NOTES

PDF datasheet [19] from the ftp server.

Functional specification for the CFE [20] bootloader.

V2.2 SERIAL PORT

I just added a serial port to my v2.2. The pinout is the same as v2.1
but the header block is flipped 180 (key to front not back). Check the
location of pin 1 before soldering on your header.

DISCUSSION (MOVED FROM MELBWIRELESSROUTERPROJECT [21])

CUSTOM FIRMWARE

2005/06/21 DANFLETT [22] : An update on myWRT - it has been
more-or-less obsoleted by the new version of OpenWRT [23]. The new
version is called, confusingly, Experimental. It is actually the
latest stable release of OpenWRT [24], and includes the menuconfig
tool that myWRT had. Customising your own OpenWRT [25] builds is much
easier, and the compilation process is much smoother.

2005/02/08 DANFLETT [26] : _You might want to check out myWRT [27] -
it makes customising OpenWRT [28] a lot easier. It uses a modified
Linksys menuconfig tool to select which packages should be installed,
and whether they should be statically compiled into the firmware, or
installed as an add-on package into the rewritable flash partition._

2005/02/08 DANFLETT [29] SAYS:(EDITED) _Another important
consideration is support: There are heaps of people worldwide who are
hacking away and developing for the WRT54GS. WRT54GS's are tried and
tested. People have their own individual problems with them but that
doesn't invalidate them as a usable platform. Any problems you have
with them will likely have been encountered by someone else, and you
can scour the OpenWRT [30] and Sveasoft forums and find a solution._

_Ultimately it would be good to have a common build system like
OpenEmbedded [31] working on the WRT54GS and whatever other embedded
boards we choose to use. Then development efforts on one platform can
use used on others._

BRICKED

2005/02/07 - NOTE FROM CRC: I've had 2 of these routers die now with
various flash problems while developing custom firmware for MW. My
confidence in these units is a little shaken at the moment, but the
functionality is great (then they work). I'm waiting to see how
Linksys will handle the situation, and that will probably decide as to
if I abandon the Linksys routers or not. UPDATE 2005/02/08: Linksys
have decided to RMA this equipment even though it has a third party
firmware installed. As long as no changes to the hardware has been
made, they will cover the device under warranty. This is a big
redeeming feature in my view, and will ensure my continued work on
getting a WRT54GS firmware completed for MW.

2005/02/08 - DNA: Ha, join the club. I use my dead ones for 4 port
switches as that part still works. If there are enough of us with dud
flash chips perhaps it will be worth socketing the dead ones and
putting together a flash programmer.

2005/02/08 - DANFLETT [32] : The OpenWRT [33] and Sveasoft forums are
full of stories of 'bricked' routers. This is more of a problem for
developers than it is for end-users. It's something that really just
goes with the territory for such a cheap box. I believe as developers
it's up to us to shoulder this burden, so that end-users will benefit
from the cheapness of the router once we've stabilised each new
firmware release. Those developers who are regularly testing
newly-compiled firmware probably use a test-bed router or two
(different versions), and probably have the serial and ejtag ports set
up to make de-bricking easier. You're probably aware of the
recommended methods to de-brick a WRT54G/GS, but here's a link just in
case you're not: OpenWRT Debricking Forum topic [34]

I am happy to buy/make an ejtag cable for any Melbourne Wireless
firmware developer who wants one (within reason ), and solder the pin
header onto their router's circuit board. I'll even loan such a
modified router to any developer who doesn't have a test-bed to play
with. I'm very keen for any developer with the skills, time and
inclination to develop firmware to have everything they need to get
the job done.

Here's the pdf instructions for building an ejtag cable, written by a
gentleman known as HairyDairyMaid [35], and his accompanying software
for saving and restoring the contents of the flash:

HairyDairyMaid_WRT54G_v2_DeBrick_Guide [36]
wrt54g.h [37]
wrt54g.c [38]
Makefile [39]
I'm not 100% certain this software would work as is with a WRT54GS
since it has a different flash chip. But it shouldn't be too hard to
adapt it.

2005/07/20 - RATBAGGY: I have built the JTAG adaptor described in the
above article and can confirm that the method works perfectly. We
de-bricked a WRT54G at Nigels and then moved on to a GS. We soon
discovered that simple modifications to the program to allow for
different memory size weren't enough. It is also necessary to use
Flash Window 2 (0x1C000000) instead of Flash Window 1 (0x1FC00000).

Version 3 of HairyDairyMaids [40] program takes this into account and
it can be obtained from:

here [41]

There is also a Windows XP version on this site.

2005/06/21 - JONATHAN: Has anyone looked at network booting a WRT54G?
Surely this would avoid the problems of bricked routers when testing
development firmware builds.

2005/06/21 DANFLETT [42] : I know of some OpenWRT [43] developers who
install the NFS Client package and run/edit/compile their programs
from a network-attached hard drive. This is probably a good way to go
if do a lot of writing to the flash. There's also a Samba package for
OpenWRT [44], but it's much bigger than the NFS package.

LINK RELIABILITY

2005/02/08 - NOTE FROM RICHARDVANORSOUW [45] AKA KAHLESS: I've had a
play with a couple of these units running on either end of 1Km link, a
wrt54g (sveasoft) and a wrt54gs (openwrt) after a bit of stuffing
around, got em going in bridge mode by issuing "wl wet 1" (wireless
bridging) on the wrt54 running in client/managed mode, didn't seem to
matter whether it was ON on the one running in master/AP mode.
Remember the WAN port not used, just one of the LAN ports. Got a 54M
connection going, but its not realible and stalls, have locked it down
at lower speeds, used different power levels, but as yet hasn't
helped. Any suggestions would be much appreciated. Both the units r
directly connected to a n/w card in a linux box at each end which uses
up 4 ips on the same subnet, 2 each for the wrts and 2 each for the
linux box.

2005/02/09 - NOTE FROM RICHARDVANORSOUW [46] AKA KAHLESS: Another
thing i have discovered, iwconfig doesn't work to well, looks like
everything must be done via wl, to get openwrt to work as a client in
bridging mode
wl ssid x.x.x.x
wl wet 1
wl ap 0
wl join

2005/02/11 - NOTE FROM RICHARDVANORSOUW [47] AKA KAHLESS:
Hmm, got rid of the stalling problem, i made the sveasoft end the
client and the openwrt end the ap, get b/w 1200 & 2000 KB/s now, not
sure why the speed isn't constant?. Will re-flash the sveasoft to
openwrt.

2005/06/21 DANFLETT [48] : Under OpenWRT [49], iwconfig doesn't work
very well, but you can change the wireless settings by changing the
relevant WL0_* NVRAM variables and doing a

nvram commit
then a

wifi up
This will initialise the WRT's radio with the new settings. To see
what the current values for the radio are, do a

nvram show | grep wl0_ | sort
at the command line. It shouldn't be necessary to use the WL package.
There are a lot of things you can change via NVRAM variables, and the
new OpenWRT [50] version has a program called WLC that has some
control over the radio, such as tx-power and client/ap/ad-hoc mode. To
get more reliability on the link there are a lot of NVRAM variables
you can change - notably the _gmode_ variables and _shortslot_. There
are probably others too. I find the Sveasoft forums have a lot of info
about what variables to tweak to get the best performance on long
links.

2005/06/21 DANFLETT [51] : The following link explains a lot about
802.11g Short Slot and G Mode Protection and other settings.
http://www.oreillynet.com/pub/a/wireless/2003/08/08/wireless_throughput.html?page=1
[52]
Basically, I'd say on the WRT54G under OpenWRT [53], set the NVRAM
variable _wl0_gmode=0_ which will set the radio to Legacy 802.11B
mode. You shouldn't have to worry about Shortslot then. The default
_essay help [54] value of wl0_gmode_ is 6 which is AfterBurner [55]
(AKA SpeedBooster [56]) mode. Probably not a good mode to be in for
long links. Check out this page [57] for more explanations of NVRAM
variables.

Links:
------
[1] http://www.melbournewireless.org.au/#vitals
[2] http://www.melbournewireless.org.au/#official_details
[3] http://www.melbournewireless.org.au/#pictures
[4] http://www.melbournewireless.org.au/#firmware
[5]
http://www.melbournewireless.org.au/#alternate_linux_based_firmware
[6] http://www.melbournewireless.org.au/#misc_notes
[7] http://www.melbournewireless.org.au/#v2_2_serial_port_
[8]
http://www.melbournewireless.org.au/#discussion__moved_from_melbwirelessrouterproject_
[9] http://www.melbournewireless.org.au/#custom_firmware
[10] http://www.melbournewireless.org.au/#bricked
[11] http://www.melbournewireless.org.au/#link_reliability
[12]
http://www.linksys.com/products/product.asp?grid=33&scid=35&prid=601
[13] http://www.linksys.com/press/tiffimage/wrt54g%20v1.1.tif
[14] http://www.linksys.com/download/firmware.asp?fwid=201
[15] http://www.openwrt.org/
[16] http://www.melbournewireless.org.au/?OpenWRT
[17] http://members.cox.net/wrt54g/
[18] http://www.dd-wrt.com/
[19]
http://www.melbournewireless.org.au/ftp://ftp.linksys.com/datasheet/wrt54gv2_ds.pdf
[20] http://www.melbournewireless.org.au/files/wrt54/cfe.pdf
[21] http://www.melbournewireless.org.au/?MELBWIRELESSROUTERPROJECT
[22] http://www.melbournewireless.org.au/?DANFLETT
[23] http://www.melbournewireless.org.au/?OpenWRT
[24] http://www.melbournewireless.org.au/?OpenWRT
[25] http://www.melbournewireless.org.au/?OpenWRT
[26] http://www.melbournewireless.org.au/?DANFLETT
[27] http://openwrt.org/forum/viewtopic.php?t=922
[28] http://www.melbournewireless.org.au/?OpenWRT
[29] http://www.melbournewireless.org.au/?DANFLETT
[30] http://www.melbournewireless.org.au/?OpenWRT
[31] http://www.melbournewireless.org.au/?OpenEmbedded
[32] http://www.melbournewireless.org.au/?DANFLETT
[33] http://www.melbournewireless.org.au/?OpenWRT
[34] http://openwrt.org/forum/viewtopic.php?t=580
[35] http://www.melbournewireless.org.au/?HairyDairyMaid
[36]
http://users.bigpond.net.au/flett/wireless/ejtag/HairyDairyMaid_WRT54G_v2_DeBrick_Guide.pdf
[37] http://users.bigpond.net.au/flett/wireless/ejtag/wrt54g.h
[38] http://users.bigpond.net.au/flett/wireless/ejtag/wrt54g.c
[39] http://users.bigpond.net.au/flett/wireless/ejtag/Makefile
[40] http://www.melbournewireless.org.au/?HairyDairyMaids
[41]
http://www.ranvik.net/prosjekter-privat/jtag_for_wrt54g_og_wrt54gs/linux%20(not%20tested)/
[42] http://www.melbournewireless.org.au/?DANFLETT
[43] http://www.melbournewireless.org.au/?OpenWRT
[44] http://www.melbournewireless.org.au/?OpenWRT
[45] http://www.melbournewireless.org.au/?RICHARDVANORSOUW
[46] http://www.melbournewireless.org.au/?RICHARDVANORSOUW
[47] http://www.melbournewireless.org.au/?RICHARDVANORSOUW
[48] http://www.melbournewireless.org.au/?DANFLETT
[49] http://www.melbournewireless.org.au/?OpenWRT
[50] http://www.melbournewireless.org.au/?OpenWRT
[51] http://www.melbournewireless.org.au/?DANFLETT
[52]
http://www.oreillynet.com/pub/a/wireless/2003/08/08/wireless_throughput.html?page=1
[53] http://www.melbournewireless.org.au/?OpenWRT
[54] http://essayshelp.org/
[55] http://www.melbournewireless.org.au/?AfterBurner
[56] http://www.melbournewireless.org.au/?SpeedBooster
[57] http://wiki.openwrt.org/OpenWrtNVRAM

[EditText] [Spelling] [Current] [Raw] [Code] [Diff] [Subscribe] [VersionHistory] [Revert] [Delete] [RecentChanges]

> home> about> events> files> members> maps> wiki board   > home   > categories   > search   > changes   > formatting   > extras> site map

Username
Password

 Remember me.
>

> forgotten password?
> register?
currently 0 users online
Node Statistics
building132
gathering192
interested515
operational242
testing216