Tim Hatch

Weblog | Photos | Projects | Panoramas | About

Simulating a game of Set 30 Dec, 2008

I’ve set up a new branch for some Python code that runs a virtual [configurable] game of Set. Enjoy!

Tethering Xboxes to a G1 30 Dec, 2008

While on vacation for New Year's, I ended up needing Internet through my phone. I have had various phones that could tether over bluetooth (a Erisson 610T and a Samsung T509) with minor tweaking on OS X, but recently switched to a G1. It can't tether over Bluetooth but with some minimal tweaking works over wifi (as a client). We also wanted to be able to do Xbox Systemlink without cables strewn on the floor, so here's the setup that I ended up with:

G1         --(wifi)--> Asus WL500gP  --(wifi, wds)--> Airport Express
My Laptop   ----/           |                               |
Other Laptops -/        (ethernet)                      (ethernet)
                            |                               |
                          Xbox                            Xbox

To pull this off, I had to custom-configure the WL500gP's DHCP server (which is just dnsmasq) to give out the G1 as gateway and an outside DNS server (Verizon's 4.2.2.4 in my case, since it's easy to remember). Although /etc/dnsmasq.conf doesn't exist on OpenWRT, you can create it and dnsmasq will read options from it. Here's mine, in its entirety:

# default gateway
dhcp-option=3,10.0.2.2
# default dns servers
dhcp-option=6,4.2.2.4

It would also be possible (and advantageous) to set up the WL500gP to do dns caching but it's not a big deal except for Windows clients which apparently have a stricter timeout.

The Airport Express (802.11G version) isn't able to bridge directly, but does end up bridging while in WDS mode. WDS is basically what I expect when I hear "wireless repeater." For a more thorough introduction as it applies to Linux-based routers, the introductory paragraph from the DD-WRT wiki goes through the pertinent issues. I found out after some searching (no help from the OpenWRT docs) that you need to set up two wifi-iface sections in order to enable WDS on OpenWRT (one is regular AP mode, the other is WDS). This is the most authoritative reply I've found on the issue. There's also a rough this works for me page that mentions a recipe as well.

On the G1, it's relatively simple to set up. The best guide is on xda-developers (plus obviously having root, which in my case is just a copy of the sh binary which is now setuid). The G1 is plugged into the host USB on the Asus router, which charges it as well.