Debunking the iPhone throttling myth

There’s a lot of hubbub brewing around a blog post from iTweakiOS (since removed) that claims AT&T(s t), Verizon Wireless(s vz)(s vod), and Sprint(s s) are working in conjunction with Apple(s aapl) to limit – or throttle — the maximum speed of iPhone 5 on their networks.

I have no access to the original post, but based on the numerous reports circulating the web, developer Joseph Brown identified several lines of code in the iPhone that he claimed introduced artificial barriers to the device’s performance — the network equivalent of putting a restrictor plate on a race car. I’m no coder, but AnandTech’s Brian Klug is, and he has posted an in-depth piece thoroughly debunking Brown’s conclusions.

AT&T's HSPA+ network (in dark blue)

AT&T’s HSPA+ network (in dark blue)

It’s pretty technical stuff, but what it boils down to is this: Brown was just plain wrong in his interpretations of the code’s purpose. Brown interpreted the word “throttle” in the code to mean downgrading network connection speeds, but as Klug points out throttle in this case refers to “retry interval throttle,” which is the mechanism that prevents a phone from continuously searching for an LTE signal when there are none present.

The other bullet to come out of Brown’s smoking gun is a reference to the “Category 10” speed restrictions in the AT&T iPhone’s code. In industry parlance Category 10 is an iteration of HSPA device technology — in general, the higher the category, the more performance you can get of a handset. Category 10 can support a maximum theoretical downlink speed of 14 Mbps. Brown argued that AT&T’s networks could support much faster speeds, so by limiting devices to category 10 connections it was — by default — throttling speeds.

iTweakiOS iPhone code

First off, AT&T’s 3G network historically has only supported category 10 speeds. AT&T simply has older gear than operators who came later to HSPA like T-Mobile(s tmus), making its upgrade path to 21 Mbps HSPA+ more difficult. AT&T claims that it did make the jump to 21 Mbps as well, though the upgrade doesn’t appear to have stuck. According to AT&T network watchers I know and trust, AT&T hasn’t supported a connection higher than category 10 in years. The point is AT&T’s HSPA+ network can’t maintain a connection faster than 14 Mbps, no matter what code is in the phone. The network just isn’t capable.

To top it all off, though, Klug found that the code Brown was referencing actually applied to the iPhone 4S, which was never really a full-fledged HSPA+ device in the first place. The 4S came with a category 10 chip. Even if AT&T had the most bleeding-edge 3G networks in the industry, the iPhone 4S would never be able to connect to them faster than 14 Mbps.

There is nothing sinister going on here. As Klug points out, these are just different carrier-specific device configurations that all phone makers use. Don’t get me wrong: I’m not saying AT&T would never throttle speeds — in fact, it readily admits to doing so in some cases — but there are far easier and more elegant ways of doing so than by locking down a phone’s code.

As I’ve pointed out before, all of the major carriers have finely tuned traffic-shaping machines called policy servers in their network core. Not only could they throttle back speeds to a particular class of devices like the iPhone, they could restrict bandwidth to particular customers, particular apps and even at particular locations and times in the network. They could prioritize certain customers or certain applications packets over others.

If AT&T wanted to throttle, it would do it from its network operations center, not in Apple’s code.

Code screen shot courtesy of iTweakiOS via Apple Insider