Simon Willison’s Weblog


Extending a WiFi network with two Macs and a FireWire cable

12th April 2007

Last night’s Oxford Geek Night went really well, despite more than the usual flurry of problems. It’s definitely true that the more geeks there are in a room the less likely it is that the projector will work! Thankfully we got everything up and running in time for the talks to start, although it was a pretty close call.

A few of the talks needed internet access from the stage—always risky at conferences, which is why I’ve taken to recording screencasts of anything I want to demonstrate just in case there’s a problem. For the last event we hooked up a mobile phone to a laptop running an ad-hoc WiFi network, which was slow but worked fine. This time round we checked with the venue well in advance to confirm that their WiFi had been installed.

The wireless was indeed up and running, but there was one pretty significant problem: the stage was just out of range! We could pick up a network signal fine from about 10 feet away from the stage, but the layout of the building meant that the stage itself was a WiFi blackspot.

At that point the evening started feeling a bit like Apollo 13. We had a bunch of laptops, various cables (but sadly no 10 foot network cable; that’s on the list for next time) and about half an hour to go before the event kicked off. That’s when I remembered that Internet Connection Sharing under OS X has a “FireWire” option.

So here’s how to build your own WiFi repeater using two Macs and a FireWire cable:

  1. Connect Mac A to the existing WiFi network. Confirm with ping or a browser.
  2. Turn off the AirPort card on Mac B (for the moment).
  3. Run a FireWire cable between A and B.
  4. On Mac A, bring up System Preferences -> Sharing -> Internet.
  5. Share your connection from “AirPort” to “Built-in FireWire”.
  6. On Mac B, find System Preferences -> Network -> Built-in FireWire, and check that you’ve successfully connected.
  7. Confirm that Mac B can see the internet, using ping or a browser.
  8. On Mac B, browse to System Preferences -> Sharing -> Internet.
  9. Share your connection from “Built-in FireWire” to “AirPort”.
  10. Click “AirPort Options...” and set a name for the new network (and optional WEP key). This is the network that other machines will connect to.
  11. Hit “Start”.

All we had to do then was position our pair of laptops somewhere that was in WiFi range of both the venue network and the stage. Job done!

Except for one thing... we forgot to factor in the dampening factor of human bodies. As the area filled up the signal strength from the venue WiFi reduced, leading to intermittent network failures. The nice thing about laptops is that you can move them around, so for the talks that needed network access Nick and I stood near the door with our laptops held over our heads.

It’s a good thing the venue microphone showed up at the last minute, as our backup plan for that involved two laptops, a USB microphone, a patch in to the mixing desk and iChat AV...

We’ve started adding slides to the official site, and will hopefully soon have videos up there as well. If you took any photos at the event tag them on Flickr with oxfordgeeknight2 to have them show up on the site. Nat’s planning the next event for June or July, so subscribe to the announce-only mailing list if you want to stay informed.