How to: Set Tomato Firmware for Wireless Client Modes

By Aaron Weiss

March 13, 2009

Use your Tomato-enabled wireless router as a client to bring wireless access to a wired peripheral, such as an Xbox or a networked printer, which only has a wired Ethernet connection.

If you're like most right-thinking people, you probably use your wireless router the way that nature intended—to broadcast wireless signals to clients. But, if you've flashed your router with an alternative firmware, such as the increasingly popular Tomato, you can actually run your router in reverse. In other words, you can use your wireless router to pick up the wireless signal from another source, routing it to devices connected by Ethernet.

Why?

One reason to use your Tomato-enabled wireless router as a client is to bring wireless access to a wired peripheral. For example, suppose you have a gaming console, such as an Xbox or a networked printer, which only have a wired Ethernet connection. Using a wireless router in reverse ("client mode"), you can connect to the Xbox and/or printer, and have the freedom to place them anywhere you want (well, anywhere the router can pick up the source signal, of course).

Another way to use a router in client mode is to extend a wireless network. For example, suppose your primary wireless router is on an upstairs floor, but your laptop can't pick up the signal when downstairs. Connecting your downstairs PC to a router in client mode may let you pull in that distant signal, especially if you outfit the router with more a powerful antenna.

Technically, when in client mode, your router can only pass the incoming wireless signal to clients connected to one of the router's LAN ports. To re-broadcast the signal wirelessly, the router would need to be configured as a repeater—unfortunately, Tomato does not yet support repeater mode. One option is to switch to DD-WRT V24, which does support repeater mode, although it is in general not as user-friendly as Tomato. Another option is to use two wireless routers—one configured in Tomato client mode, connected by Ethernet to the second router, configured as an AP (access point). [For more on DD-WRT, read “Wi-Fi Planet’s Greatest Hits: DD-WRT.”]

Keep in mind that you only need to run Tomato on the client router—the primary router can be anything. In fact, it doesn't even need to be a router that you have administrative access to. (Did I say that out loud?)

Client mode, two ways

In fact, Tomato supports two types of client modes: wireless client mode and wireless Ethernet bridge mode. In bridge mode, the wired clients share the same subnet with the primary or "host" router. DHCP is assigned by the primary router and simply passed through by the client router.

In wireless client mode, clients make up a separate subnet from the host router. The DHCP pool is assigned by the client router. This mode is the easier of the two to setup, so we'll start here.

Wireless client mode

Step 1—Find the network name and parameters of your primary router

When we configure Tomato in client mode, it needs to know information about the wireless network we are connecting to. Specifically, we'll need to know the SSID of the network, its broadcast channel, and what type of security (if any) is in place. Of course, if there is security in place, you'll need to know the password!

You may already know all this information, but if necessary you can find it all using Tomato. Log into the Tomato interface and click to Tools/Wireless Survey. On this page click the "Refresh" button and Tomato will display a summary of available wireless networks.

wirelesssurvey_sm.jpg

Click to enlarge.

In this example we see a network whose SSID is hostnetwork, broadcasting on channel (Ch) 6. There is no security enabled. In contrast, you can see that the network actionteceval has WEP security enabled, as listed in the "Capabilities" column.

Step 2—Find the IP of your primary router

You'll need to know the subnet that is assigned to your primary router. For example, many routers ship with a LAN address of 192.168.1.1. (Other common IP's are 192.168.10.1 and 192.168.0.1).

If you have administrative access to your primary router you can log in and view its LAN address (ignore its WAN address).

Alternatively, you can associate with the router from your PC and then examine your PC's IP configuration. You want to find the IP address of the "gateway" which will be the primary router.

There are several ways to find the IP of your gateway (primary router), but one method that works on Windows XP/Vista and Mac OS X is to open a command terminal and type:

 netstat –rn

netstat.jpg

 

You'll need to know the subnet of your primary router so that you can configure the IP of your client router for a different subnet.

Step 3—Configure wireless client mode settings in Tomato

Information in hand, you can log in to your Tomato router and click to Basic/Network.

wireless_client

Click to enlarge.

If your settings page looks different than above, keep in mind that you still only need to configure the items marked here with an arrow.

