Previous generation iPhones, 3g in particular, are available for cheap these days. If you got your hands on one of these devices and don't want to be tied down to either AT&T or deal with Apple's walled garden, you're going to want to Jailbreak and/or Unlock your newly acquired device. I've tried to distill the information from a plethora of websites so that you can accomplish said goals. Read on...
FWIW, these instructions only allow you to have iPhone OS 3.1.2 on your 3g device. If you want to have 3.1.3, these instructions might work, but caveat emptor.
I. Download the necessary files
1. The Apple iPhone Firmware: http://www.iclarified.com/entry/index.php?enid=750
a. For 3.1.2, get this file: http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw
2. Recboot: http://www.sebby.net/443-recboot-final-release/
3. Redsnow 0.9.2: http://wikee.iphwn.org/howto, http://xs1.iphwn.org/rs/redsn0w-win_0.9.2.zip
Download all these files to a location that you can easily access again. I used: c:\temp\iPhoneUnlock\
II. Cellular Network or Wifi Connectivity
Ensure that you have either a SIM card in your phone or have it connected to a WiFi network. I can't stress the importance of having some sort of network connectivity when you are jailbreaking your iPhone.
Now, for the real work; you need to do three things in order to unlock your iPhone 3g:
1. Follow the instructions on how to Downgrade to 3.1.2 from: http://lifehacker.com/5572003/how-to-downgrade-your-iphone-3g%5Bs%5D-from-ios-4-to-ios-313
- Only difference is you need to downgrade to 3.1.2
2. Jailbreak the iphone firmware using redsn0w.
a. Launch the RedSn0w application
b. Point it to the ipsw (Apple Firmware file) for 3.1.2 that you downloaded earlier (c:\temp\iPhoneUnlock\iPhone1,2_3.1.2_7D11_Restore.ipsw)
c. RedSn0w downloads some files and patches the iPhone Kernel. After it is done, it asks you to switch off your iPhone and ensure that it is plugged in to your machine. Do this!
d. Follow the onscreen prompts to put your device into DFU mode
e. Once your device is in DFU mode, redsn0w will do the rest. When the RedSn0w application moves to the next screen, you can stop pushing down the "Home" button.
f. If you get a "Flashing NOR" screen on your iPhone, the correct process has been initiated. Sit back, relax and enjoy your soon-to-be-jailbroken iPhone.
a. Launch Cydia
b. Upgrade or update any packages it prompts you to update
c. Install ultrasnow using cydia: http://www.redmondpie.com/unlock-iphone-3.1.3-3g-3gs-with-ultrasn0w/
- You don't need to specify a new repository url. The latest version of Cydia locates ultrasnow 0.93 automatically.
Once ultrasnow is installed, your device will reboot and you will see the Pineapple logo. After your device does start up, it will be carrier unlocked!