A Last iPhone OS 4 Hold Out
I’d been holding out for an untethered jailbreak for iOS 5, as a tethered jailbreak was never of any use to me. iOS 4.3.2 was nice and stable and trouble-free. Aside from Mint, which required iOS 5 for some crazy reason, I had no real reason to upgrade to iOS 5 anyway. The new notification center was attractive, but I already had it with jailbreak tweaks like Notified Pro. But I knew I’d need to upgrade eventually, if only for iCloud by Summer 2012 when MobileMe is slated for execution, R.I.P.
The Promise of Siri on iPhone 4 Sweetens the Pot
But then a few days ago I learned of the legal Siri port for iPhone 4, Spire. (I didn’t yet know it was going to be such a pain to get working that it wasn’t really worth the bother.) And then the next day Pod2G’s untethered jailbreak was released. So it was time to give it a go.
I’ll spare the blow by blow, but it was not a smooth upgrade. Here’s some of what I encountered:
Cannot Restore from iPhone OS 4 backup
• I made a custom firmware, preserving my 1.59.00 baseband on my iPhone 4, using redsn0w 0.9.10b1. Then I jailbroke also using the same version of redsn0w. iTunes threw me an error 1600 (some kind of unknown error), which turned out to be because I had blocked connections to Apple in my hosts file. I had forgotten about that. And then the USB connection was really touchy, and I had to unplug all other USB devices and leave my keyboard and the phone directly connected to the Mac.
• After fixing those issues, a restore completed, but then iTunes crashed between finishing the restore and activating the phone, so I was left with only the choice to set up a new phone. I did this and also found the phone hadn’t been activated. (I’m on AT&T contract.) I found a way to get iTunes to “forget” that it had set a phone, in order to force it to restore from my last iOS 4 backup. Unfortunately after doing so I was just asked to “Set Up New Phone” again. Still no restore from backup option. To make matters worse, both the “Restore” and “Upgrade” buttons in iTunes were grayed out. Furthermore, Cydia’s servers were hammered so I couldn’t even install any needed tools like iSSH. Oh well, I hadn’t wasted too much time yet, so let’s try jailbreaking again.
Second try with PwnageTool 5.0.1
• This time I used PwnageTool 5.0.1. Again I didn’t allow the baseband upgrade, and I unchecked the “Activate” box in advance settings – because that really means “hacktivate” (and it should be called that). I’m on an official carrier contract. I also used the advanced mode to pre-install iSSH and a couple other packages, in case I had trouble with Cydia.
• The second attempt “worked” and did allow me to restore my old iPhone OS 4.x backup. But not without glitches. I was getting Error 1600 or 1604 from iTunes, again, and so again had to unplug USB hubs, etc. As expected, iTunes skipped over my cracked IPAs, leaving a springboard mess to sort out later. Cydia servers were still hammered, and so I had to fight to get in, just to get PKGBackup, so I could restore old Cydia packages and sources. I was careful not to restore anything stupid – like AppSync for OS 4 when there is an AppSync for iOS 5+ instead. Or Frash, which hasn’t worked in some time.
Post Jailbreak Problems
• But still there were problems and conflicts. I checked this compatibility list. Backgrounder got installed and that turned out to be causing crashes. Once removed that was fine. Other packages I removed just in case included: SpringFlash with it’s SBSettings toggle, Safari Download Manager, and Push Notifications SBSettings toggle.
As of this post I have two big remaining, unsolved problems, which seem quite common if not universal (to those who just applied some form of the untethered jailbreak):
1. iBooks doesn’t work.
I realize there are “fixes” for it, such as “iBooksFix2” on Cydia, but so far they don’t satisfy. They involve moving iBooks to the root /Applications folder, when it is supposed to be an iTunes-installed app. What if there are updates? Holding out for a better solution.
2. the 1/4 size screen issue on every boot.
Again, I realize there is a tempory fix: enter safe mode, open an affected application, then restart. But apparently you must do this after every reboot. Seriously? Hopefully @rpetrich can come up with a fix, and generally fix other problems with Activator on iOS 5.
Edit: rpetrich replied in a tweet: “unrelated to Activator”. So cause remains unknown.
Corona makes retrying easy!
In an effort to resolve issue #1, I installed the Corona 5.0.1 Untether jailbreak version “1.0-3” from Cydia. I checked first and learned that could be installed on top of the PwnageTool 5.0.1 or the redsn0w 0.9.10b1 jailbreak, and is presumably the same as redsn0w 0.9.10b2. All of those flavors aimed to fix an issue with launchctrl. But rumor had it that it fixed iBooks too. Sadly that wasn’t the case.
The nice thing about this new exploit is that it can be tweaked, as with Corona, without a need for a complete restore. It’s sort of sitting on top of iOS 5.0.1. Hopefully the problems will get ironed out in due time.
• The version of MobileTerminal I had restored crashes. Get the “520” version (from xsellize source among others I think) instead.
• Some app store apps that worked before no longer work, even though they’re at the current version. Instapaper and RSS Flash G both get interface lockups. These aren’t resolved by force quitting the app in question. A couple of others crash at launch.
• It’s sure nice of iTunes to now continue to restore application settings and documents even if it gets interrupted during the initial restore process. This makes the script I wrote to restore app settings/docs from an rsync backup no longer really needed as long as this continues to work. But better to always make a full rsync backup before a firmware upgrade anyway, just in case.
• I had gotten used to being able to connected to my phone without needing to type a password, via SSH using Terminal on my Mac. I described how to set up authorized keys in step 4C in the script comments posted on the link above. But now on iOS 5 I get the error: “.ssh/authorized_keys: No such file or directory”. As advised, I made the “.ssh” on the phone root. I even tried creating that file first (with touch), but got the same error. If anyone knows why please let me know.
• iOS 5 now has the ability to set some alert sounds to ringtones. This makes the tweak I described here mostly unnecessary, though there may still be sounds I want to change.
Indeed, it does look like 1.0-5 version of Corona fixes the iBooks problem. See this new post. The quarter screen issue seems to have gone away after one reboot at least. Since I upgraded Activator and Corona and SBSettings at the same time, it’s hard to know what may have fixed it.