I want to preface this post with saying that I AM NOT an iPhone jailbreaking expert. In no way can I explain why things work, and why they don’t. All I can do is tell you what worked for me, and what didn’t. Please don’t email me asking me for the best way to jailbreak, or asking me about the problems you are having, because I probably can’t help you.
That being said I did have to get my hands dirty in the world of jailbreaking recently. You see, last December I bought my wife a jailbroken iPhone 3G from a buddy of mine so she could use it with T-Mobile. No biggy, it was already jailbroken and unlocked, so I didn’t have to screw with it. It was jailbroken on version 3.2.1 with the 5.11.07 baseband. No biggy right?
Well she recently had been experiencing performance issues, and finally yesterday she told me that she could no longer connect to EDGE for some reason. She called T-Mobile to verify her settings, and to make sure that she still had an active data plan. she did, so logically it appeared to be an issue with the phone itself. I decided that perhaps it was time to try upgrading her jailbroken phone to something newer.
Knowing that it was already jailbroken, I knew not to run the update from iTunes. Instead I Googled around and found a cool article on how to Jailbreak version 3.1.3 using a sweet little utility called Sn0wBreeze 3.1.3. Sn0wBreeze worked like a charm, and I soon had her phone updated to 3.1.3. I couldn’t leave well enough though could I? No, not with version 4.1 out! Now I read around and found there were problems with jailbreaking and unlocking iOS 4.1 so I decided to stay away from that, and some friends suggested staying away from 4.0.1 and 4.0.2 as well. That left version 4.0. Well I found another utility called RedSn0w that was supposed to be able to upgrade me to 4.0. What it did though was got me stuck in a restore mode loop. Also, apparently I was up to baseband 5.12.01. WTF!?!
Trying to get out of the restore mode loop, I downloaded and installed the retail version of 3.1.3. I tried the retail of 4.0, but it kept failing because iTunes would call back to Apple, then error out. After Installing regular 3.1.3 the phone came out of restore mode, but would not activate because my wife’s SIM was T-Mobile. Damn it!
Although there is a part in the Sn0wBreeze process that asks if your phone is already jailbroken, and gives you the option to hit no, if you try to install the custom ipsw you will get an iTunes error 1600 (I even saw errors 1603, and 1604). I finally figured out a way to fix it though. Here is what I did:
- I downloaded the original 3.1.2 ROM
- I downloaded Blackra1n (A jailbreak utility for 3.1.2)
- I installed 3.1.2 using iTunes. I still got an error at the end, but it still restored successfully.
- After it installed and rebooted, it came back up un-activated.
- I ran Blackra1n to jailbreak 3.1.2
- After it rebooted, I didn’t see Cydia, so I browsed to http://jailbreakme.com on the iPhone to run their un-tethered jailbreak utility.
- After Cydia was installed, I rebooted it
- I put the phone in restore mode
- I created a new custom ipsw file using Sn0wBreeze 1.7 selecting the option to hacktivate, and then the option that the phone was already jailbroken.
- I then restored the custom ipsw file using iTunes successfully!
- Once the phone was back up, I unlocked the phone using UltraSn0w through Cydia.
The moral of the story? It appears that in order to update your phone to a newer custom jailbroken ROM created by Sn0wBreeze your phone must already be jailbroken or it will fail with a 1600 error. Also, it is really easy to fall back to version 3.1.2 in a pinch!
Are you a jailbreaking guru? Know of a better way to do this? Know what I did wrong? Got any pointers? Hit us up in the comments!