JohnAGonzalez / iphone-dataprotection

Automatically exported from code.google.com/p/iphone-dataprotection
0 stars 0 forks source link

Issues after starting a RAMdisk on a device with iOS 4.3.4 #19

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Since iOS 4.3.4 my iPhone 4 boots in Recovery Mode after a RAMdisk was started 
on the device. With iOS <= 4.3.3 everything works fine (device boots into 
normal mode).

What steps will reproduce the problem?
1. Install iOS 4.3.4
2. Build RAMdisk with SSH (build_ramdisk.sh)
3. Boot RAMdisk (using tetheredboot)
4. Reboot device (using SSH and "kill 1")

What is the expected output? What do you see instead?
iPhone sould boot into normal mode.
iPhone boots into recovery mode

What version of the product are you using? On what operating system?
iDevice: iPhone 4, Model MC603DN, 16 GB, iOS 4.3.4 (8K2)
RAMdisk: 4.2.1 (), 4.3.3 (), 4.3.4 ()
OS:      Mac OS X (Build RAMdisk) / Windows Vista 32bit (Run tetheredboot)

Please provide any additional information below.
With iOS <=4.3.3 a restart boots the device into normal mode. Anyone with 
simliar issues?

Original issue reported on code.google.com by ronny.sa...@googlemail.com on 22 Jul 2011 at 8:44

GoogleCodeExporter commented 8 years ago
Yes, there is an annoying issue with iOS 4.3.4 : Apple changed the security 
epoch number from 1 to 2, and this number is written somewhere in the NAND FTL 
structures. When booting the ramdisk, we use an older kernel (4.3.1) that has 
_PE_get_security_epoch returning 1, causing the following message to appear :

[WMR:INF] Epoch update in progress

At the next reboot, iBoot will abort the boot process with the following error :

[WMR:ERR] NAND format invalid (mismatch, corrupt, read error or blank NAND 
device)
[WMR:ERR] boolSignatureFound false  boolProductionFormatVerified true nSig 0x0
******************************************************************************
******************************************************************************
AND: NAND initialisation failed due to format mismatch or uninitialised NAND.
AND: Pleae reboot with reformatting enabled.
******************************************************************************
******************************************************************************
Raw NAND FTL failed initialisation

I just commited a kernel patch to nop the "epoch update" thing from the kernel 
when booting the ramdisk 
(http://code.google.com/p/iphone-dataprotection/source/detail?r=a7624bc7994ed6cf
7d00f205113ddbac6c3493bb). This should prevent the brick. I also updated 
tetheredboot to use the 4.3.4 kernel but this is not mandatory (and without the 
additional kernel patch, it would work fine on 4.3.4 devices but brick devices 
with earlier firmwares).

I tried a few things to fix an already bricked device (by trying to "revert" 
the epoch update) but unfortunately this didn't work. You will have to do a 
full restore on the device (unless you can still boot the ramdisk and backup 
your data ?). Sorry for the inconvenience. I deprecated the old tetheredboot 
and payload binaries downloads. Thanks for reporting the issue.

Original comment by jean.sig...@gmail.com on 23 Jul 2011 at 9:24

GoogleCodeExporter commented 8 years ago
Thanks for the detailled explanation and the payload fix. Works great for me!

Original comment by ronny.sa...@googlemail.com on 23 Jul 2011 at 8:31

GoogleCodeExporter commented 8 years ago
There is now a fix for bricked devices, see 
http://code.google.com/p/iphone-dataprotection/source/detail?r=88a8950346cca5489
cdedd7987e451f8c716cdff

Original comment by jean.sig...@gmail.com on 30 Nov 2011 at 7:19

GoogleCodeExporter commented 8 years ago
i have an iPad that is showing the above WMR:ERR, but i'm unsure if it is Epoch 
related. as it was running IOS5.1.

According to iRecovery the iBoot is for 5.1-5.11. 
The iPad was working okay and after a successful Passcode retrieval then device 
appeared with this error.

Ive tried running the Kernel Patcher but for an iOS 5 firmware. 

Doing a full restore is out of question as require data already present.

Original comment by ghostH...@gmail.com on 20 Sep 2013 at 9:44

GoogleCodeExporter commented 8 years ago
@ghostHTCU what tool did you use for the passcode retrieval ? which ios version 
was the ramdisk/kernel based on ?

Original comment by jean.sig...@gmail.com on 8 Oct 2013 at 7:58