Tomato: WDS vs. WET and the Wireless Pit Of Despair


Following a recent rearrangement, I found a number of my computers on the wrong side of the lounge and a solid wall from the ADSL router. The layout of the room, and the solid floors and walls, ruled out running cables but with a wireless access point already in place, running the incomparable Tomato Firmware, the solution was obvious: Install a second wireless router (with Tomato naturally) and make the connection that way.

Originally I configured this using WDS using the information in the Tomato FAQ and the Tomato Wikibook. It’s a reasonably straightforward process so I won’t repeat it all here. When it doesn’t work the first few times, head on over to the Tomato Firmware Forum at LinksysInfo and read some of the many threads discussing the problems you’ve just run into.

Intial WDS Network

My initial configuration used a WDS setup to bridge the two network segments.

Once I’d got it working I was very impressed. Latency was pretty good, less than 3ms from server to ADSL router over the wireless connection. Throughput wasn’t really an issue either as the only thing on the far side of the link was the, comparatively slow, internet connection. All in all, simple and effective.

Everything worked perfectly for a while, and then this happened:

Latency Graph over WDS Link

Actually, this graph is the third or fourth time this has happened in the four weeks since I set this up. Nothing changes on the equipment, nothing changes in the local environment that I can see, but suddenly the link spirals into the Wireless Pit Of Despair. Just before it died completely there was a packet latency of 3.2 seconds! Recovery from this point requires a hard reboot of both wireless routers.

Further trawling through the magic of the internet showed that I wasn’t alone in this – unfortunately there was no obvious solution to be found. One thing that did crop up related to the choice between WDS and WET. There is some overlap between the functionality of these two Tomato operating modes, especially in my case. The most obvious point is that WDS is designed to extend the coverage area of a wireless network within a single network segment. WDS networks would generally have all devices in WDS+AP mode – connecting wirelessly to both clients and infrastructure. Seeing as I wasn’t using the second Tomato router as an Access Point (it was in WDS-only mode), WDS wasn’t really required at all.

A simpler solution for my network is to configure the second Tomato router as a Wireless Ethernet Bridge (a curiosity for acronym fans – this one is WET not WEB as you may expect). A subtle change:

Revised WET Network

I found that there are some gotchas waiting for those changing from WDS to WET mode:

  1. Change the internet end of the link (under Basic > Network) from Access Point + WDS mode to pure Access Point mode. I was using strict (as opposed to Lazy) WDS previously and the WDS+AP had the MAC address of the second router specified. Consequently, when I tried to connect the second router to it in WET mode it was still trying, unsuccessfully, to form a WDS connection.
  2. Change the routing mode (under Advanced > Routing) at the WET end from Gateway to Router. Without this change the wireless connection will come up, but you won’t be able to connect to anything from the devices attached to the WET.

The WET connection still allows all devices to exist in the same subnet (including both wireless routers and the ADSL router). Hopefully it’ll fix the mysterious wireless pit of despair issue, only time will tell.

[ADSL]: Asymmetric Digital Subscriber Line [WET]: Wireless Ethernet Bridge *[WDS]: Wireless Distribution System

Previous Post Next Post