Tuesday, June 25, 2013

Samsung Galaxy SII Skyrocket Resurrection From Insane Chip Grip


In my previous articles I described the procedure of reviving my Skyrocket from death caused by severe water damage. Now it must be cleaner than when first came out of the factory.

However, the problems with Skyrocket don't stop popping up: at one point, after flashing custom recovery (CWM Touch 6.3.x, look for it at XDA-Devs, could be also TWRP 2.5), wiping it thoroughly, and flashing a recent official CM10.1 nightly my phone has developed a pattern of freezing up every 5 minutes.

Thorough Google searches didn't bring much remedies for Skyrocket, but the similar bad eMMC chip aka "insane" chip has severely hit some models of Samsung Galaxy SIII.

As of today, there's no simple remedy to get rid of contaminated caches, even this radical procedure by FDisk80 may fail to keep freezes from returning:

OK guys, I am now 28 hours and 23 minutes up time without any freezes.

I AM NOT RESPONSIBLE IF YOU DAMAGE YOUR DEVICE ANY MORE THEN IT IS. SO DO THIS AT YOUR OWN RISK!
Also I recommend you backup your EFS. Just to be safe.

This is what I did.

What you need:
Galaxy i9300 International.
Root
CWM Recovery
Android SDK
USB debugging enabled in Developer options


1. Uninstall all your large games and applications. This is so this process would go much faster and not freeze on you in the middle.
I recommend that you leave around 7 to 8GB of free space on your internal sdcard.

2. Connect your phone to your PC and install the drivers if you don't have them installed already.
Open My Computer and go to Phone (internal sdcard).
If you want to save your data copy everything from internal sdcard to a directory on your PC.

3. Right click Phone and format the internal sdcard.
If you want back your data you can now copy it back from your PC to your sdcard.
Do not copy the flowing directories:
Android/data/flipboard.app/files/cache/ (only if you have Flipboard installed.)
/Android/data/com.google.earth/ 
There could be thousands of files in those directories.
Disconnect your phone from the PC.

4. Install Android SDK.
Go to /android-sdk/platform-tools
Open CMD in this folder

5. Reboot in to CWM Recovery
Go to Advanced and unmount all your mounts.
While you are there. Format your cache. DO NOT FORMAT ANYTHING ELSE.
Also Delete dalvik cache.
Leave the phone in Recovery mode.
Connect your phone to your PC while in Recovery.
Let it install the ADB Driver.

6. Go to the CMD you opened and execute the following:
Code:
adb shell
Next execute the following commands: (If you get a prompt that asks to restore missing directories answer YES.)

This will force a filesystem check even if it's marked clean.
It will check for bad blocks and add them to the bad block list.
And will automatically repair without prompts. (you can remove "-p" if you don't want this to be automated.)
"-v" just shows you the results on screen.


EFS Check and Repair
Code:
e2fsck -f -c -v -p /dev/block/mmcblk0p3
CACHE Check and Repair
Code:
e2fsck -f -c -v -p /dev/block/mmcblk0p8
SYSTEM Check and Repair
Code:
e2fsck -f -c -v -p /dev/block/mmcblk0p9
DATA Check and Repair
Code:
e2fsck -f -c -v -p /dev/block/mmcblk0p12
If your DATA mount could not be unmounted in Recovery execute this code in ADB. Then execute DATA Check and Repair.
Code:
umount /dev/block/mmcblk0p12
That's it. Disconnect your phone, reboot it, let it boot and optimize the applications again.

I recommend that you also run fstrim on all your partitions before you start filling up your sdcard again. It will clean the free blocks on your internal storage and will increase it's performance.

I'm lazy. ODIN/Kies keep failing for me, to perform some extensive ADB commanding like shown above. There's a simpler routine to employ, it's called Dummy File Generator by nomunomu5678. There's no "official" manual/HOWTO text on use of the routine at least in English (it's a Japanese app), but the obvious guidelines are:

1. Create and delete dummy files 5...10 times (some report success after 20 such uses of DFG) in ROM and eMMC (internal SD card).

2. Try not to use your usual external SD card while cleaning your phone with this DFG. Otherwise you'll be compelled to use this routine for external SD card, too. You just never know where the stray defective cache writes can go ending in bad unreadable blocks.

3. For Skyrocket in service, flashing incompatible modem and turning off WiFi for the period of cleaning might be advised. You can always flash correct radio back when you satisfied with the result. OTA services are the bitch when you perform some house cleaning, and quoted 10 or even 20 repeated uses of DFG may be the result of OTA contamination of the process.

Talking about bad blocks, today's custom recoveries like CWM and TWRP are sadly missing an ordinary e2fsck routine, as the one described in above quote. And yes, addition of fstrim to recovery advanced tools may further improve performance of your Skyrocket. Or Samsung Galaxy SIII. Or Samsung Galaxy Note.

As a thank you, you can send me your freezing Samsung Galaxy SIII or freezing Samsung Galaxy Note any day. I accept also a water damaged Samsung Galaxy Note 2.

UPDATE: The remedy with dummy files was a temporary one: it worked for maybe 48 hours after 10 applications. So, I did another full wipe, replaced TWRP by touch CWM and restored to this CWM flashable stock (official AT&T firmware repackaged to be flashable by CWM) The problem of bad eMMC has gone and never returned in the last two weeks.

It might take the latest CM10.1 nightly (or stable) now, but I'm preparing this phone to cell, so the best I can do for it is supply also a flashable T-Mobile radio as an option.

No comments:

Post a Comment