Go to /private/var/root/Library/, delete original lockdown folder and put this lockdown folder after you extract it from the zip file
If you are not jailbroken:
Sherif Hashim discovered that you can activate your iPhone 4, iPhone 3GS or even iPhone 3G without the original carrier SIM card. You need a “phonebook sim card” or 02 simcard. You can buy these type of sim at radioshack, bestbuy or other mobile electronics store (for example here).
Once you get passed the Emergency Call screen, connect to Wifi, jailbreak using JailbreakMe.com and unlock using ultrasn0w. Once that is complete you should be passed activation and unlocked (able to use any sim). If you get a different simcard error, do the following final step:
Geohot, the creator of purplera1n, has just released his own iPhone 3GS softwareunlock and named it purplesn0w. Who is purplesn0w for? If you own a jailbroken iPhone 3GS running firmware 3.0 and you want to unlock it to use it with another carrier (T-Mobile only in the USA), then purplesn0w is for you. Are you experiencing wifi/battery/other unlocking problems after using ultrasn0w? Then I highly recommend you try purplesn0w. Geohot says that it’s the best unlock out there.
purplesn0w doesn’t run any deamon (resident app) on the iPhone, it just patches three files: CommCenter, lockdownd, and wildcard. You need an activated device in order to use purplesn0w, this is a minus.
Here is how to install purplesn0w:
Make sure you have an activated iPhone 3GS. If you have T-Mobile make sure you disable 3G in the settings.
Open Cydia, and add http://apt.geohot.com to your sources
Install the com.geohot.purplesn0w package
Watch for the success output in Cydia
Reboot your iPhone 3GS
Once you have followed the steps above, your iPhone 3GS should be unlocked.
Update: Geohot has also posted technical details of purplesn0w here along with the source code of purplesn0w. He plans to release an updated version of purplesn0w with hactivation support.
Sn0wBreeze 2.9.3(pwnagetool for windows, supports tethered jailbreak of iOS 5.1 for iPhone 4, iPhone 3GS, iPod Touch 3G, iPod Touch 4G, iPad; untethered for iPhone 3GS with old bootrom; untethered for iOS 5.0.1, iOS 4, iOS 3 supports Apple TV 2G)
Sn0wBreeze 2.8b11(pwnagetool for windows, supports iOS 5, iOS 5.0.1, tethered jailbreak for iPhone 4, iPhone 3GS, iPod Touch 3G, iPod Touch 4G, iPad, Apple TV 2G; untethered for iPhone 3GS with old bootrom)
Current version is ultrasn0w 1.2.3, download in Cydia (unlock for iPhone 4, iPhone 3GS, iPhone 3G, firmwares 3.0-4.3.3; it supports basebands 01.59.00, 04.26.08, 05.11.07, 05.12.01, 05.13.04, 06.15.00)