In grad school, I don’t make things. Papers and presentations aren’t tangible enough for me to consider them “things” in the way that I mean. So I’ve been looking for opportunities to make stuff. Food, music and lamps is where I’ve put most of that.
Last summer we (Wireless Toronto) ran into some annoying problems with the ISP we were using for the wifi at St. Lawrence Market. The Rogers “Portable Internet” (pseudo-WiMax) service was expensive and slow, but had been magnificently simple and reliable. It stopped being so when Rogers started indiscriminantly disabling the service because they had detected malware attacks originating from our connection. I explained that it was a public hotspot, and that there’s no way for me to control that, but they patiently repeated that this is their policy. I was tempted, but didn’t try, to explain that if their network admins are clever enough to detect malware attacks, they’re also clever enough to block them. (Maybe that feature is offered when you subscribe to their $15/month anti-virus service?)
So this created an opportunity for me to try something out that I’d been thinking about for a while. (“Opportunity” meaning “sudden, unexpected need”.) I’d used the OneZone network a few times now and again, and had also observed that the signal strength at St. Lawrence Market was pretty strong. I wanted to see if I could use the OneZone network (which was, notoriously, called the fastest wifi network in North America) as backhaul.
I did the development work at the Mobile Lab at OCAD (which has line-of-sight to a OneZone keg at Richmond and Duncan), and I got it working. The glazing on the windows at OCAD meant the connection was surprisingly bad (though I know some who’d put the blame elsewhere). When I took the router to the market, though, the speed was amazing.
For those who are interested, here’s what it does:
- In client mode, looks for and connects to the OneZone wifi network
- Goes through the multi-stage login process
- Identifies itself as an iOS device, which means it can take advantage of the $5/month plan
- Checks every 3 minutes that it’s still connected, and attempts to get back online if it’s not
- Checks into the open-mesh.com dashboard every 4 minutes; this way you can monitor uptime and get outage notifications
- Runs on top of OpenWRT, using shell scripts, curl, microperl, and mini-sendmail
- Is completely plug-and-play
There are a couple of outstanding problems (as the folks at St. Lawrence Market will have noticed):
- Sometimes the auto-relogin doesn’t work; I haven’t been able to diagnose this yet, but it’s happened less than once a month.
- Since OneZone no longer offers subscriptions; in order to renew, you’ve gotta wait for it to expire, and then approve another charge to your credit card. I’ve written an auto-renew script, but I haven’t ironed out all of the bugs out of it yet. Until I do, it means that once a month it may take some manual intervention when the service expires, in order to get it working again. I expect to have this fixed in a month or two. (It’s difficult to test — with a single account, I only have once chance per month!)
I posted the scripts and instructions on the Wireless Toronto wiki last summer; there’s no way for me to know how many people are using it. I know for sure that there’s at least one other user, though — it’s a fellow east-sider who provides wifi to folks in the neighbourhood. His motivation for checking it out is UBB, which would make it much riskier to offer free or shared wifi.
If you’ve used my auto-oz scripts, and you feel like it, drop me a line. I’d love to hear how it’s working out for you, and if you have any suggestions on how to make it better. (I’ve definitely never claimed to be a strong coder.)