« Aquamacs, Lisp and more outdoorsy fall fun | Main | The new rockstars »
January 11, 2011
iPhone 3G with iOS 4.x and jailbreak: Fix for crashes and a battery drain issue.
Plenty of trouble with my jailbroken iPhone 3G, which I run on T-Mobile in the US. Apple offers its iPhone bundled with an AT&T contract, which keeps the initial payment down (attractive for delusioned customers) and the total cost of ownership up (good for Apple and AT&T.)
To use an iPhone with any GSM network (such as AT&:T or T-Mobile in the US, and virtually any provider in Europe), it needs to be "jailbroken" and "unlocked". The process is simple: download a program called "PwnageTool" from a website, run it over the iOS operating system that was downloaded with iTunes (.ipsw), then install the operating system on the iPhone with iTunes. Once the firmware update has been installed, start the new Cydia app on your phone, find the Ultrasn0w application and install. That's it: your iPhone will now accept GSM SIM cards from all carriers and in all countries. PwnageTool only runs on Macs. If you are still on Windows, have a look at a program called Redsn0w.
The real know-how is in the details, and the iPhone-Dev team makes you read a lot of text before getting a corse idea what to look for. On top of that, crashes and battery drains have made my life difficult over the last few months. Here are the solutions I found. The apply to the iPhone 3G, but not to later iPhones (3GS, iPhone 4).
Installing iOS 4.0, 4.1 and 4.2 on iPhone - slowness, crash and reboot issues
Lots of trouble. First the incredible slowness IN IOS 4.0. The solution was to upgrade to 4.1 when it finally came out. This wasn't as slow, but buggy in conjunction with the iPhone-Dev team's Jailbreak. Crashes galore all complete with a reboot that took many minutes, just when you're urgently looking for directions. A clean slate supposedly helped: restore the iPhone via iTunes and a jailbroken operating system file but one had to avoid restoring one's data and apps from a backup in iTunes. The manual restore is easier done than it sounds: ITunes synchronizes all data from the Address Book and Mail.app. Of course, if one keeps mail accounts or phone numbers in the phone without syncing them back to a computer, the install process will be much more involved. This solved the crashes for me.
I upgraded my phone to iOS 4.2.1, with the iPhone-dev jailbreak and the ultrasnow unlock. The trick here is to make sure that the phone's baseband version is compatible. Then, no baseband upgrade should be performed. Pwnagetool will ask you whether to upgrade the baseband.
Battery drain issue with iOS 4.x
The ordeal wasn't over for me, though. Now I dealt with a phone that drained its battery At an impressive rate - it would not last an afternoon. Online pundits have suggested many solutions to the problem, but the correct one appears to be that the iPhone keeps checking for "push certificates" via a Wifi or EDGE or 3G data connection. These certificates fail to validate, and the checking goes on. The Data Usage statistic (in Settings -> General) demonstrates these transfers.
One solution is to use a new version of Redsn0w for the jailbreak. If using Ultrasn0w, install a further Cydia package called "Push Doctor". This has fixed the battery drain issue for me and others. Important note: uninstall OpenSSH afterwards, or at least change the iPhone's root and mobile user passwords.
Posted by dr at January 11, 2011 3:27 PM