Some iPhone 3GS users reported broken 3G and Edge connection after upgraded to iOS4. I can assure you this is not a jailbreak issue since many users who never jailbreak their iPhone was hit by the same problem. It appears certain iPhone carriers settings are corrupted after iOS 4 upgrade. The method to overcome this issue is to restore iPhone as a new phone, losing all your SMS and Apps settings/data.
While waiting for Apple to release a fix, here’s a temporary workaround without the need to go thru the painful restore process.
1. Download iPhone Configuration Utility. Mac OS X. Windows. Install and launch it. For Mac, it’s installed under Applications-> Utilities.
2. Go to Library-> Configuration Profiles. Click on File-> New Configuration Profiles. Under General fill in Name and Identifier. They can be anything.
Goto Advanced. For Maxis, APN: unet, Username: maxis, Password: wap. Leave other fields blank, for Maxis customer. For other carrier please refer this link.
3. Connect your iPhone. Devices -> YOUR iPhone -> Configuration Profiles. Install the profiles you just created. Your iPhone will pop up and ask for install verification. Just click install. Once done, check under iPhone Settings -> General. There should be a new Profile selection. You should be able to access 3G/edge network now.
Voicemail and MMS still broken. For Malaysia iPhone we cannot change the APN settings without going thru some hardcore jailbreak + terminal hacking. Since iPhone 3GS new Bootrom jailbreak isn’t available yet, and since I never use any of them, I don’t bother to go further. 3G network is all I need.