[myTouch 3G, Magic General] hubh98:
Update on MT3G 1.2

Here is the update of my recent experiment and trial to save my Mytouch3G 1.2. Something that I now know, and some that I still don’t know. First I want to thank ezterry for all his kindness and patience to answer my questions.

The first symptom of the MT3G is when fastboot flash [partition] [partition.img], I got (Remote) signature verify fail, even with an engineering SPL); and when I rebooted the system and used the stock spl 1.33.0013G to reflash (T-Mobile_US_2.10.531.4), I got the "main version is older" error. The second symptom is that the phone is stuck at unzipping the system image when installing a T-Mobile_US_2.10.531.4.zip using eng spl 2010.

The first symptom is related to the corrupted misc partition. It can be corrected by

1. Using JTAG to soft boot the system using eng spl, and then

“fastboot boot recovery-RA-sapphire-v1.7.0G-cyan.img”

to enter the recovery mode.

2.	Using adb to install the correct misc partition.

Correct misc.img and erase_image for MT3G can be found here.

http://xdaforums.com/showthread.php?t=1121314

First use “dump_image misc miscorg.img” to save your old partition.

Then use “erase_image misc” to erase the old partition.

Then use “flash_image misc miscTG_32B.img” to install the new misc partition.

Then use “dump_image misc misc0.img” to verify that the correct misc partition is installed.

Reboot the system, and you should be able to get rid of the first symptom.

The second symptom is related to the bad block in the NAND flash. In my case, the chip is Samsung K524G2GACB OneNAND, which combines NAND flash and DDR SDRAM. When I used “erase_image system”, I got:

mtd: erase failure at 0x001e0000

mtd: erase failure at 0x01280000

mtd: erase failure at 0x01d80000

mtd: erase failure at 0x02960000

mtd: erase failure at 0x035c0000

mtd: erase failure at 0x03a40000

mtd: erase failure at 0x045a0000

mtd: erase failure at 0x05180000

mtd: erase failure at 0x05660000

This is why the phone is stuck at unzipping the system image. This can be overcame by using nandroid backup. I was able to get my hands on another MT3G 1.2, and using recovery-RA-sapphire-v1.7.0G-cyan to create one back up, then using that back up to flash back to my MT3G.

But my trouble is more serious now. After I used “fastboot flash nbh orange-1.58.73.2.nbh”, the radio became 2.22.19.26i. I am not able to flash the radio 2.22.23.02 anymore, because the phone is stuck at radio update, and I see “bad block 1131” from the serial cable. It looks like that there is a bad block in the radio region, and it prevents the radio update. I don’t know what should I do to correct it. So the currently the phone has eng spl 2009 + radio 2.22.10.26i+ stock 1.6 donut system. It can boot into the system. Everything works, wifi, head phone, except the phone function is dead.

So if you can successfully flash correct radio, nandroid can fully recover your MT3G 1.2. After all system partition is in yaffs2 file structure, and it is bad block tolerant.

What I don’t understand is that for NAND, bad blocks always exist, and new bad blocks will develope, but hboot cannot handle bad block well. It is interesting that I was able to softboot into 1.33.0013d, and flash the orange-1.58.73.2.nbh successfully. If these bad blocks did matter, it should not.

If anyone can figure out a way to help me flash the correct radio, it will be appreciated.