I'm going to assume that if you're reading this, you're aware of what APN is, and/or you've experienced a "PDP Authorisation Error" when trying to surf the web over 3G. I've decided to write this up because days of scouring the web for a work-around turned up almost nothing, and I hope assuage other user's frustrations.
Preamble: For some obscure reason (probably due to a hasty activation procedure at the store), my iPhone3G was configured with the wrong APN setting. "Everything" worked except 3G internet connectivity. I was on a licensed carrier (Vodafone Italia), and as such, there was no "blocking" to deal with. Quite simply, it was jammed.
Now, if you're reading this, you've probably realised that there isn't any way for the end-user to edit APN settings in the iPhone3G's firmware, notwithstanding why you need to change it in the first place.
I had read that by restarting the iPhone3G with a non-licensed SIM card would induce software to make the APN setting user-editable, but I didn't want to try that (and, in practical terms, I didn't have a suitable SIM card available to experiment with). Calls to the carrier (Vodafone Italia) were fruitless.
Anyway, the work-around is not complex. Apple has released three related "iPhone Configuration Utilities" (one stand-alone app for OSX, and two web-based apps for Windows and OSX respectively). I used the stand-alone app available here. The relevant Deployment Guide is available as a PDF file. Long story short, these utilities allow the creation of corporate-centric "profiles" for configuring iPhones en masse, exposing core settings including APN settings. The Deployment Guide explains that profiles uploaded to an iPhone override the native configuration: this suggested to me that I could create a profile to patch the incorrect APN setting and enable 3G browsing.
The first step is to open the application and create a new Profile. In the General tab you must assign the profile a unique profile identifier (notice the red circle & arrow). This is the way your iPhone compares profiles: no name = no game. Names must be of the form com.something.somethingelse, for the sake of argument lets say I chose com.mycompany.iphoneAPN as my profile name. Giving the profile a sensible Name and Description is probably useful for future reference, but not mandatory.
Next, choose the "Advanced" tab, and then "Configure". In the first box, you can specify the correct APN address: in my case I knew it had to be web.omnitel.it, so I wrote it here. Now, if you have a username and password you must also specify them here. If that's the case, type them in, and then select File > Export... The result is an XML file with extension .mobileconfig.
It's then up to you to figure out a way of getting the file onto your iPhone: I joined a WiFi net and pushed it to myself by email; alternatively you can dump it onto a web-server and navigate to it. Upon selecting the file, your iPhone will present you with the option to Install, and you should be finished.
However, I was faced by a rather ironic situation: my APN access does not require neither passwords nor usernames. In other words, they must be specified blank. Leaving them empty and exporting the profile worked, but when pushed onto the iPhone it refused to install because "username and password are incorrectly formatted", or an error to that effect.
Therefore, I specified username "Fred" and password "Bob". Then I exported the file to my desktop and opened it in BBEdit, but any text editor will do. Searching for the string "Fred" instantly located a keypair denoted
Note The iPhone Configuration Utility sensibly allows the creation of signed profiles, and in general these are to be preferred, but signed certificates are not editable. Therefore, for this work-around to work, you must accept create and install a non-signed certificate.
I hope this is useful for anyone else experiencing the same maddening problem. It goes without saying that messing around with this kind of utility and setting always carries a certain degree of risk, and if you mess something up in the process, it isn't my fault.
Preamble: For some obscure reason (probably due to a hasty activation procedure at the store), my iPhone3G was configured with the wrong APN setting. "Everything" worked except 3G internet connectivity. I was on a licensed carrier (Vodafone Italia), and as such, there was no "blocking" to deal with. Quite simply, it was jammed.
Now, if you're reading this, you've probably realised that there isn't any way for the end-user to edit APN settings in the iPhone3G's firmware, notwithstanding why you need to change it in the first place.
I had read that by restarting the iPhone3G with a non-licensed SIM card would induce software to make the APN setting user-editable, but I didn't want to try that (and, in practical terms, I didn't have a suitable SIM card available to experiment with). Calls to the carrier (Vodafone Italia) were fruitless.
Anyway, the work-around is not complex. Apple has released three related "iPhone Configuration Utilities" (one stand-alone app for OSX, and two web-based apps for Windows and OSX respectively). I used the stand-alone app available here. The relevant Deployment Guide is available as a PDF file. Long story short, these utilities allow the creation of corporate-centric "profiles" for configuring iPhones en masse, exposing core settings including APN settings. The Deployment Guide explains that profiles uploaded to an iPhone override the native configuration: this suggested to me that I could create a profile to patch the incorrect APN setting and enable 3G browsing.
The first step is to open the application and create a new Profile. In the General tab you must assign the profile a unique profile identifier (notice the red circle & arrow). This is the way your iPhone compares profiles: no name = no game. Names must be of the form com.something.somethingelse, for the sake of argument lets say I chose com.mycompany.iphoneAPN as my profile name. Giving the profile a sensible Name and Description is probably useful for future reference, but not mandatory.
Next, choose the "Advanced" tab, and then "Configure". In the first box, you can specify the correct APN address: in my case I knew it had to be web.omnitel.it, so I wrote it here. Now, if you have a username and password you must also specify them here. If that's the case, type them in, and then select File > Export... The result is an XML file with extension .mobileconfig.
It's then up to you to figure out a way of getting the file onto your iPhone: I joined a WiFi net and pushed it to myself by email; alternatively you can dump it onto a web-server and navigate to it. Upon selecting the file, your iPhone will present you with the option to Install, and you should be finished.
However, I was faced by a rather ironic situation: my APN access does not require neither passwords nor usernames. In other words, they must be specified blank. Leaving them empty and exporting the profile worked, but when pushed onto the iPhone it refused to install because "username and password are incorrectly formatted", or an error to that effect.
Therefore, I specified username "Fred" and password "Bob". Then I exported the file to my desktop and opened it in BBEdit, but any text editor will do. Searching for the string "Fred" instantly located a keypair denoted
I simply deleted the value "Fred" so the final code was<key>username</key>
<string>Fred</string>
Nearby was a keypair<key>username</key>
<string></string>
This is presumably a hashed copy of my chosen password "Bob". I again deleted the value, so it became<key>password</key>
<string>HWkbwdKHBJ</string>
I saved the edited file, and pushed it up to my iPhone using the email method outlined above. Within instants, I was happily surfing the web using 3G.<key>password</key>
<string></string>
Note The iPhone Configuration Utility sensibly allows the creation of signed profiles, and in general these are to be preferred, but signed certificates are not editable. Therefore, for this work-around to work, you must accept create and install a non-signed certificate.
I hope this is useful for anyone else experiencing the same maddening problem. It goes without saying that messing around with this kind of utility and setting always carries a certain degree of risk, and if you mess something up in the process, it isn't my fault.