Linksys WRT54GL

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 17:11, 31 May 2018 (edit)
Jeremywh7 (Talk | contribs)
m (Clarify trailed vs generic builds)
← Previous diff
Current revision (15:11, 15 April 2019) (edit) (undo)
Jeremywh7 (Talk | contribs)
(fix build size reference)
 
Line 1: Line 1:
{{languages|Linksys_WRT54GL}} {{languages|Linksys_WRT54GL}}
 +<font color=red><b>To find other WRT54* model wiki pages see [[Linksys_WRT54G/GL/GS/GX|here]].</b></font><br>
[[Image:linksys_wrt54gl_front_mini.jpg]] [[Image:linksys_wrt54gl_front_mini.jpg]]
[[Image:linksys_wrt54gl_back_mini.jpg]] [[Image:linksys_wrt54gl_back_mini.jpg]]
-==Hardware [https://wikidevi.com/wiki/Linksys_WRT54GL_v1.1 Specifications]==+=Hardware [https://wikidevi.com/wiki/Linksys_WRT54GL_v1.1 Specifications]=
*'''Platform''': Broadcom MIPS *'''Platform''': Broadcom MIPS
*'''CPU''': Broadcom BCM5452 at 200 MHz (130nm process) *'''CPU''': Broadcom BCM5452 at 200 MHz (130nm process)
-**overclocking supported in DD-WRT+**overclocking is supported in DD-WRT
-**`cat /proc/cpuinfo` output:+**Use `cat /proc/cpuinfo` to verify BogoMIPS. Default output:
<pre> <pre>
system type : Broadcom BCM947XX system type : Broadcom BCM947XX
Line 13: Line 14:
cpu model : BCM3302 V0.8 cpu model : BCM3302 V0.8
BogoMIPS : 199.47 BogoMIPS : 199.47
-wait instruction : no+[...]</pre>
-microsecond timers : yes+
-tlb_entries : 32+
-extra interrupt vector : no+
-hardware watchpoint : no+
-VCED exceptions : not available+
-VCEI exceptions : not available+
-unaligned_instructions : 1501948+
-dcache hits : 3604983805+
-dcache misses : 1069308396+
-icache hits : 1669945160+
-icache misses : 616661321+
-instructions : 0+
- +
-</pre>+
*'''Flash''': 4 MB NAND, single chip *'''Flash''': 4 MB NAND, single chip
*'''System Memory''': 16 MB 16-bit DDR SDRAM *'''System Memory''': 16 MB 16-bit DDR SDRAM
Line 37: Line 24:
-==Firmware==+=Firmware=
-<font color=red>'''NOTE: Check the [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486 Peacock announcement] for recommended builds, and also research build threads.'''</font>+'''See [[Firmware_FAQ#Where_do_I_download_firmware.3F|the DD-WRT FAQ]] for build info and download links.'''
-'''For more build info and download links, see [[Firmware_FAQ#Where_do_I_download_firmware.3F|the DD-WRT FAQ]].'''+'''NOTE: Check the [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486 Peacock announcement] for recommended builds, and also research build threads.'''
: ''Q: Why can't I directly upgrade from a stock Linksys firmware to DD-WRT versions other than MICRO or MINI?''<br> : ''Q: Why can't I directly upgrade from a stock Linksys firmware to DD-WRT versions other than MICRO or MINI?''<br>
Line 48: Line 35:
A: Flash memory does have a lifespan, like an SD card or USB flash drive, and depends upon NAND vs. NOR flash, but at least 100,000 write cycles is common. This is why limiting JFFS and script writes is recommended. A: Flash memory does have a lifespan, like an SD card or USB flash drive, and depends upon NAND vs. NOR flash, but at least 100,000 write cycles is common. This is why limiting JFFS and script writes is recommended.
 +===Build Size===
 +DD_WRT boot log MTD partition layout:
 + Creating 5 MTD partitions on "Physically mapped flash":
 + 0x00000000-0x00040000 : "cfe"
 + 0x00040000-0x003f0000 : "linux"
 + 0x00124c00-0x003d0000 : "rootfs"
 + mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
 + 0x003f0000-0x00400000 : "nvram"
 + 0x003d0000-0x003f0000 : "ddwrt"
 +
 +<font color=red><b>Thus the ''linux'' partition size limit is 0x3F0000-0x40000 = 3866624 bytes = 3776 KB</b></font>
-====Installation from Linksys firmware====+===Installation from Linksys firmware===
Before starting, '''read the build info and Peacock announcement''' linked above. Before starting, '''read the build info and Peacock announcement''' linked above.
* Recommended: check the MD5 HASH of the firmware after downloading - a bad hash can mean a bad firmware download (and flashing a bad firmware can brick your device). See [[Hashes & Checksums]]. * Recommended: check the MD5 HASH of the firmware after downloading - a bad hash can mean a bad firmware download (and flashing a bad firmware can brick your device). See [[Hashes & Checksums]].
Line 59: Line 57:
# After ~3 minutes, the WLAN light will turn on. Access dd-wrt at http://192.168.1.1 and set a password. # After ~3 minutes, the WLAN light will turn on. Access dd-wrt at http://192.168.1.1 and set a password.
-====Upgrade from DD-WRT====+===Upgrade from DD-WRT===
-'''Firmware must be less than or equal to 3801088 bytes (3712 KB).'''+
# Compare different build versions' features [[What is DD-WRT?#File Versions|here]]. If larger versions' features aren't needed, the available memory will be increased by using the smallest version with the needed features. # Compare different build versions' features [[What is DD-WRT?#File Versions|here]]. If larger versions' features aren't needed, the available memory will be increased by using the smallest version with the needed features.
#* '''MEGA''' - As stated before on this page, the WRT54GL cannot support MEGA, so don't try. #* '''MEGA''' - As stated before on this page, the WRT54GL cannot support MEGA, so don't try.
Line 70: Line 67:
#*# Set a password then configure dd-wrt #*# Set a password then configure dd-wrt
-====TFTP Upgrade====+===TFTP Upgrade===
To upgrade via TFTP, a trailed build with ''wrt54g'' in the name is required, which has a header with hardware info. To upgrade via TFTP, a trailed build with ''wrt54g'' in the name is required, which has a header with hardware info.
-====TFTP Recovery====+===TFTP Recovery===
For a router that it stuck with a flashing power light with no GUI access, but responds to pings, TFTP of the '''Linksys''' firmware is required ('''NOT''' DD-WRT!) to rescue it. This occurs most commonly from NOT using a MICRO or MINI build for initial flash. Instructions on restoring with TFTP [[Recover from a Bad Flash|are here]]. For a router that it stuck with a flashing power light with no GUI access, but responds to pings, TFTP of the '''Linksys''' firmware is required ('''NOT''' DD-WRT!) to rescue it. This occurs most commonly from NOT using a MICRO or MINI build for initial flash. Instructions on restoring with TFTP [[Recover from a Bad Flash|are here]].
-==Running NEWD2 and/or K26 on the GL model==+=Running NEWD2 and/or K26 on the GL model=
<div style='color:red; font-weight:bold'>WARNING</div><div style=color:red>This is ONLY for those that can recover using JTAG, '''and is an unnecessary hack for people who want to try the k26 driver. (God only knows why a person would on this router.)''' If this goes wrong...you MUST use JTAG to recover...you've been warned...you are altering the CFE of the router.</div> <div style='color:red; font-weight:bold'>WARNING</div><div style=color:red>This is ONLY for those that can recover using JTAG, '''and is an unnecessary hack for people who want to try the k26 driver. (God only knows why a person would on this router.)''' If this goes wrong...you MUST use JTAG to recover...you've been warned...you are altering the CFE of the router.</div>

Current revision

To find other WRT54* model wiki pages see here.
Image:linksys_wrt54gl_front_mini.jpg Image:linksys_wrt54gl_back_mini.jpg

Contents

[edit] Hardware Specifications

  • Platform: Broadcom MIPS
  • CPU: Broadcom BCM5452 at 200 MHz (130nm process)
    • overclocking is supported in DD-WRT
    • Use `cat /proc/cpuinfo` to verify BogoMIPS. Default output:
system type             : Broadcom BCM947XX
processor               : 0
cpu model               : BCM3302 V0.8
BogoMIPS                : 199.47
[...]
  • Flash: 4 MB NAND, single chip
  • System Memory: 16 MB 16-bit DDR SDRAM
  • Wireless Radio: Broadcom BCM43xx 802.11b/g
  • Antenna: Dual folding, removable, rotating antennas
    • NOTE: (26 Sep 2009) Non-removable molded antennas may have been used in the past a year or two
  • Network Switch: (4) 10/100 LAN + (1) 10/100 WAN, Auto MDX/MDI-X (Integrated in CPU)
  • Serial / JTAG / USB: Yes / Yes / No


[edit] Firmware

See the DD-WRT FAQ for build info and download links.

NOTE: Check the Peacock announcement for recommended builds, and also research build threads.

Q: Why can't I directly upgrade from a stock Linksys firmware to DD-WRT versions other than MICRO or MINI?

A: Stock Linksys firmware on the WRT54GLv1.x won't accept firmware over 3MB, or it will show the error: "Upgrade are failed!" [sic]. The micro or mini versions of DD-WRT must be flashed BEFORE flashing the standard, voip, or vpn versions. Hard reset the router to restore firmware defaults BEFORE AND AFTER upgrading, even to micro or mini DD-WRT builds.

Q: Is there a limit to how many times routers can be flashed with firmware?

A: Flash memory does have a lifespan, like an SD card or USB flash drive, and depends upon NAND vs. NOR flash, but at least 100,000 write cycles is common. This is why limiting JFFS and script writes is recommended.

[edit] Build Size

DD_WRT boot log MTD partition layout:

Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "cfe"
0x00040000-0x003f0000 : "linux"
0x00124c00-0x003d0000 : "rootfs"
mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
0x003f0000-0x00400000 : "nvram"
0x003d0000-0x003f0000 : "ddwrt"

Thus the linux partition size limit is 0x3F0000-0x40000 = 3866624 bytes = 3776 KB

[edit] Installation from Linksys firmware

Before starting, read the build info and Peacock announcement linked above.

  • Recommended: check the MD5 HASH of the firmware after downloading - a bad hash can mean a bad firmware download (and flashing a bad firmware can brick your device). See Hashes & Checksums.
  • DO NOT try to load a MEGA build on this router, as they are ~8MB.
  1. Use the MINI (or MICRO) generic build (broadcom folder) for initial flash from the Linksys firmware
    • A trailed build (with wrt54g in the name) is NOT required except for TFTP upgrades (see below).
  2. Do a hard reset then login to the Linksys GUI at http://192.168.1.1
  3. Use the firmware upgrade web interface to update your router with dd-wrt. DO NOT close your browser or interrupt the process until you are sure it has completed.
  4. After ~3 minutes, the WLAN light will turn on. Access dd-wrt at http://192.168.1.1 and set a password.

[edit] Upgrade from DD-WRT

  1. Compare different build versions' features here. If larger versions' features aren't needed, the available memory will be increased by using the smallest version with the needed features.
    • MEGA - As stated before on this page, the WRT54GL cannot support MEGA, so don't try.
    • MICRO, MINI, STANDARD (e.g. VoIP or VPN) versions - continue with the following steps:
      1. Power cycle the router, then hard reset after boot
      2. Install the desired generic dd-wrt build, from the broadcom folder, via the GUI
      3. Wait again for the process to complete and the lights to return to normal (3-5 minutes)
      4. Power cycle again, then hard reset after boot
      5. Set a password then configure dd-wrt

[edit] TFTP Upgrade

To upgrade via TFTP, a trailed build with wrt54g in the name is required, which has a header with hardware info.

[edit] TFTP Recovery

For a router that it stuck with a flashing power light with no GUI access, but responds to pings, TFTP of the Linksys firmware is required (NOT DD-WRT!) to rescue it. This occurs most commonly from NOT using a MICRO or MINI build for initial flash. Instructions on restoring with TFTP are here.


[edit] Running NEWD2 and/or K26 on the GL model

WARNING
This is ONLY for those that can recover using JTAG, and is an unnecessary hack for people who want to try the k26 driver. (God only knows why a person would on this router.) If this goes wrong...you MUST use JTAG to recover...you've been warned...you are altering the CFE of the router.

The WRT54GL router must already have dd-wrt installed before you begin this process.

1 -First start by backing up your current CFE.BIN file and keep it in a safe place
2- Enable ssh services in the dd-wrt configuration at 192.168.1.1. This is REQUIRED for WinSCP to work (step9)

3- Next you will need to download the "new" CFE for the WRT54GL model located here. This is an altered CFE.BIN from a WRT54G-TM
4- Obtain a Hex Editor like xvi32
5- Edit your et0macaddr (located at 10CAh) to match your router's MAC address (exa. currently 00:14:BF:00:00:01)
6- Edit your new cfe il0macaddr (located at 1154h) to your router's MAC address plus one (exa. currently 00:14:BF:00:00:02)
7- Save your edited file and call it K26-CFE.BIN

8- Hard reset your GL router using the 30/30/30 method
9- Using WinSCP upload the modified CFE (named K26-CFE.BIN) to the routers /tmp directory.
10- Log into your router and issue the following commands on the command line.

mtd unlock cfe
mtd write K26-CFE.BIN cfe

When completed, it should reboot. If it doesn't, manually reboot it.

11- Verify you have the new cfe by backing up the CFE again.
12- verify the original K26-CFE.BIN file and this new cfe.bin file are identical (you can use the "comp" command in windows to compare them)

12- Once the new CFE.BIN file is verified on the unit, hard reset again and let it boot, then load a NEWD2_mini.bin or K26_mini.bin build (or any other "generic" NEWD2 or K26 build under 3.7M).