This is a short write up on how to disable EDGE on your iPhone 3G OS 3.0. It will allow you to prevent your iPhone from using Cellular Network Data (and may be avoid excessive data charges if you don’t have a data plan or you are with a differen carrier such as T-Mobile, Verizon etc).
On Jailbroken iPhone 3G’s
This method will only work on jailbroken iPhones (look below if you have a factory iPhone 3G) as you will need to install a GUI APT called Cydia. For more information on how to jailbreak your iPhone visit the Dev-Team Blog.
DISCLAIMER: I do not encourage nor recommend the practice of jailbreaking or unlocking your iPhone and this is only intended to be an informative write up on the software applications used. Please attempt at your own discretion as I do not take any responsibilities.
STEP 1: Install Cydia if you haven’t already done so. Again, this will require you to jailbreak your iPhone.
STEP 2: Open Cydia, Navigate to Sections > System, install SBSettings. SBSettings (previously know as BossPrefs) by BigBoss allows easier and faster control over iPhone settings.
STEP 3: In Cydia, Navigate to Sections > SBSettings Addons, install sbsettingstoggles. This will add the toggle functionality to the SBSettings application.
STEP 4: Once you’ve installed both the above apps, you should be able to open SBSettings by sliding your finger from one end to the other in the top status bar of your iPhone (Notification area which indicates the current time, signal strength, battery etc). You should see a screen like the one below.

Note the EDGE button in RED. This means that Cellular Network Data has been blocked.
STEP 5: If you are running SBSettings for the first time, you might not see the EDGE button. If so, click the small blue button called “more” to get the following screen.

Here you should be able to configure SBSettings and change themes etc. However, for this purpose, select the Set Toggles option. You should get a set of toggles that looks like the following.

Make sure the EDGE toggle is switched ON. Save your settings go back to the SBSettings main screen and disable EDGE (It should turn RED, just like in the first screen cap). You now have blocked your iPhone from using Cellular Network Data.
It’s important to mention that the SBSettings toggle only blocks the iPhone from using your CND settings. It does not physiclly disable EDGE. Therefore, you might still see the “E” or “3G” notifications on your phone. However, when you try to access the Internet or E-mail you will notice that there is no data transfer. Further, if you go to Settings > General > Usage, you will see there’s no stats under Cellular Network Data.
On Factory/Non-Jailbroken iPhone 3G’s
If you have your iPhone 3G in factory settings you cannot install 3rd party apps, other than those available in the App Store. So you have to rely on changing your iPhone settings (particularly your APN settings) from factory tools. The first and second gen iPhone’s both had ways to either change your APN or disable EDGE. However, iPhone 3G does not. But Apple decided to release a configuration utility to allow change settings in your iPhone. What this utility does is create custom profiles that will override your current iPhone settings. Here’s how you get it done.
STEP 1: First download, install and run the utility.
STEP 2: Even though not required, it’s always good to create a backup of your current profile.
STEP 3: Create a new configuration profile by clicking the New button, after which you will be presented with a collection of payload details. In General, enter a profile name (I put “Fake APN” just for kicks!). Then select the Advanced payload and click the configure button. Now you will be able to enter your own APN settings as shown below.

You can pretty much enter whatever you like as long as it’s not the correct settings that will allow EDGE to work.
STEP 4: Once you’re done changing the APN settings, click the export button on top. You can choose to sign/encrypt the profile if you want. But since you are creating it for your personal use, it’s not really required. Save the profile with the .mobileconfig extension somewhere acessible (You may name the file whatever you like, but do NOT change the extension).
STEP 5: Now you need to get the .mobileconfig file to your iPhone. You can either upload it to a server and download it on your iPhone using Safari by accessing the URL or e-mail it to yourself as an attachment so you can download it to your iPhone (The e-mail method is easier, in case you run into MIME type issues in Safari).
STEP 6: Now that you’ve got the file into your iPhone, open the file by tapping it. You should get a screen like the one below.

Notice my cutom profile name “Fake APN” and the APN contents, which means, only APN settings will be overridden. Click install. You might get a warning about the profile not being verified, but you can ignore it as long as you created the profile. Once completed, hit Done and you should be all set.
If you ever need to rollback to factory settings, you can always hit the Reset button in General Settings or restore the backup using the same method.
As for Push Notifications (in either case), there’s no way to know whether Push messages originate inside or outside of your iPhone. So if you want to be on the safe side, you could disable Push Notifications or use the manual option with Wi-Fi. his method will work on both Jailbroken andNon-Jailbroken iPhone 3G’s.