And speaking of IPv6...
...as I was, here: It turns out there are lots of potential problems in a world where IPv4 and IPv6 are trying to coexist.
Case in point: the One Laptop Per Child project's XO laptop, which will automatically use IPv6 if it can. Or it can use IPv4. In fact, it turns out the XO can use both IPv6 and IPv4 at once.
That means the best of both worlds, right?
Um, no. It means that some routers will behave very badly. I discovered I could take my XO out and park under a streetlight and get a reasonable connection from the city's free Wi-Fi system. But at home, my cheap Wi-Fi router only let the XO connect to a few websites; the rest timed out, including laptop.org, OLPC's own website.
But it wasn't just a Wi-Fi problem. Attaching a USB-to-Ethernet converter is supposed to let the XO use a wired Internet connection. And it did for me when wired to my DSL modem — with exactly the same result as Wi-Fi. The same websites worked. The same websites failed.
Naturally, I had no idea it was a case of IPv6 and IPv4 tag-teaming me. But after hours of searching for how to work around what looked like a DNS problem (an intermittent one — the best kind!), I finally turned up a suggestion from JonB, a contributor to a forum on the OLPC News site.
He says he cribbed it from another forum. Now I've cribbed it from him. If you have an XO that won't connect to your home WiFi router, try this:
1. Open the Browse activity.
2. In the location bar, type about:config
3. Type ipv6 in the "filter" field; this should show you a line that says something like "ipv6 disabled: false" and some other stuff.Actually, it's:
network.dns.disableIPv6 default boolean false
4. Double-click on that line to change it to "disabled: true"
Again, actually it will now read:
network.dns.disableIPv6 user set boolean true
5. Browse away!
As soon as IPv6 was disabled, wireless connections worked at home just as well as when I was parked under a streetlight. The wired connection worked fine too.
Re-enabling IPv6 took it back to the same old bad behavior.
The good news (for me) is that killing IPv6 solves my XO connectivity problem.
The bad news (for IPv6) is that we have 25 years' worth of legacy IPv4 hardware with potential to have some kind of problems with IPv6.
And those problems won't just be biting XO users.
IPv6/IPv4 coexistence? Yeah, it's going to be necessary for quite a while. And it's looking more painful all the time.

