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 : Code: # 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 : Code: # 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. Cheers.