| || |
IMPORTANT! READ THIS - Regarding the EMMC Brick Bug on the E4GT
** UPDATE ** 7/27/2012
As of today, many Kernel + Recovery packages have been modified to remove the offending function that can trigger the EMMC brick bug. For full information on the bug, refer to the link to the XDA thread I posted in the 6/19/2012 update.
The important thing here is that if you are going to perform any wipe data, format system, restore nandroid backups or any other functions in recovery that involves partition formatting, you need to be 100% sure you are doing it from a confirmed "SAFE" kernel/recovery repack. Most if not all recently released kernels will very likely be safe from the bug, and state as such in their description. But, there are still some older "unsafe" kernels floating around, so make sure you know what's on your phone before you use your custom recovery to flash anything else.
Also, in a real head scratcher, Samsung never did remove the offending function from their kernel. Android developers for the E4GT have had to do it after the fact. Then again, knowing Samsung software development, I probably shouldn't be surprised by this.
I'm going to leave the information from the original post below for reference for the time being, however some specifics may be outdated as of today.
** UPDATE ** 6/19/2012
Thanks to the efforts of Android Central and XDA forum members sfhub , garwynn, and Entropy (who worked on this issue on the Galaxy Note), and the countless others who offered insight, as well as a few who risked and in at least one case, bricked their own device, the cause of the EMMC failure (also referred to as a lockup) has been identified. The real golden bit of information came from communications that garwynn was able to initiate with an Android programmer at Google.
Information on the entire issue can be found here: Discussion thread for /data EMMC lockup/corruption bug - xda-developers
This is a bit technical, but it's the bottom line ...
We now have an update on why this bug is happening and which PRV/fwrevs are affected. PRV/fwrev 0x19 are susceptible to the EMMC /data corruption issue (which should now be referred to as EMMC lockup issue). PRV/fwrev 0x25 has the fix for the lockup issue but has a separate 32KB of zeros data corruption issue, which is being patched in the kernel (our kernels don't have that patch). All these problems are in the EMMC firmware. It can potentially be updated, but nothing is publicly available. EMMC lockup issue is triggered on erasing the EMMC. The only piece we have not been able to explain is why GB-based kernels seem immune to the EMMC lockup problem whereas ICS seems more susceptible to the problem. Presumably both are doing ERASE commands, but possibly in slightly different ways.
As of this update, we do not quite yet have the all clear to go wiping data from an ICS kernel. It's looking very likely that Samsung has fixed the issue by removing the MMC_CAP_ERASE function from the mmc driver (I think I got that right), but we won't know for sure until the source code for our final ICS build is published. Until source code is released, and all ROM and kernel developers get on the same base, I think it's best practice to continue to exercise caution and only perform data and system formats from a recovery that is packaged with the Gingerbread based EL26 kernel. This will ensure that you will not lock your EMMC chip up until the all clear is given.
Original post follows (dated 3/14/2012) ...
Okay guys. The purpose of this is to get a sufficient warning posted, and potentially save you the headache of hard bricking your E4GT, if you decide to flash one of the ICS leaks or unofficial CM9. Many people have bricked their phones over the last 6ish weeks, and my goal is to help readers who come here not suffer the same fate. Here's what's going on ....
So on the E4GT, recovery is packaged together with the kernel (like all Samsung phones and many others). So in order to install custom recovery like the popular Clockwork Mod (CWM), you need to flash a new kernel that's been repackaged with it. However, it's been determined that something about the stock ICS kernel for our phone and CWM MAY corrupt and/or damage the data partition of flash memory. When a ICS+CWM kernel is running on your phone, and you boot into recovery and perform a format (also known as a wipe), there is a chance that flash memory will become damaged and your phone will be hard bricked. There have been some brick situations where even a JTAG could not write to the data partition and recover the phone. THIS IS BAD JUJU! When JTAG can't revive a phone, you know this is particularly nasty and something you'd want to avoid.
So, it is highly recommended that once you have ICS or CM9 on your phone, before you change to ANYTHING else that involves a format or wipe of any partitions, that you Odin back to a Gingerbread ROM and Kernel+CWM, and then flash from there. While this takes more time, it's the safest way to work with these builds right now, until this gets figured out. Also, DO NOT RESTORE A NANDROID BACKUP OF YOUR GB ROM WHILE ON A ICS+CWM KERNEL ... ODIN BACK TO ONE MANUALLY, THEN RESTORE YOUR BACKUP FROM THERE! I bold this because on a Nandroid restore, just about every partition is formatted so you risk bricking your phone.
If you have an ICS leaked build or Unofficial CM9 on your phone, please heed the following warnings ...
[WARN]* DO NOT use ROM Manager at all, and more importantly, do not use ROM Manager to load Temp CWM to flash anything!
* DO NOT use ANY version of Clockwork Mod TOUCH Recovery to format internal storage or flash anything!
* DO NOT perform a /system or /data wipe using CWM while on an ICS kernel! Use Odin to flash back to a Gingerbread ROM and Kernel+CWM then move to something else ICS related from there.
* DO NOT try to restore a Nandroid backup in CWM while on a ICS kernel! [/WARN]
Working with the Samsung ICS Leak Builds
So say for example, you have the stock FB27 ICS leak on your phone, and you want to try Calkulin's custom FC07 ROM. Follow these steps ...
1) Download the EL29 ODIN ONE-CLICK and follow the instructions to flash the stock EL29 ROM and kernel.
2) Download sfhub's AUTOROOT PACKAGE and follow the instructions to install the EL29+CWM kernel repack.
* NOTE: sfhub created a special one-click package that already includes the EL29 kernel+CWM for use in flashing back to GB from a ICS build. However, flashing this in Odin increases the flash count and causes the yellow triangle on the boot screen. If you know how to deal with these, feel free to use it. If not, I suggest doing #1 and #2 as it avoids this issue.
3) Download Calkulin's FC09 ROM, the FC09 modem, and Calkulin's Format All ZIP, and place them on your internal storage or external SD card.
4) Boot into CWM, install the Format all ZIP, Install the ROM, and Install the Modem all in the same CWM session.
The end result here will be Calkulin's custom FC09 ROM with the stock FC09 kernel and stock recovery (no CWM). These instructions apply for all ICS related ROMs (except for CM9 ... see below for info), so you can follow these steps in most scenarios.
Working with CM9 and other AOSP based ROMs
I highly suggest you avoid the ICS AOSP ROMs for now unless you really know what you're doing. This includes CM9, AKOP, Codename Android, or any other AOSP based ICS ROM. If you don't know the difference between EK02 and FB27 or what they mean, don't flash AOSP. If you don't fully understand what a kernel is, or how recovery is linked to it, don't flash AOSP. If you don't know when you need to format /system and /data and when you do not need to, don't flash AOSP.
I say the above because from my observations, the majority of the hard bricks that have taken place have in some way involved CM9. You can certainly hard brick on a Samsung ICS leak, but the occurrences have been significantly less (again from my observations). I'm not trying to demonize CM9, just trying to emphasize the need to exercise caution.
If you do decide to flash CM9, follow the instructions VERY carefully. If you flash AOSP, decide you don't like it and want to go back to a GB ROM or one of the ICS leaks, FOR THE LOVE OF ALL THAT IS HOLY AND GOOD DO NOT USE YOUR RECOVERY TO DO ANYTHING!!!!! In the case of all the AOSP ROMs, the devs suggest you use the stock EL26 CWM repack (not Rogue repack). So I recommend using the EL26 Odin One-Click to flash the full ROM, then Odin the stock EL26+CWM kernel (DOWNLOAD HERE). Flashing the EL26 ROM may be unnecessary but I'm suggesting it as an extra precaution. Get everything ICS AOSP related off that phone before you use recovery to do anything is my stance.
The current opinion is that there is something about the ICS kernel Samsung wrote for our particular phone that is causing the problem when formatting data using a custom recovery (CWM in this case). Unfortunately, unless Samsung magically fixes it, we're going to have to wait until the ICS update officially rolls out and Samsung publishes the kernel source code before we will even have a chance to know what may be causing this, or how to possibly fix it.
Until you get the all clear, be careful, follow the above guidelines, and you'll be just fine and able to enjoy ICS until it's released officially.