Well, the folks have finally figured out how to unlock an iPhone 3G. You just have to make sure you *do not* upgrade to 2.2.1. You need firmware 2.2 with baseband 02.28.00. The source is at dev-team blog. The short notes are that it only works with the baseband you get with 2.2, so *don’t* upgrade and there is a bug with the most recent OS X 10.5.6 that you have to work around.
You basically use PwnageTool on the Mac as explained by intomobile.com
- Fix 10.5.6 with the 10.5.5 USB drivers by using a script that installs the old USB drivers by running Fix_DFU_10_5_6 which installs two drivers or .kext files
- Download and install iPhone 2.2 software (not 2.2.1!!!)
- Download PwnageTool 2.2.5 or later
- Run it in expert mode and find the iPhone 2.2.1 OS firmware called iPhone1,2_2.2.1_5H11_Restore
- Uncheck the Activate if you have an AT&T contract already (like me!)
- Change root partition to 1000MB and choose Build
- Save the new file as iPhone1,1_2.2.1_5H11_Custom_Restore.ipsw
- Select No if you have an iPhone 3G and never been Pwned and go into restore mode and now quite Pwnage and start iTunes
- Option click on Restore and find that Custom_Restore file
For first generation iPhones, these are still easily unlocked.