Bricked WRT54GS : Death by VLAN

Discussion in 'Tomato Firmware' started by jcarle, Aug 10, 2008.

  1. jcarle

    jcarle Network Guru Member

    So I managed to brick my beloved WRT54GS... which really sucks because it was a treasured version 2 model (216MHz / 32MB Ram / 8MB Flash). I bought a new layer 2 gigabit switch so I wanted to modify and expand tomato to better support my switch with some of the higher functionality such as proper VLAN support, IGMP and SNMP.

    After reading and reading and reading some more, I began to understand more or less the way the vlans and the switch ports were configured. vlan0 is useless since Layer 2 equipment always start their VLANs at ID 1. Since vlan0 was the LAN and vlan1 was the WAN, I figured the only thing that I needed to do was reverse the VLANs and reassign them to the bridge.

    Don't ask me why, instead of just doing a swap, I figured I'd move the switch ports to vlan2, remove vlan0 from the bridge and then add vlan2 to the bridge. I, for whatever reason, also unset the vlan0 variables. It went something like this :

    # nvram set vlan2hwname="et0"
    # nvram set vlan2ports="1 2 3 4 5*"
    # nvram set lan_ifnames="vlan2 eth1"
    # nvram unset vlan0hwname
    # nvram unset vlan0ports
    # nvram commit
    # brctl addif br0 vlan2
    # brctl delif br0 vlan0
    # nvram commit
    # reboot
    When the router tried to reboot, it never did... it just kept blinking the power light. I went online and found that people had success clearing the NVRAM by shorting the flash chip's pin 15 and 16. I tried it without success. No matter what I did, it would never start pinging again. I have a feeling that removing the vlan0 variables made it hang at boot up. I sent it over to a friend who has experience with JTAGing so we'll see what comes out of that.

    I'm going to order myself a new WRT54GL and start over. This time around, I'd like to see if the community here could help me figure out how I can go about getting the VLANs reversed.

    I haven't tried this yet since I don't have a router alive to test this, and even if I did, I want to discuss this before I try it so I don't brick another one. I'm thinking something along the lines of this may do it :

    # nvram set vlan0hwname="et0"
    # nvram set vlan0ports="0 5"
    # nvram set vlan1hwname="et0"
    # nvram set vlan1ports="1 2 3 4 5*"
    # nvram set lan_ifnames="vlan1 eth1"
    # nvram set wan_iface="vlan0"
    # nvram set wan_ifname="vlan0"
    # nvram set wan_ifnames="vlan0"
    # nvram commit
    # brctl addif br0 vlan1
    # brctl delif br0 vlan0
    # nvram commit
    # reboot
    I'd to hear your thoughts guys.

  2. TexasFlood

    TexasFlood Network Guru Member

  3. szfong

    szfong Network Guru Member

    NEVER use shorting pin method!!!

    To summarize as what most instructions out there can be confusing to work with at first. I've tried and ALWAYS has worked using the following methods!

    1st try 30s reset.
    2nd try depress and hold reset, add power, hold for 1 minute then let reboot.
    3rd serial console, seral-ttl-3.3, to see whats going on
    4th tftp
    5th jtag

    You need to search for the exact instructions, though. I noticed as long as you didn't screw up the bootoader, tftp will usually work.

    Good Luck!

  4. jcarle

    jcarle Network Guru Member

    It screwed the router to the point weren't it wasn't able to get online far enough to even TFTP. My friend, soldering monkey he is, managed to erase the nvram using a new JTAG connector that he soldered onto the board. Thank god!

    Did some more tests... it looks like vlan0 is essential to proper operations of the router. I haven't been able to figure out yet if it's possible to to use vlan0 as a WAN somehow.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice