Friday, March 26, 2010

Fix for DFU or Recovery mode problem after unlocking iphone 3GS on 3.1.2 with redsn0w or blackra1n

Currently, there are two alternatives for unlocking 3GS running 3.1.2 firmware. The tools are
redsn0w(0.9.2): Only for jailbreaking
blackra1n(RC3): For jailbreaking + unlocking
blacksn0w: Only for unlocking

The two alternatives are
1. Use redsn0w to jailbreak followed by blacksn0w to unlock
2. Use blackra1n only

Now coming to the problems, various users reported that unlocking with blackrain followed by installation of some software (like SBSettings) from cydia lead to a condition where the phone is constantly in a recover mode loop after every reboot (reboot loop). I did not face this issue first hand as I did not install any software from cydia after unlock. I tried both the redsnow & blackrain approaches on different 3GS iphones. (Update: See the comments to this post which suggests a fix)

While the above condition might be true in some cases, I think that most people are missing one important point. If they jailbreak latest(>week45) 3GS iphones on 3.1.2 firmware using tethering (via USB), they have to use tethered boot also. This point is clearly mentioned in the redsnow software at the step after loading the 3.1.2 firmware.

They should use the same software everytime they have to reboot their 3GS iphone. After the unlock they would see the normal screen with the applications. But after reboot, it will go into recovery mode (screen showing itunes and USB cable). This is not DFU mode but people are using this term interchangeably with recovery mode. So, lets us ignore the terminology for time being and focus on how to fix it.

blackra1n:
1. Boot the phone. It will show screen showing itunes logo and a USB cable.
2. Just run the blackra1n software and click "Make it ra1n".
3. It will show a screen showing geohot's face.
4. Just wait, it will come out of it and will show the normal screen with icons.

redsn0w:
1. Boot the phone. It will show screen showing itunes logo and a USB cable.
2. Launch redsn0w and select the 3.1.2 firmware and click next.
3. It will show a warning screen. Click yes or no, depending on your iphone week number.
4. If you had already jailbroken, it will just show two options
5. Select "just boot tethered right now" and click next.
6. It shows a screen asking to hold the power & home button, but it is not needed. Do not do anything.
7. It shows the same recovery mode screen for some time and then will come out of it.


Happy unlocking!

3 comments:

Alex McHugh said...

It's OK to use the two tools (redsn0w 0.9.2 and blackra1n RC3) interchangeably. My recommendation is to use redsn0w for initial jailbreak and then if you have tethered jailbreak to use blackra1n rc3 for kickstarting the boot. This approach gives the best of both worlds on a new bootrom device running OS 3.1.2

What is not okay is to use blackra1n RC1 on new bootrom 3GS or to make the wrong decision with redsn0w (where you must choose old or new bootrom) These steps will cause you to need to restore stock OS, potentially losing jailbreak for now.

The hang at boot is caused either by blacksn0w (fixed in new blacksn0w from pushfix) or by a bad cydia support tool (fix is in beta testing, will be rolled out to all cydia users when stable)

Sunil said...

Thanks for this clarification. I did not dare to mix the tools fearing the risk of further problems.

Sunil said...

The following is suggested as the fix for the problem where the phone enters recovery mode after every reboot (reboot loop).

1. Connect the iphone to USB. It will not be charging.
2. Run the latest blackrain tool (while running itunes)
3. Wait for a long time(12hr or more) so that the phone completely discharges and begins to recharge again.
4. Once it starts to recharge, blackrain will detect it and kick it out of recovery mode.