From ModMyiFone - Wiki
This guide is outdated. The new guide is here.
Get Ready
Download and install the iUnlock pack. There are mirrors here, here, and here. Make sure your iPhone is running the 1.0.2 firmware. This will not work without it.
Step 1
There is some initial prep work. You need to have an iPhone which is jailbroken and has SSH installed, and that you can SFTP to. If you HAVEN'T done this, follow this simple tutorial, this one to activate the iPhone (not unlock it), and then this one to get SFTP ready.
Another very important step is the following:
Go to "Settings" -> "General" -> "Auto-Lock" on your iPhone and set it to "Never". That's important so that the iPhone can't switch off during the unlock process because this could leave the phone in an unusable state with an incomplete baseband firmware and no WiFi connection.
Step 2
Take your SIM card out of your iPhone by inserting a paper clip in the small hole on the top of your iPhone. Leave the sim out for the duration of the tutorial. All right. Now lets SFTP into your /usr/bin folder on your iPhone, and upload the following three files from your iUnlock folder:
ICE03.14.08_G.fls, iUnlock, and nor
Step 3
Open up Terminal (Applications/Utilities/Terminal) and type the following command:
ssh -l root your.ip.address
Terminal will then ask for the password. It is dottie. Type it in and hit Return. The letters will not show up, but then you will get a new line in Terminal.
Now type:
launchctl unload -w /System/Library/LaunchDaemons/com.apple.CommCenter.plist
And hit Return. You will see nothing except a new command prompt. Good.
Step 4
Type:
cd /usr/bin
And hit Return, then
chmod +x iUnlock
And Return, then
./iUnlock ICE03.14.08_G.fls nor
And hit Return.
You will then have to wait about 20 minutes. The good news is, you'll see progress indicators telling you which percentage you're at. You will get just 00% for a while, don't worry, it just takes some time.
Assuming all went well, you will see the following text:
Step 4
Nice, you're close. Open up a new Terminal window (Apple+N while you're in Terminal, or just File>New Shell).
Lets SSH into the phone again by typing:
ssh -l root your.ip.address.here
Step 5
(Be sure to have the BSD Subsystem and Open SSH installed on your iPhone before performing this step)
Type
minicom -s
The following little window should pop up:
Press your down arrow to get down to Serial Port Setup and hit Return.
Step 6
A new window will pop up. Type A to bring you to the top bit. Delete a few spaces and make it say
/dev/tty.baseband
And hit Return. Then hit Esc to bring you back to the main menu.
Step 7
Arrow down to Save setup as dfl and hit Return. This gave me an error a few times, but I just continued to the next step anyway after running bbupdater -v, and it worked fine.
Arrow down to Exit, and hit Return.
Step 8
Type
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
And hit Return. If it returns an error, just head to the next step. If it doesn't allow you to connect, you will need to unload the CommCenter file and reload it again. This shouldn't happen though.
Step 9
Now type:
AT+CLCK="PN",0,"00000000"
And Return, then
AT+CLCK="PN",2
And return. As you can see, it returned an error for me the first time I ran the 2nd command. If this happens, just type it again and hit Return again. You should be fine now.
Step 10
Now open a new Terminal shell again, and type
ssh -l root your.ip.address
Enter the password, dottie.
Type
/bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.CommCenter.plist
and hit Return.
Step 11
Open up your favorite FTP program (I used Fugu in the SFTP guide linked to earlier in this tutorial, but you can also use CyberDuck, Transmit, or any FTP prog that supports SFTP). You might still have this open from Step 2. SFTP to the iPhone as I showed you in Step 2.
In your iUnlock folder we got our files from earlier, there is a file called lockdownd"'. Upload it to /usr/libexec in your iPhone, and select Yes"" or Replace to replace the existing file.
Restart your iPhone with your new SIM in it. You should now see your provider in the top left! Congratulations, you are the proud owner of an unlocked iPhone!
NOTE: To set up T-Mobile's EDGE, make sure you have the Total Internet Add-On (with or without VPN, to enable VPN you must call Customer Service) enabled on your account (its $19.99/month as of September 12, 07). The $5.99 T-Zones plan WILL NOT work.
Then go to Settings>General>Network>EDGE> and change the APN to internet2.voicestream.com, and leave the user name and password blank! This will only work if you have the Total Internet Add-On enabled on your line. If you have the $5.99 t-zones, this won't work, since the iPhone doesn't have proxy settings built in. If you have the Total Internet Add-On w/ VPN enabled on your line then use: internet3.voicestream.com as your APN.