Thursday, March 8, 2012

How NOT to run the 5.1 update on your iPhone...

Last night I started downloading the iOS 5.1 update. After seeing that the download alone would take an hour and a half I decided to go to bed. I disconnected the iPhone and left the download running in the background. All innocent I honestly believed that it would just save the file and let me run the update in the morning. An hour and a half later my iPhone waking up on my bedside table woke me up as it shone into the darkness, it had switched to recovery mode even without a USB connection to the computer. I wasn’t aware there was a remote command to put it into recovery mode over the air. Since it was not able to apply the update over the air it seems rather useless, and rather frustrating as I didn’t have a phone.

Once you’re in recovery mode there is no option that isn’t a hack but to restore the phone. Great, more hours wasted watching it reload and restore and put everything back. So digging into the internet I refreshed my memory on the double secret sequence of holding buttons in to get into and out of recovery mode but to no avail. The phone refused to go back to normal. I resorted to the jailbreak tool “tinyumbrella” which has buttons for “enter recovery” and “exit recovery” and it worked. Selected my phone from the list and clicked exit recovery and it came right back to life. I returned to iTunes with the intention of running the update. But the update failed...

“The iPhone could not be updated. This device isn’t eligible for the requested build.” Well.. that’s frustrating, lets start iTunes again and see...

So iTunes says both, yes, it is, and no it isn’t. So back to teh intertubes to read. I WAS behind a version of iTunes, so I ran that update. But even more importantly it turns out that upon quit, TinyUmbrella redirects a specific apple host on your machine. This is necessary if you are jailbreaking as it keeps iTunes from overwriting your new settings on the jailbroken iPhone. This was by default on, which makes sense I suppose if the tool is mostly used for jailbreaking, but my iPhone is not jailbroken. It’s in the advanced tab and is called “redirect hosts to Cydia upon quit” or something similar. After re-running tinyumbrella and turning that off and updating iTunes my phone is now happily running the update.

None of this would have been necessary if it had just not remotely put the iPhone into recovery mode in the middle of the night. At this moment it seems to be stuck at "waiting for iPhone” and seems to have now jumped to “verifying updated iPhone software” without ever actually loading anything. That doesn’t bode well. Oo, now we’ve gone back to “updating iPhone software” and it’s actually running now! The little progress bar on the phone is creeping across ever so slowly. Now iTunes is back to the Verifying message but the phone is still only about half way done with it’s little progress bar, but this is more how I remember things running. I am now more confident that it will complete and that things will go back to normal.

This blog post serves no purpose but for my own documentation of the issue so that a year from now when it does it again I’ll remember what I did to get it sorted out. Mostly I’m just venting my frustration. If you use tinyumbrella to get out of recovery mode though remember to turn off that redirect or iTunes will refuse to do anything with your phone after that.

OK, now wasn’t there something else I was supposed to accomplish today?

No comments:

Post a Comment

.code { background:#f5f8fa; background-repeat:no-repeat; border: solid #5C7B90; border-width: 1px 1px 1px 20px; color: #000000; font: 13px 'Courier New', Courier, monospace; line-height: 16px; margin: 10px 0 10px 10px; max-height: 200px; min-height: 16px; overflow: auto; padding: 28px 10px 10px; width: 90%; } .code:hover { background-repeat:no-repeat; }