Samsung Galaxy S II and Galaxy Note – MMC_CAP_ERASE bug – potentially can brick your device


If you are Samsung Galaxy S II and Galaxy Note user who likes to flash Custom ROM and probably test every custom ROM from XDA and other sources then I strongly suggest to hold your flashing galore for now.

There is a bug discovered that can brick your device. A bricked device means it is DEAD!
This bug is in cheap level and unrepairable if you trigger this. We can safely called this as the MMC_CAP_ERASE bug. It can be triggered by faulty chip that can’t  handle eMMC ERASE commands. This commands can be found on the latest Samsung Firmwares specifically Android 4.0 firmwares while Gingerbread is safe. Any Custom ROM and Kernel that is based from the original Samsung firmware can trigger this bug if the following are met.

1) A defective eMMC chip/fwrev that is unable to handle eMMC ERASE commands (command 38) properly. (I’ll provide a link with more detail on the nature of the bug later) – This condition is the one Chainfire’s new app checks for. By the way, M8G2FA fwrev 0×11 (seen on some Kindle Fires) is also suspected of being defective.
2) A recovery binary that attempts to erase partitions when formatting them. Most ICS recovery binaries fit in this category, most Gingerbread recoveries do not attempt to perform an erase operation so are safe. Note that also, an affected update-binary in a ZIP could be a cause of problems too. (e.g. flashing a firmware that has an ICS update-binary and formats the partition could cause a problem even with a “safe” recovery.) So a kernel can be repacked with a “safe” CWM (such as the most recent CF-Root releases) but it will still only be partially safe.
3) A kernel that allows attempts to erase a partition to actually happen. (as opposed to reporting “not supported” and doing nothing.) – A common way of rendering a kernel safe is to remove MMC_CAP_ERASE from the capability flags in drivers/mmc/mshci.c

  • All GT-I9100 ICS leaks and official releases are SAFE (MMC_CAP_ERASE not present)
  • All kernels based on GT-I9100 ICS Update4 sources are SAFE (MMC_CAP_ERASE not present) – This includes all CM9 nightlies for SGH-I777, GT-I9100, and GT-N7000, all GT-I9100 custom kernels I am aware of, and all SGH-I777 custom kernels I am aware of
  • All GT-N7000 ICS leaks are UNSAFE
  • All GT-N7000 ICS official kernels are UNSAFE
  • All kernels built from the GT-N7000 sources are UNSAFE unless the following condition is met:
  • MMC_CAP_ERASE is removed from the capability flags in drivers/mmc/host/mshci.c – check the kernel features for this. Franco.kernel R3 and later and all Speedmod ICS releases are SAFE due to this.
  • All SHW-M250S/K/L ICS kernels are suspected to be UNSAFE
  • All SHW-M250S/K/L ICS source releases as of this date are UNSAFE (SHW-M250L Update4 was the cause of the SiyahKernel 3.1rc6 incident. Other Siyah releases are SAFE)
  • All SPH-D710 ICS releases as of this date are UNSAFE – Rumor has it that the official OTA may have a fixed kernel, but it is recommended to consider this kernel UNSAFE until source code is released and can be reviewed.
  • The SGH-I777 UCLD3 leak is UNSAFE, as is most likely every other leak for that device. Fortunately nearly everyone is using I9100 Update4-based custom kernels.
  • SGH-I727 and SGH-T989 ICS leaks are UNSAFE – However as these two devices use separate recovery and operational kernels, if you have a Gingerbread recovery/kernel, you should be safe regardless of what you are booting for normal operation.

- XDA

gotbrickbug

GotBrickBug

By far CyanogenMOD based custom firmwares are safe to flash because they are based from stock Android source and their kernel is not based on Samsung’s. Since the ICS came out there are so many Samsung based custom ROM and there was no serious alarm reported at XDA forums until June 6th, but still it is a good precautionary measure not to flash any ROM until Samsung rolled out the fix for this as they admitted that indeed this bug is present and can be triggered by their firmware or kernel. Daniel Hillenbrand on Google+, Samsung has said that “Patches will be out in form of new official ROMs and also sourcecode releases after testing, which might take some time.”

For sure Custom ROM developers will soon update their works for our phone’s safety and hopefully they will remove any ROM that is based on Samsung Firmware and Kernel.

It is more techinical to elaborate more about this bug. I added some links for further reading. If you own one this mentioned device download the Chainfire GotBrickBug App and check if your device is susceptible to this bug.

Readings:

Got Brickbug
/data EMMC lockup/corruption bug
Thank you to Francis820 of Pinoy Android Forum for the Tip!

Filed in: Android News, Android Phone, Featured, Samsung Tags: , , , ,

You might like:

Rooting Samsung Android devices without Flashing an Insecure Kernel Rooting Samsung Android devices without Flashing an Insecure Kernel
CM10 X-TremE CM10 Beta ROM for Samsung Galaxy S2 I9100 – fully working CM10 X-TremE CM10 Beta ROM for Samsung Galaxy S2 I9100 – fully working
Samsung is testing Android 4.1 Jelly Bean on Galaxy S II and Galaxy S III will get the update soon Samsung is testing Android 4.1 Jelly Bean on Galaxy S II and Galaxy S III will get the update soon
CyanogenMod 9 RC 1 is out! supports 50 devices CyanogenMod 9 RC 1 is out! supports 50 devices
© 2012 PinoyDROID. All rights reserved. XHTML / CSS Valid.