Set a LAN IP address that is not on the same subnet as your primary (host) router (see step 2 above). For example, if your host router's IP address is 192.168.1.1, then you might assign the client router 192.168.0.1 or 10.0.0.1.

Be sure that "DHCP Server" is enabled, but you can leave the other DHCP parameters “as is” unless you have a need to change them.

In the "Wireless" section, set "Wireless Mode" to "Wireless Client." Type the SSID of your host network into "SSID" and be sure to choose the correct channel (see step 1 above).

If your host network uses security, you'll need to replicate those parameters here. If you have control of the primary router, it might be helpful to temporarily disable security until you verify that client mode works as expected. Then, re-enable security on the primary router and match that configuration here.

Now click "Save" at the bottom of the page. Tomato will reset the router. Keep in mind that your PC needs to be connected by Ethernet to one of the client router's LAN ports. When Tomato resets, you may need to renew your IP address—you can do this by disabling your Ethernet adapter and then re-enabling it (or see alternative methods for Windows or Mac).

Assuming that your Tomato client router receives the wireless signal, you should be able to browse the Internet from the wired PC. Despite claims to the contrary on some Web sites, you can connect more than one device to your client router.

Note: Although your wired clients are on a separate subnet from the primary (host) router, Tomato is smart enough to properly route requests to hosts on the primary router. In other words, suppose the host router is at 192.168.1.1 and your client router is at 192.168.0.1. A client at 192.168.0.100 can access a client at 192.168.1.100 (say, to share files), assuming no other blocks are in place on the network (such as firewall settings on the primary router).

Wireless Ethernet bridge mode

At the risk of sounding redundant, wireless Ethernet bridge mode is just like wireless client mode, except that the client is bridged to the host. In bridged mode, your clients think they are connected directly to the host router. They receive their IP addresses from the host router. The client router is a transparent intermediary.

Setting up bridge mode is very similar to wireless client mode. In fact, you'll first want to collect the same information from steps 1 and 2 above. Then log into the Tomato interface and click to Network/Basic.

wirelessethernetbridge_sm.jpg

Click to enlarge.

In bridge mode, the LAN IP address of your client router is actually irrelevant. You could set it to 0.0.0.0 and the bridge will work. However, if you do this—or set it to an IP outside the primary router's subnet—you will lose access to the client router's administration interface.

For this reason, I prefer to assign the client router a LAN IP address that is available on the primary router's subnet. If you control the primary router, you should know which IP addresses are inside the DHCP pool, and choose one outside that pool. In the above example, the host router is at 192.168.1.1 and therefore the client router has been assigned `192.168.1.2.

In the "Wireless" section, set "Wireless Mode" to "Wireless Ethernet Bridge." Notice that some sections of the configuration page disappear, including DHCP server settings. As with setting up wireless client mode, you next configure SSID, Channel, and Security to match the primary router (see wireless client mode section above for more detail). If using security, Tomato does not support WEP in bridge mode, so you must use WPA on both host and client routers.

Click "Save" at the bottom of the page to trigger the new settings. Tomato will restart. You'll need to renew the IP address on your client PC (see details in wireless client mode section above). If a standard renewal does not work, you may need to disable and re-enable your Ethernet adapter (I had to do this in XP). Ultimately, your client PC should receive an IP address from the DHCP server on the host router.

Remember that in bridge mode, the client router is "transparent," so any firewall or other network functions will be left up to the host router.

Router in reverse

Running your router as a client is one of the neater things you can do with alternative firmware, such as Tomato, and is rarely if ever supported in official stock firmware.

With Tomato-compatible wireless routers available at sites, such as eBay, for chump change, wireless client mode can actually be cheaper than buying a "branded" wireless adapter for your Xbox or other wireless-challenged devices, and offer far more functionality to boot.

Aaron Weiss is a freelance writer, book author, and Wi-Fi enthusiast based in upstate New York. For more by Aaron Weiss, read "How to: Monitor Bandwidth with Tomato Firmware." For definitions of unfamiliar term, visit our searchable glossary.



Comment and Contribute
(Maximum characters: 1200). You have
characters left.