Differences

This shows you the differences between two versions of the page.

toh:linksys:wrt54g [2013/01/25 11:55]
immanuel
toh:linksys:wrt54g [2014/10/12 16:01] (current)
pbix
Line 1: Line 1:
====== Linksys WRT54G, WRT54GL and WRT54GS ====== ====== Linksys WRT54G, WRT54GL and WRT54GS ======
-The original WRT54G was first released in December 2002. The router is considered a home network device supporting, WLAN(//WiFi//), LAN and WAN. It has a 4+1 port network switch (the Internet WAN port is part of the same internal network switch, but on a different VLAN). The devices have two removable antennas connected through Reverse Polarity TNC connectors. The Linksys WRT54G series family is well-documented in [[wp>Linksys WRT54G series]].+The original WRT54G was first released as a SOHO router in December 2002. The product line supports WiFi and five switched Ethernet ports. (The WAN port is part of the same internal network switch, but on a different VLAN.) The devices have two removable antennas connected through Reverse Polarity SMA connectors. For additional background information, see [[wp>Linksys WRT54G series]].
===== Supported Versions ===== ===== Supported Versions =====
-The model number shown on the package, the front panel, and the sticker on the underside of the unit is the reference to follow in order to download the right OpenWrt firmware.  
-**Note:** The supported updated version can be found on the [[toh:#linksys|Table of Hardware]]+The different models within the WRT54G series may all look identical. Please refer to the model information sticker on the underside of the unit in order to determine the precise model number and hardware version of your device.
-For wireless support on Kernel 2.6 it is recommended to use trunk snapshots or releases newer than and including "Backfire" 10.3. Note - the wireless driver names are different in 2.6 from 2.4. You may need to do:+**Note:** The supported versions of OpenWrt can be found on the [[toh:#linksys|Table of Hardware]] 
 + 
 +For wireless support on Kernel 2.6 it is recommended to use trunk snapshots or releases newer than and including "Backfire" 10.3. 
 + 
 +Note: the wireless driver names are different in 2.6 from 2.4. You may need to do:
  opkg install kmod-b43   opkg install kmod-b43
Line 15: Line 18:
in order to get the correct wireless configuration created. in order to get the correct wireless configuration created.
-==== Notes on specific WRT54G//x// hardware versions ====+For versions of the OpenWrt "brcm47xx" target prior to "Attitude Adjustment" 12.09-final, you may wish to use Broadcom's proprietary wl driver due to longstanding issues with the b43 driver in Linux kernel versions 2.6 and newer ([[https://dev.openwrt.org/ticket/7552]]). After installing the brcm47xx image, you will need to execute the following commands while logged into the router over TELNET or SSH:
-  * The Linksys WRT54G ver. 1.1 hardware (4 MB of flash) has trouble with OpenWrt 10.03.1-rc6 and maybe all 10.03 releases as of 2011-12-08. In a test with OpenWrt 10.03.1-rc6, the OS will install but LuCI will be unable to update settings because there isn't enough flash left free.+  opkg update 
 +  opkg install kmod-brcm-wl wlc nas 
 +  rm /etc/modules.d/*b43* 
 + 
 +After rebooting the router, configure wireless as usual, only using the Broadcom driver instead of the b43 driver. 
 + 
 +==== Notes on specific WRT54G hardware versions ==== 
 + 
 +=== WRT54G === 
 + 
 +* The Linksys WRT54G 1.1 hardware (4 MB of flash) has trouble with OpenWrt 10.03.1-rc6 and maybe all 10.03 releases as of 2011-12-08. In a test with OpenWrt 10.03.1-rc6, the OS will install but LuCI will be unable to update settings because there isn't enough flash left free.
    * References:     * References:
      * "Kamikaze, brcm47xx, WRT54G v1.1: jffs2 marker not detected, rootfs_data not mounted", [[https://dev.openwrt.org/ticket/5071]]       * "Kamikaze, brcm47xx, WRT54G v1.1: jffs2 marker not detected, rootfs_data not mounted", [[https://dev.openwrt.org/ticket/5071]]
Line 24: Line 37:
    * The solution is to go back to OpenWrt 8.09 r14511 (code name "kamikaze") -- the link to the Broadcom Linux 2.4 chipset version is [[http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx]].     * The solution is to go back to OpenWrt 8.09 r14511 (code name "kamikaze") -- the link to the Broadcom Linux 2.4 chipset version is [[http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx]].
-According to the [[wp>Linksys WRT54G series]], the WRT54G-TM is nothing but a renamed WRT54GS v3.0+=== WRT54GL === 
 + 
 +Testing with the WRT54GL 1.1 (16MB RAM, 4MB flash) showed it can run the following versions: 
 + 
 +^                  ^            ^ 7.09      ^  8.09.2  ^  10.03                      ^  10.03.1                  ^  12.04                    ^  12.09          ^  14.07                                ^ 
 +^brcm-2.4          |            |  works    |  works    |  works                      |  works                    |  n/a                      |  n/a            |  n/a                                  | 
 +^brcm47xx          | b43/legacy |  untested |  untested |  works (somewhat unstable)  |  works (somewhat unstable) |  very low free ram & jffs |  see note below |  unviable, not enough RAM to run wifi  | 
 + 
 +* **10.03.1 brcm-2.4** had frequent WiFi drops when in client mode w/ psk2 (did not drop when connecting to same AP w/ encryption disabled). 
 + 
 +* **12.04** almost certainly needs to rebuilt with unnecessary packages (e.g. LuCI) and daemons (uhttpd) removed to make enough free ram & jffs to obtain long uptimes..  --- //tc424 2013/08/26 17:28// 
 + 
 +* **12.09** "Only have 688kb available on filesystem /overlay, pkg kmod-brcm-wl needs 695" Impossible to install proprietary **wl** driver into 12.09  --- //jikuja 2013/11/18 12:29// 
 + 
 +* **14.07** had slow LuCI web interface, after enabling Wifi, the entire router became inaccessible. A custom cut-down image worked slightly better, but would not let WAN and Wifi work at the same time due to low system RAM. Ref: [[https://forum.openwrt.org/viewtopic.php?id=51729|Forum Thread]] 
 + 
 +As the WRT54GL has only 4Mb flash, any image sent to the device must be 3866624 bytes or smaller. 
 + 
 +=== WRT54G-TM === 
 + 
 +According to the [[wp>Linksys WRT54G series]], the WRT54G-TM is nothing but a renamed WRT54GS v3.0.  Because these models have additional RAM and FLASH they do not suffer from the constraints of the WRT56GL and can run all versions of OpenWRT as of 11/1/2014.
===== Basic configuration ===== ===== Basic configuration =====
 +
Please follow the [[doc:howto:basic.config]] guide. Please follow the [[doc:howto:basic.config]] guide.
- 
===== Specific Configuration ===== ===== Specific Configuration =====
 +
==== Interfaces ==== ==== Interfaces ====
 +
The default network configuration is: The default network configuration is:
-^ Interface Name ^ Description ^ Default configuration ^ + 
-| br-lan | LAN & WiFi | 192.168.1.1/24 |  +^ Interface Name ^ Description       ^ Default configuration ^ 
-| vlan0 (eth0.0) | LAN ports (1 to 4) | None |  +| br-lan         | LAN & WiFi         | 192.168.1.1/24      
-| vlan1 (eth0.1) | WAN port | DHCP |  +| vlan0 (eth0.0) | LAN ports (1 to 4) | None                 |  
-| wl0 | WiFi | Disabled | +| vlan1 (eth0.1) | WAN port           | DHCP                
 +| wl0           | WiFi               | Disabled             |
==== Internal Architecture - WRT54G (v2, v3) & WRT54GS (v1, v2) ==== ==== Internal Architecture - WRT54G (v2, v3) & WRT54GS (v1, v2) ====
 +
{{:toh:linksys:wrt54g-v2.v3_wrt54gs-v1.v2_internal-arch.png|}} {{:toh:linksys:wrt54g-v2.v3_wrt54gs-v1.v2_internal-arch.png|}}
==== Switch Ports (for VLANs) - WRT54G (v2, v3) & WRT54GS (v1, v2) ==== ==== Switch Ports (for VLANs) - WRT54G (v2, v3) & WRT54GS (v1, v2) ====
 +
Switch port numbers 1-4 are LAN Ports 1-4 as labeled on the unit, number 0 is the Internet (WAN) port, and number 5 is the internal connection to the router's CPU (labeled "CPU" in LuCI). Use these //switch// port numbers when specifying a VLAN's ports via the UCI (i.e., in the ''ports'' option of a VLAN's ''config switch_vlan'' section, in ''/etc/config/network''). Switch port numbers 1-4 are LAN Ports 1-4 as labeled on the unit, number 0 is the Internet (WAN) port, and number 5 is the internal connection to the router's CPU (labeled "CPU" in LuCI). Use these //switch// port numbers when specifying a VLAN's ports via the UCI (i.e., in the ''ports'' option of a VLAN's ''config switch_vlan'' section, in ''/etc/config/network'').
Line 56: Line 94:
==== Internal Architecture - WRT54G (v4) & WRT54GS (v3) ==== ==== Internal Architecture - WRT54G (v4) & WRT54GS (v3) ====
 +
{{:toh:linksys:wrt54_internal_architecture.png|}} {{:toh:linksys:wrt54_internal_architecture.png|}}
==== Switch Ports (for VLANs) - WRT54G (v4) & WRT54GS (v3) ==== ==== Switch Ports (for VLANs) - WRT54G (v4) & WRT54GS (v3) ====
 +
Switch port numbers 0-3 are LAN Ports 4-1 as labeled on the unit, number 4 is the Internet (WAN) port, and number 5 is the internal connection to the router's CPU (labeled "CPU" in LuCI). Use these //switch// port numbers when specifying a VLAN's ports via the UCI (i.e., in the ''ports'' option of a VLAN's ''config switch_vlan'' section, in ''/etc/config/network''). __Don't Be Fooled__: LAN Port 1 on the unit is switch port 3 when configuring VLANs on the switch. Switch port numbers 0-3 are LAN Ports 4-1 as labeled on the unit, number 4 is the Internet (WAN) port, and number 5 is the internal connection to the router's CPU (labeled "CPU" in LuCI). Use these //switch// port numbers when specifying a VLAN's ports via the UCI (i.e., in the ''ports'' option of a VLAN's ''config switch_vlan'' section, in ''/etc/config/network''). __Don't Be Fooled__: LAN Port 1 on the unit is switch port 3 when configuring VLANs on the switch.
Line 72: Line 112:
==== Failsafe mode ==== ==== Failsafe mode ====
-If you forgot your password, broken one of the startup scripts, firewalled yourself or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode.\\  + 
- - Unplug the power cord, press and hold the reset button, put in the power cord, when DMZ-LED lits up release the reset button. When done right, both Power-LED and DMZ-LED will start blinking. Now you can ping and telnet into 192.168.1.1+If you forget your password, have broken one of the startup scripts, firewalled yourself out, or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode
 + 
 +* Unplug the power cord, press and hold the reset button, put in the power cord, when DMZ-LED lits up release the reset button. When done right, both Power-LED and DMZ-LED will start blinking. Now you can ping and telnet into 192.168.1.1
See: [[doc:howto:generic.failsafe]] See: [[doc:howto:generic.failsafe]]
==== Buttons ==== ==== Buttons ====
 +
The Linksys WRT54G has two buttons. They are Reset and Secure Easy Setup. The buttons can be used with hotplug events. Please see the [[doc:howto:WifiToggle|WiFi toggle]] Wiki page. The Linksys WRT54G has two buttons. They are Reset and Secure Easy Setup. The buttons can be used with hotplug events. Please see the [[doc:howto:WifiToggle|WiFi toggle]] Wiki page.
-^ BUTTON ^ Event ^ + 
-| Reset | reset |  +^ BUTTON           ^ Event ^ 
-| Secure Easy Setup | ses | +| Reset             | reset | 
 +| Secure Easy Setup | ses   |
===== Hardware ===== ===== Hardware =====
 +
==== Opening the case ==== ==== Opening the case ====
 +
To remove the front cover you simply pop the front of the case off after removing the antennas. Please note that this will void the warranty. To remove the front cover you simply pop the front of the case off after removing the antennas. Please note that this will void the warranty.
Line 90: Line 136:
==== Serial port ==== ==== Serial port ====
 +
The WRT54G/S/L has a 10 pin connection slot on the board called JP1 (JP2 on some v1.1 boards). This slot provides two TTL serial ports at 3.3V. Neither of the ports use hardware flow control, you need to use software flow control instead. Other routers may have similar connections. These two TTL serial ports on the WRT54GL router can be used as standard Serial Ports similar to the serial ports you may have on your PC. In order to do this though you need a line driver chip that can raise the signal levels to RS-232 levels. You can not directly connect a serial port header to the board and expect it to work. That method will only work with devices that can connect to TTL serial ports at 3.3V. Connecting two which have 3.3V directly will work (TX - RX, RX - TX, GND - GND). Standard RS-232 devices cannot be directly connected which accounts for nearly all serial PC devices. The WRT54G/S/L has a 10 pin connection slot on the board called JP1 (JP2 on some v1.1 boards). This slot provides two TTL serial ports at 3.3V. Neither of the ports use hardware flow control, you need to use software flow control instead. Other routers may have similar connections. These two TTL serial ports on the WRT54GL router can be used as standard Serial Ports similar to the serial ports you may have on your PC. In order to do this though you need a line driver chip that can raise the signal levels to RS-232 levels. You can not directly connect a serial port header to the board and expect it to work. That method will only work with devices that can connect to TTL serial ports at 3.3V. Connecting two which have 3.3V directly will work (TX - RX, RX - TX, GND - GND). Standard RS-232 devices cannot be directly connected which accounts for nearly all serial PC devices.
Line 100: Line 147:
==== JTAG ==== ==== JTAG ====
 +
The JTAG port is a unpopulated 12-pin header and is located next to the serial port header. A simple unbuffered should work fine. The JTAG port is a unpopulated 12-pin header and is located next to the serial port header. A simple unbuffered should work fine.
-^ Pin 2 ^GND ^ Pin 4 ^GND ^ Pin 6 ^GND ^ Pin 8 ^GND ^ Pin 10 ^GND ^ Pin 12 ^GND |  +^ Pin 2 ^ GND   ^ Pin 4 ^ GND ^ Pin 6 ^ GND ^ Pin 8 ^ GND ^ Pin 10 ^ GND ^ Pin 12 ^GND  
-^ Pin 1 ^nTRST* ^ Pin 3 ^TDI ^ Pin 5 ^TDO ^ Pin 7 ^TMS ^ Pin 9 ^TCK ^ Pin 11 ^nSRST* | +^ Pin 1 ^ nTRST* ^ Pin 3 ^ TDI ^ Pin 5 ^ TDO ^ Pin 7 ^ TMS ^ Pin 9 ^ TCK ^ Pin 11 ^nSRST* |
{{:oldwiki:openwrtdocs:hardware:linksys:wrt54gl_v11_jtagport___.jpg}} {{:oldwiki:openwrtdocs:hardware:linksys:wrt54gl_v11_jtagport___.jpg}}
Line 109: Line 157:
==== Photos ==== ==== Photos ====
 +
WRT54GL v1.1 - Serial number: CL7B WRT54GL v1.1 - Serial number: CL7B
Line 170: Line 219:
You should also be confident with a soldering iron and basic knowledge with a multimeter will always help. You should also be confident with a soldering iron and basic knowledge with a multimeter will always help.
-This circuit also needs 5 volt output wich is standard for USB, [[http://lmgtfy.com/?q=7805+circuit+for+usb|5 Volt Regulator]].+This circuit also needs 5 volt output which is standard for USB, [[http://lmgtfy.com/?q=7805+circuit+for+usb|5 Volt Regulator]]. It's recommended to add heatsink to 7805 chip.
//Schematics:// //Schematics://
Line 180: Line 229:
{{:media:linksys.wrt54gl.12v_source.jpg?200|Where to take 12 volt from.}} {{:media:linksys.wrt54gl.12v_source.jpg?200|Where to take 12 volt from.}}
-//USB source solderd://+//USB source soldered://
-{{:media:linksys.wrt54gl.usb_pins_solderd.jpg?200|USB 1 and 2 solderd.}}+RH21 = USB1 Data +  
 + 
 +RH23 = USB1 Data -  
 + 
 +RH25 = USB2 Data +  
 + 
 +RH26 = USB2 Data -  
 + 
 +{{:media:linksys.wrt54gl.usb_pins_solderd.jpg?200|USB 1 and 2 soldered.}} 
 +{{:media:wrt54gl.v1.1.usb.mod.jpg?250|USB 1 and 2 from another side}}
//USB Port:// //USB Port://
Line 189: Line 247:
-When the circuits are done and everything is solderd onto the pcb of the router, it's time to install the software.+When the circuits are done and everything is soldered onto the pcb of the router, it's time to install the software.
<code> <code>
Line 204: Line 262:
=== Power Supply Mods === === Power Supply Mods ===
 +
(Disclaimer: this has only been tested on WRT54G v1.1 and a WRT54GL v2, it should be the same for other models but I can't be certain. If in doubt check voltages with a multimeter.) (Disclaimer: this has only been tested on WRT54G v1.1 and a WRT54GL v2, it should be the same for other models but I can't be certain. If in doubt check voltages with a multimeter.)
Line 235: Line 294:
  * Download the openwrt-wrt54g-squashfs.bin firmware image from the brcm-2.4 folder to your PC.   * Download the openwrt-wrt54g-squashfs.bin firmware image from the brcm-2.4 folder to your PC.
  * You can find that image at: http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/   * You can find that image at: http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/
 +  * Actually the safest version to use would be <del>**8.09**</del>. //Hmmm, it looks like 10.03.1 is safe but you must use the **brcm-2.4** variant like in the link above//. I am not risking bricking my router for the initial flash, so I am going with **8.09**.
  * Open http://192.168.1.1/Upgrade.asp in your browser or manually go to http://192.168.1.1 -> Administration -> Firmware Upgrade   * Open http://192.168.1.1/Upgrade.asp in your browser or manually go to http://192.168.1.1 -> Administration -> Firmware Upgrade
  * Upload openwrt-wrt54g-squashfs.bin   * Upload openwrt-wrt54g-squashfs.bin
Line 243: Line 303:
nvram set boot_wait=on nvram set boot_wait=on
nvram set boot_time=10 nvram set boot_time=10
 +nvram set wait_time=10 #important for some models
nvram commit && reboot nvram commit && reboot
</code> </code>
Line 263: Line 324:
nvram set boot_wait=on nvram set boot_wait=on
nvram set boot_time=10 nvram set boot_time=10
 +nvram set wait_time=10
nvram commit && reboot nvram commit && reboot
</code> </code>
Line 268: Line 330:
**''NOTE:''** Do not touch any other NVRAM parameters. NVRAM is only used as environment for the bootloader. OpenWrt ignores NVRAM parameters. **''NOTE:''** Do not touch any other NVRAM parameters. NVRAM is only used as environment for the bootloader. OpenWrt ignores NVRAM parameters.
-**''NOTE:''** On WRT54GL (at least), you should probably use 'wait_time' instead of 'boot_time'.+**''NOTE:''** On WRT54GL (at least), you should probably use 'wait_time' instead of 'boot_time'. //bg300: Added//.
**''NOTE:''** On WRT54GS v1.1 too you have to use 'wait_time' instead of 'boot_time', anyway if in doubt add both parameters. **''NOTE:''** On WRT54GS v1.1 too you have to use 'wait_time' instead of 'boot_time', anyway if in doubt add both parameters.
Line 394: Line 456:
(Source and details: [[https://forum.openwrt.org/viewtopic.php?id=25063]]) (Source and details: [[https://forum.openwrt.org/viewtopic.php?id=25063]])
 +
 +===== Tags =====
 +{{tag>bcm53xx bcm5352 MIPS}}

Back to top

toh/linksys/wrt54g.1359111306.txt.bz2 · Last modified: 2013/01/25 11:55 by immanuel