Root and unlock Samsung Captivate running Android 2.2
I'm starting this to help those who want to root and/or unlock their Samsung Captivate 2.2. I had to search so many forums and didnt find a thread with all the instructions in one place. There maybe other ways to do this, but here's how it worked for me.
DISCLAIMER: I AM NOT RESPONSIBLE FOR WHAT HAPPENS TO YOUR PHONE AS A RESULT OF YOU TRYING OUT ANY OR ALL OF THE FOLLOWING PROCEDURES.
First, if you're running Android 2.2, you need to root your phone in order to unlock it. I dont know if reverting back to 2.1 using ODIN, unlocking and then upgrading to 2.2 will keep it unlocked or not. I didnt try.
You need to ensure that the phone is in USB debugging mode and connected to the PC. Drivers may be needed, and this is covered in other posts.
Step 1: Root the phone. The program I used was SuperOneclick, from shortfuse.org. I used the default settings to run the program (i.e. On the Universal tab, select exploit = "psneuter" and click "root".
(choosing the "get unlock code" in this application didnt do the trick for me)
Now your phone is rooted. You will see an app called "Superuser", confirming this. This should NOT be uninstalled. Should you wish to un-root your phone for warranty purposes, SuperOneClick allows for that too... though I havent tried it.
Step 2: I needed to update Busybox, and while there maybe easier ways, here's what I did. On the phone, go to Android Market and download the free version of Titanium Backup. Open this program, and click the "Problems?" button at the bottom center of your screen. Choose update busybox (and you can update superuser if needed, as well).
Step 3: Finally, lets unlock it. Using the update.zip process, or the adb shell commands + a hex editor to read the codes from ~/efs/nv_data.bin did NOT work. The only gimmick that did work for Android 2.2 was a Market application called "Galaxy S Unlock". Its free. When you launch it, there will be a separate popup asking if superuser rights should be granted to this app. Answer yes. You might get several prompts like this. I dont recommend you tell it to remember your answer and automatically grant superuser rights to all such requests in future.
Just follow the steps when you launch it and you should be unlocked. This cool app even allows you to re-lock the phone, should you need to obtain service while under warranty. I havent tried re-locking it though.
From your phone numeric keypad, dial *#7465625#
If you see the following:
Network Lock [OFF]
Network Subset Lock [OFF]
SP Lock [OFF]
CP Lock [OFF]
You have successfully unlocked your phone. Reboot and try a SIM card from a different carrier. Should boot up seamlessly, without asking for any codes.
Now that the phone is rooted, you might want to remove some of the preinstalled bloatware. FREEZE unwanted apps, do not uninstall. Otherwise, I'm told, you lose your ability to obtain future over-the-air updates.
The program I used for freezing unwanted apps is "AntTek App Manager", available free from Android Market. The free version of Titanium Backup doesnt allow you to freeze apps, only the paid version does. So I uninstalled it after updating Busybox.
When you launch AntTek app manager, there will be several prompts asking if Superuser rights should be granted to the requesting program. Choose the apps you dont want ATT Maps, ATT Navigator ($10/month to use), ATT Music etc are good candidates.
I hope this proves helpful. Feedback welcome.