Last month, Canonical Ltd. released the newest update to their extremely popular Ubuntu: Ubuntu Gutsy Gibbon (7.10)… But it hasn’t been all fun and games, as thousands of irate users will tell you… If you search the web, the blogosphere, usenet, and the Ubuntu Support Forums for slow internet problems, you’ll get more than you ever bargained for. Ubuntu 7.10’s networking stack is broken, make no mistake about it.
The symptoms include incredibly-slow internet access, inability to access certain domains, slow logon times, slow application launch times (under GNOME), and so on and so forth. There hasn’t been any official acknowledgement, but the consensus is that it’s a bug that’s re-surfaced from Ubuntu Edgy Eft (version 6.10).
In short, internet on Ubuntu is useless. There are multiple guides across the net with the solution along with an “explanation” we find to be inadequate and fundamentally flawed. The solution is to disable anything that even smells remotely of IPv6. Remove it from the network settings, remove the definitions from the hosts file, configure your favorite web browser to pretend it doesn’t exist, and you’ll get your internet back.
The explanation, that some will give you, is that Ubuntu 7.10 is configured with IPv6 as the default interface, and if you’re on an IPv4-only network (like 99% of the world’s population) Ubuntu will waste time trying the IPv6 network connection before using the internet-enabled IPv4 connection.
But this is nonsense, because it simply doesn’t explain why it takes so long for Ubuntu to make the switch (from 10 seconds to infinity) and absolutely ignores the fact that Ubuntu 7.04 Feisty Fawn worked just fine with IPv6 enabled – as does Windows Vista for that matter.
The problem is that Ubuntu thinks IPv6 has a proper, working internet connection and attempts to use it, even if you’re on an IPv4 network.
If the routing rules were correctly done, Ubuntu shouldn’t have a problem sending IPv4 packets over the IPv4 network, and IPv6 packets over an IPv6 connection. But obviously that is not the case. It shouldn’t matter what is set as the “default” (there is no such thing, really) network connection, Ubuntu should connect ASAP and without all this nonsense.
The bottom line is, Gutsy Gibbon’s TCP-stack is broken and we have yet to see a real fix. Disabling IPv6 is nothing more than a stop-gap solution, and is the completely wrong way to go about doing it. If anything, it makes the general techie wary of IPv6… and that’s not something you want to do, when IPv6 adoption rates are already so absolutely dismal.
All this raises a really important question: what is it with modern operating system releases being RTM’d before they’re really ready? From Vista to Gutsy Gibbon to Leopard, something is definitely wrong. If you haven’t already made the switch to Gutsy Gibbon, stay with Feisty until the next version comes out.