Dave Heavy Industries » xda developers http://www.daveheavyindustries.com Dave Heavy Industries - blog Mon, 12 Aug 2013 00:24:10 +0000 en-US hourly 1 http://wordpress.org/?v=3.6 HTC Desire S Flashing problems… M4G2DE http://www.daveheavyindustries.com/2011/09/13/htc-desire-s-flashing-problems-m4g2de/ http://www.daveheavyindustries.com/2011/09/13/htc-desire-s-flashing-problems-m4g2de/#comments Mon, 12 Sep 2011 23:01:19 +0000 admin http://wp.daveheavyindustries.com/?p=207 After a huge amount of effort, lots of "status 1" lots of "can't open /cache/recovery/log " ... I stumbled across this site - http://forum.xda-developers.com/showthread.php?t=1150917

My heart sank. I feared for the worst. I had infact ejected and re-inserted the battery in close succession when it had frozen earlier that day.

I installed the HTC adb and fastboot drivers, android SDK and platform tools, booted the clockworkmod bootloader (yes, was already s-off and gingerbroken), and started throwing some adb commands at it from here - http://forum.xda-developers.com/showpost.php?p=16135893&postcount=27

adb shell cat /sys/devices/platform/msm_sdcc.2/mmc_host/mmc0/mmc0:0001/name
M4G2DE

... bugger, he thought.

adb shell  dmesg | grep mmc0

lots of i/o errors, but most importantly...  mmc0: Deferred resume failed

... bugger, bugger, he thought. the phone gods were angry with me.

Just as the xda-developer prophecy fortold, your mmc will stop working if its a M4G2DE and you don't treat the battery nicely.

My next thought was, restore the original boot and recovery and try and plead my case for a warranty... I doubted they'll be kind to me if they saw clockworkmod on boot.

so, I pulled apart the HTC telstra RUU and got the boot.img and recovery.img ready for a fastboot (more drivers required.. agh.) and was presented with

C:\android\tools>fastboot.exe flash boot ..\boot_signed.img
      sending 'boot' (2836 KB)... OKAY [  0.495s]
                writing 'boot'... FAILED (remote: not allowed)

... That's a bit rude, same thing for recovery.img.

As a last stich attempt, I booted back into fastboot, and ran the telstra RUU again. as i couldn't use adb to see the kmsg, I assumed it was going poorly... until... it booted!

failing to believe what I was seeing.... I ran the same command given to me to check the mmc... and..

<3>[    8.589385] mmc0: No card detect facilities available
<6>[    8.590026] mmc0: Qualcomm MSM SDCC at 0x00000000a0500000 irq 98,0 dma 7
<6>[    8.590148] mmc0: Platform slot type: MMC
<6>[    8.590393] mmc0: 4 bit data mode disabled
<6>[    8.590515] mmc0: 8 bit data mode enabled
<6>[    8.590637] mmc0: MMC clock 144000 -> 50000000 Hz, PCLK 96000000 Hz
<6>[    8.590881] mmc0: Slot eject status = 0
<6>[    8.591003] mmc0: Power save feature enable = 1
<6>[    8.591247] mmc0: DM non-cached buffer at ffa0f000, dma_addr 0x0bb01000
<6>[    8.591369] mmc0: DM cmd busaddr 0x0bb01000, cmdptr busaddr 0x0bb01300
<6>[    8.745025] mmc0: new high speed MMC card at address 0001
<6>[    8.746337] mmcblk0: mmc0:0001 M4G2DE 2.10 GiB

SUCCESS! Potentially good news for anyone mid-heart-attack, your phone might not (but still could be) screwed.

I have since re gingerbroken, installed Cyanogen, and am back up and running with a working phone.

------

Update 20/9 - phone has been operational for about a week now, all is good.

To follow up a few questions - logs did indicate "failed to get card ready" , "deferred resume failed", several DMA errors, several (thousands of lines) of i/o errors. I guess something I've taken from all of this is that its possible that the current tests accepted on XDA to determine a hardware fault are not conclusive. I was ready to prepare my phone for a warranty (if I was lucky) repair, and installing the stock RUU fixed the issue. I have no doubt that there are people with a physically damaged emmc out there, but I was not one of them, and I think that means I'm not alone - so don't give up yet, try and flash the RUU from fastboot.

I was asked on XDA to prepare a filesystem and format it, and confirm there were no errors - there were not.

~ # mke2fs -j /dev/block/mmcblk0p27
mke2fs -j /dev/block/mmcblk0p27
mke2fs 1.40.8 (13-Mar-2008)
/dev/block/mmcblk0p27 is apparently in use by the system; will not make a filesy
stem here!
~ # umount /cache
umount /cache
~ # mke2fs -j /dev/block/mmcblk0p27
mke2fs -j /dev/block/mmcblk0p27
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
76912 inodes, 307196 blocks
15359 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
38 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

~ # e2fsck /dev/block/mmcblk0p27
e2fsck /dev/block/mmcblk0p27
e2fsck 1.41.6 (30-May-2009)
/dev/block/mmcblk0p27: clean, 11/76912 files, 20003/307196 blocks
~ # e2fsck /dev/block/mmcblk0p27 -f
e2fsck /dev/block/mmcblk0p27 -f
e2fsck 1.41.6 (30-May-2009)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/block/mmcblk0p27: 11/76912 files (0.0% non-contiguous), 20003/307196 blocks

]]>
http://www.daveheavyindustries.com/2011/09/13/htc-desire-s-flashing-problems-m4g2de/feed/ 11