
Originally Posted by
n1ckn4m3
In order to quell the rising number of posts that we have in relation to this issue, I'm putting everything into one post and will make it sticky.
ISSUE:
iPhone 3G/S gets stuck on a boot loop where the phone boots, shows the Apple logo (or GeoHot's face, depending on where you get the error), gives the Apple spinner, sits, then reboots, and repeats the process over and over. Alternately, the iPhone 3G/S gets stuck on a boot loop, shows the Apple Logo (or Geohot's face), gives the Apple spinner, and sits. This usually occurs on iPhone 3GS models with the latest bootrom, after a user has told the device to "Reset Network Settings" after WiFi connectivity has been lost. The problem can also occur if after the iPhone soft reboots after you have lost WiFi connectivity, for example, after an application install such as MobileSubstrate / SBSettings.
CAUSE:
This is caused by a race condition that exists on the iPhone 3G/S related to the WiFi implementation and is UNRELATED to the jailbreak and unlock itself -- this occurs on both jailbroken and unjailbroken phones as well as carrier-locked and software-unlocked phones. Admittedly, it occurs more with soft-unlocked devices, but this is because the unlock exacerbates the existing problem with the race condition -- not because the unlock is unstable or potentially dangerous (it's not!). Quite the contrary, the most updated unlock actually resolves the race condition -- which Apple's own software still has yet to resolve. That said, this issue CAN be fixed in several methods and the newest version of blacksn0w (RC2 Final) contains a fix that solves this problem permanently.
FIX:
If your phone is exhibiting the boot loop, there are a few things you will want to do to fix it to get everything going.
1) Download the latest version of blackra1n.
2) Plug the phone into your iPhone USB connector, plugged into a Windows machine running iTunes and blackra1n.
3) The phone will show as connected but will NOT charge. THIS IS EXPECTED BEHAVIOR.
4) Keep blackra1n open and keep the phone plugged in, and go do something for 8 to 12 to 16 hours. This is a VERY IMPORTANT STEP.
5) When you come back to your phone/PC, your phone should be at the home screen and charged and you should be good to go.
WHAT IS REALLY HAPPENING:
When the phone gets stuck in the reboot loop, it is unable to charge via the USB connector plugged into the PC because the iPhone doesn't get that far in the boot process before the race condition exhibits. The device gets far enough to mount the root filesystem and to provide filesystem access over USB, however. When you leave it plugged in and walk away, what you're really doing is allowing the iPhone to completely discharge its battery. When it does this, it will power off. Once it has powered off, it will begin charging via the USB cable. Once it has sufficient charge to power on, it will power on. During the power-on process, blackra1n will see the iPhone and will kickstart it.
PERMANENT FIX: (thanks for clarification, dtube!)
There are several options for a permanent fix, depending on the state of your phone after it reboots when the steps above have completed.
If, after completing the steps above, your iPhone reboots but is still unable to connect to WiFi, you will need to remove the blacksn0w unlock and re-apply with the latest version (RC2 Final). Removal instructions for blacksn0w depend on how you installed it -- if you used Cydia to install, you can just remove the package. If you used blackra1n to install, you would need to either SSH to the phone or connect it to your PC and use iFunBox/DiskAid/etc. to remove /usr/lib/blacksn0w.dylib and re-add the original com.apple.CommCenter.plist. Once you have removed blacksn0w, the phone should reboot properly, allowing you to install the latest version of blacksn0w (RC2 Final) from the official repository (cydia.pushfix.info).
If, after completing the steps above, your iPhone reboots and is able to connect to WiFi, you should immediately launch Cydia, add the official repository (cydia.pushfix.info) and upgrade blacksn0w to RC2 Final.
This should return your phone to 100% working (and unlocked!) status.
If anyone has any additions or corrections, post them in the comments below and I'll keep this updated.
Bookmarks