You must be jailbroken to do this. If you are not, go
HERE to learn how!
If you are on not on ATT and want to use a GSM iPhone that is locked to ATT, then this is the thread for you.
Let's clear up a couple of definitions:
Note: The bootloader is not the same thing as the baseband.
baseband - basically the generic name given to the internal software components of the iPhone that handle the phone calls and Internet access.
bootloader - basically software that loads either the baseband or operating system into memory before execution.
On almost any iPhone that is jailbroken, you can also carrier unlock it. to check your baseband version go to
Settings > General > About and scroll down to
Modem Version - that will be your baseband.
If your baseband is
5.14.02 (2G, 3G, 3GS) or
2.10.04 (iPhone 4) you can very easily unlock your iPhone. This would be for firmware versions 4.02 and below.
Open Cydia and search for "
ultrasn0w"
Once you find it install the app, afterwards your phone WILL be unlocked for any carrier.
Do not update your phone because it will take away your unlock.
If you are on a 3G or a 3GS and your baseband is above
5.14.02, you CAN currently still unlock, but this is irreversible and Apple will know you did it because you are going to flash an iPad baseband that cannot be removed at this time!
So you better be out of warranty
What you need to do is run the redsn0w version that fits your current firmware. Find the IPSW specified for that firmware.
Now ONLY click on "update to the 6.15.00 baseband" option, this will flash the new baseband. NOW you can run "
ultrasn0w" from Cydia to unlock
It works very well, but has been known to cause some GPS issues. Remember currently you cannot undo this, but it is the only way to unlock your iPhone.
Currently iPhone 4 with baseband 2.10.04 or above cannot be unlocked, sorry. I will update you as soon as the unlock comes!
post in this thread if you have any questions or issues.