Unlock iPhone OS 3.0 With Push Support and no Rapid Battery Drain

user-pic
Vote 0 Votes
With the 3.0 iPhone OS, new baseband, and everything, there are several problems floating about.  First, there are a large handful of users plagued by the rapid battery drain problem.  How do you know if you have this problem?  Well, its quite simple actually.  Before upgrading to 3.0, your battery is good for 12 hours, 8 hours, whatever.  After upgrading to 3.0, it discharges even if you have the phone plugged in, and you're generally looking at no more than 3 hours idle time.  Second, if you hacktivate your iPhone, you don't get youtube and you don't get push notifications.

I've found that the battery depletion problem is usually to do with activating using an official SIM, and then hacktivating the device, because apparently it leaves some messed up APN settings on the phone.  As for the push notifications, hacktivating it directly is not going to work because you're not going to get the certificates required for push notification.

Luckily for me, having an official SIM card and a third party SIM card means I can have the best of both worlds, and not have to worry about either problems.  Unfortunately, though, it does mean restoring the phone is a bit more time consuming.

Now, I must note that this is a memo for myself, and nothing but. Don't complain if you do not have an official SIM card so you cannot get it to work. Don't ask me for my certificates, because I don't want to share my pushed email messages and risk getting banned.  With that said, let's start.
Getting the certificates
This part is actually easy and straight forward...
  1. Eject your unofficial SIM
  2. Insert your official SIM
  3. Restore using standard 3.0 ipsw through iTunes <-- Very important, we don't want 3.0.1 or 3.1 or etc. because those will have different baseband which could permanently lock your devices
  4. Activate your device over iTunes
  5. Quit iTunes completely
  6. Jailbreak the device using redsn0w, it doesn't really matter if you install Cydia or Icy, you will need one of them, but this restore is going out the window later so just choose whatever
  7. Use PhoneView, or other tool to drop nimble from dev-team's push fix package to /private/var/Keychains/
  8. Install MobileTerminal or OpenSSH so you can have access to your device
  9. Install at least one application which uses push notification via AppStore, I used Beejive IM, but you can use IM+ or whatever
  10. Launch the application, enable push notification
  11. Launch MobileTerminal or SSH into your device (No, close Cyberduck or CuteFTP or whatever, SSH, not SFTP)
  12. Change nimble to 777 permission, su up, execute nimble as root
  13. Copy the 4 output files (push-cert.bin, push-key.bin, youtube-cert.bin, youtube-key.bin; no, you're not getting them from me) to your machine.

Unlocking for other provider
This next part is the tricky part...
  1. Eject your official SIM
  2. Insert your unofficial SIM (you can put away your official SIM for safe keeps now)
  3. Restore using standard 3.0 (again, I can't stress enough, not any other version or you may lose your unlock permanently!)
  4. Jailbreak using redsn0w, install the package manager of your choice -- I'm biased because I appear on Cydia's thank you page, so I go with Cydia.
  5. Setup your iPhone as a new iPhone when iTunes ask you, do NOT use one of the backups.  If you use a backup you will face the rapid battery depletion problem!
  6. PhoneView (or other tools) to drop the four files to /private/var/Keychains/
  7. PhoneView (or other tools) to drop nimble and inject to /private/var/Keychains/
  8. PhoneView (or other tools) to DELETE keychain-2.db from /private/var/Keychains/
  9. Install MobileTerminal / OpenSSH from package manager
  10. Launch MobileTerminal or SSH into your device
  11. Go to /private/var/Keychains/ and chmod 777 both nimble and inject
  12. Su up, and execute inject
  13. Reboot your device (IE: Power button until you see red slider, slide it, wait for apple icon to go away, power button again)
  14. Sync your data, install your push notification app (if you installed it before this step, push will not work.  Restart from step 3 again)
  15. Go back to package manager, add repo666.ultrasn0w.com and install ultrasn0w (so you can use your unofficial carrier)
  16. Launch youtube app, you would probably be asked for your WiFi password, enter it, and verify that it works -- if not, go back to step 6 and repeat.
  17. Launch your push notification app, and verify that it works -- if not, go back to step 6 and repeat.
  18. Setup your Exchange/MobileMe account (if you've set it up before this step, push may not work.  Restart from step 3 again).

That should do the trick for you.  Please post comments to let me know if this works or doesn't work for you so we can refine these steps together!

No TrackBacks

TrackBack URL: http://www.andyhuang.net/mt/mt-tb.cgi/28

Leave a comment