[Q] dead mmc -- ideas?

Search This thread

lexelby

Senior Member
Jan 6, 2012
94
81
I've been having a grand old time tinkering with my new TF701t. I unlocked the bootloader, tried a few ROMs, went back to stock, and I've been busily playing with it. Earlier this evening, it spontaneously shut down. I booted it back up and it shut down again after 5 minutes. I went into recovery and flashed the xposed disabler zip just in case xposed was to blame, but it shut down from recovery. Now it won't boot at all.

I can connect via ADB in recovery, and when I run dmesg, I see all sorts of nasty mmc0-related timeouts and errors. I can't even mount /system anymore. It's pretty clearly either an issue with the internal memory card or with the bus.

Does anyone have any idea how I can fix this or get it fixed? Of course, with an unlocked bootloader, I'm sure ASUS is going to give me all manner of grief and probably refuse to repair/replace what is clearly a hardware failure. Does anyone know if there's any way at all of replacing this kind of mmc card, or is it just part of the SoC? How screwed am I?


EDIT: Not screwed at all! See my post on page 2 for a fairly simple procedure to boot and run the tf701t (and quite probably many other devices) completely off of the SD card.
 
Last edited:

devbro

Senior Member
Feb 26, 2010
191
51
I've been having a grand old time tinkering with my new TF701t. I unlocked the bootloader, tried a few ROMs, went back to stock, and I've been busily playing with it. Earlier this evening, it spontaneously shut down. I booted it back up and it shut down again after 5 minutes. I went into recovery and flashed the xposed disabler zip just in case xposed was to blame, but it shut down from recovery. Now it won't boot at all.

I can connect via ADB in recovery, and when I run dmesg, I see all sorts of nasty mmc0-related timeouts and errors. I can't even mount /system anymore. It's pretty clearly either an issue with the internal memory card or with the bus.

Does anyone have any idea how I can fix this or get it fixed? Of course, with an unlocked bootloader, I'm sure ASUS is going to give me all manner of grief and probably refuse to repair/replace what is clearly a hardware failure. Does anyone know if there's any way at all of replacing this kind of mmc card, or is it just part of the SoC? How screwed am I?

See if you can mount /cache or /data. If you cannot then you have royally messed up your tablet. If you have replaced the recovery to something other than the original asus recovery then your best bet is to buy a logic board from ebay and replace it manually yourself.

I took mine to asus repair center and they said they will charge 200$ and 3 days to replace the logic board. I managed to buy the part for 70$ and do it myself. Just a side note, I bought and item that was AS-IS, so I am glad mine worked.
 

lexelby

Senior Member
Jan 6, 2012
94
81
See if you can mount /cache or /data. If you cannot then you have royally messed up your tablet. If you have replaced the recovery to something other than the original asus recovery then your best bet is to buy a logic board from ebay and replace it manually yourself.

I took mine to asus repair center and they said they will charge 200$ and 3 days to replace the logic board. I managed to buy the part for 70$ and do it myself. Just a side note, I bought and item that was AS-IS, so I am glad mine worked.

Thanks for the tips!

It's quite weird. I booted it into recovery, and via adb I was able to mount /data fine and poke around. I unmounted, then mounted /system, and that worked fine too. Unmounted, rebooted, no dice; shutdown during reboot. Now I've booted back into recovery, and it locked up even trying to get into recovery, and I can't mount /data or /system (all result in long pauses and kernel errors).

You say I messed up my tablet... what do you think caused this? And yes, I've got CWM on here, although I could just fastboot the original recovery on if that would help...

Is there any way to boot this thing off of the external SD?

What was wrong with yours that required replacing the logic board?
 

devbro

Senior Member
Feb 26, 2010
191
51
Thanks for the tips!

It's quite weird. I booted it into recovery, and via adb I was able to mount /data fine and poke around. I unmounted, then mounted /system, and that worked fine too. Unmounted, rebooted, no dice; shutdown during reboot. Now I've booted back into recovery, and it locked up even trying to get into recovery, and I can't mount /data or /system (all result in long pauses and kernel errors).

You say I messed up my tablet... what do you think caused this? And yes, I've got CWM on here, although I could just fastboot the original recovery on if that would help...

Is there any way to boot this thing off of the external SD?

What was wrong with yours that required replacing the logic board?

It sounds like your boot is corrupted. There may be a way for ASUS to recover it without replacing the board.

My problem was that I messed up my boot and I could no longer flash anything or even modify files on the filesystems.
 
  • Like
Reactions: dukedusty

lexelby

Senior Member
Jan 6, 2012
94
81
It sounds like your boot is corrupted. There may be a way for ASUS to recover it without replacing the board.

My problem was that I messed up my boot and I could no longer flash anything or even modify files on the filesystems.

Powering off completely seems to restore the device's ability to mount /system. I think touching a certain place on the emmc puts the controller in a bad state. I'm going to see if I can narrow down the bad blocks and partition around them or similar.

Barring that, where did you find a logic board for so cheap?
 

berndblb

Inactive Recognized Contributor
Nov 22, 2012
4,875
2,113
Los Angeles, CA
Powering off completely seems to restore the device's ability to mount /system. I think touching a certain place on the emmc puts the controller in a bad state. I'm going to see if I can narrow down the bad blocks and partition around them or similar.

Barring that, where did you find a logic board for so cheap?
If you can access it in adb, the first thing I would do is adb pull my data off the tablet. ;)
Then you could run fsck on your partitions in an adb shell.
Maybe just a simple format of/system and /data would clear corruption already....

I don't know the correct fsck command for this tablet top of my head, but you have to unmount the partition you want to run it on and then something similar to this (this is for the /data partition of the TF700):
Code:
 e2fsck -fvyD /dev/block/mmcblk0p8
You seem to know your way around, I'm sure you can find it.
Good luck!
 
Last edited:

lexelby

Senior Member
Jan 6, 2012
94
81
If you can access it in adb, the first thing I would is adb pull my data off the tablet. ;)
Then you could run fsck on your partitions in an adb shell.
Maybe just a simple format of/system and /data would clear corruption already....

I don't know the correct fsck command for this tablet top of my head, but you have to unmount the partition you want to run it on and then
Code:
fsck /dev/target_partition_name

You seem to know your way around, I'm sure you can find it.
Good luck!

Nah, it's not simple fs corruption -- first thing I checked, but thanks for the suggestion :) Been poking at it for a few hours, and it seems like the actual mmc bus/chip is screwed, not just a bad block. I think replacing the logic board is the way to go. Anyone want to let a tf701t with a dead screen go for cheap? ;)

And yeah, I know my way around a bit, but really only enough to sound like I know what I'm doing ;) I recognized the problem because I lost my sgh-i777 to a very similar issue, a failing internal sd. Seems like the Achilles' heel of android devices.
 

sbdags

Inactive Recognized Contributor
Jun 24, 2007
12,753
15,556
Kenilworth, Coventry
If you can access it in adb, the first thing I would do is adb pull my data off the tablet. ;)
Then you could run fsck on your partitions in an adb shell.
Maybe just a simple format of/system and /data would clear corruption already....

I don't know the correct fsck command for this tablet top of my head, but you have to unmount the partition you want to run it on and then something similar to this (this is for the /data partition of the TF700):
Code:
 e2fsck -fvyD /dev/block/mmcblk0p8
You seem to know your way around, I'm sure you can find it.
Good luck!

Nah, it's not simple fs corruption -- first thing I checked, but thanks for the suggestion :) Been poking at it for a few hours, and it seems like the actual mmc bus/chip is screwed, not just a bad block. I think replacing the logic board is the way to go. Anyone want to let a tf701t with a dead screen go for cheap? ;)

And yeah, I know my way around a bit, but really only enough to sound like I know what I'm doing ;) I recognized the problem because I lost my sgh-i777 to a very similar issue, a failing internal sd. Seems like the Achilles' heel of android devices.

I've owned close to a dozen Android devices. The SD still has to fail on me...
Maybe it's not the hardware, maybe it's - you [emoji33][emoji12]
Anyway, good luck with this. Oh, and devbro found the logic board on ebay..

Be careful mmcblk0p8 is /data on the TF700, on the TF701 it is mmcblk0p14

Code:
name  device                    mountpoint  fs    description
/dev/block/platform/sdhci-tegra.3/ADF   /dev/block/mmcblk0p7      /ADF        ext4  ?
/dev/block/platform/sdhci-tegra.3/APD   /dev/block/mmcblk0p6      /APD        ext4  ASUS Product Demo
/dev/block/platform/sdhci-tegra.3/APP   /dev/block/mmcblk0p4      /system     ext4  Android OS
/dev/block/platform/sdhci-tegra.3/CAC   /dev/block/mmcblk0p5      /cache      ext4  recovery logs
/dev/block/platform/sdhci-tegra.3/CRA   /dev/block/mmcblk0p11                       ?
/dev/block/platform/sdhci-tegra.3/DTB   /dev/block/mmcblk0p2                        ?
/dev/block/platform/sdhci-tegra.3/EKS   /dev/block/mmcblk0p13                       NVEKSP
/dev/block/platform/sdhci-tegra.3/LNX   /dev/block/mmcblk0p3                        Linux kernel (8388608 b)
/dev/block/platform/sdhci-tegra.3/MDA   /dev/block/mmcblk0p12                       ?
/dev/block/platform/sdhci-tegra.3/MSC   /dev/block/mmcblk0p8                        empty (misc, bootloader etc.)
/dev/block/platform/sdhci-tegra.3/PER   /dev/block/mmcblk0p10     /persist    ext4  config/calibration data
/dev/block/platform/sdhci-tegra.3/SOS   /dev/block/mmcblk0p1                        Recovery kernel (8388608 b)
/dev/block/platform/sdhci-tegra.3/UDA   /dev/block/mmcblk0p14     /data       ext4  Android user data
/dev/block/platform/sdhci-tegra.3/USP   /dev/block/mmcblk0p9                        Staging (blob)
 

lexelby

Senior Member
Jan 6, 2012
94
81
Be careful mmcblk0p8 is /data on the TF700, on the TF701 it is mmcblk0p14

Code:
name  device                    mountpoint  fs    description
/dev/block/platform/sdhci-tegra.3/ADF   /dev/block/mmcblk0p7      /ADF        ext4  ?
/dev/block/platform/sdhci-tegra.3/APD   /dev/block/mmcblk0p6      /APD        ext4  ASUS Product Demo
/dev/block/platform/sdhci-tegra.3/APP   /dev/block/mmcblk0p4      /system     ext4  Android OS
/dev/block/platform/sdhci-tegra.3/CAC   /dev/block/mmcblk0p5      /cache      ext4  recovery logs
/dev/block/platform/sdhci-tegra.3/CRA   /dev/block/mmcblk0p11                       ?
/dev/block/platform/sdhci-tegra.3/DTB   /dev/block/mmcblk0p2                        ?
/dev/block/platform/sdhci-tegra.3/EKS   /dev/block/mmcblk0p13                       NVEKSP
/dev/block/platform/sdhci-tegra.3/LNX   /dev/block/mmcblk0p3                        Linux kernel (8388608 b)
/dev/block/platform/sdhci-tegra.3/MDA   /dev/block/mmcblk0p12                       ?
/dev/block/platform/sdhci-tegra.3/MSC   /dev/block/mmcblk0p8                        empty (misc, bootloader etc.)
/dev/block/platform/sdhci-tegra.3/PER   /dev/block/mmcblk0p10     /persist    ext4  config/calibration data
/dev/block/platform/sdhci-tegra.3/SOS   /dev/block/mmcblk0p1                        Recovery kernel (8388608 b)
/dev/block/platform/sdhci-tegra.3/UDA   /dev/block/mmcblk0p14     /data       ext4  Android user data
/dev/block/platform/sdhci-tegra.3/USP   /dev/block/mmcblk0p9                        Staging (blob)

Thanks sdbags, nice catch. Btw, having developed ROMs for this tablet, do you think it's possible at all to boot android off of the external sd? It'd be helpful to know if I shouldn't even bother trying to figure out how.
 

sbdags

Inactive Recognized Contributor
Jun 24, 2007
12,753
15,556
Kenilworth, Coventry
Thanks sdbags, nice catch. Btw, having developed ROMs for this tablet, do you think it's possible at all to boot android off of the external sd? It'd be helpful to know if I shouldn't even bother trying to figure out how.

Yes I have it working :) But haven't released it maybe after CROMi-X 7 is finished I will release the flash files that allow you to run one ROM internally and one rom off the card as ROM2SD ;)

It's just an awful lot of work to maintain that doing it for the 300, 201 and 700 transformer crowd has kind of put me off doing for the 701. Also the internal mmc is faster than most fast sdcards so we won't see the benefits that especially the 700 users get.
 
  • Like
Reactions: masterhaides

lexelby

Senior Member
Jan 6, 2012
94
81
Yes I have it working :) But haven't released it maybe after CROMi-X 7 is finished I will release the flash files that allow you to run one ROM internally and one rom off the card as ROM2SD ;)

It's just an awful lot of work to maintain that doing it for the 300, 201 and 700 transformer crowd has kind of put me off doing for the 701. Also the internal mmc is faster than most fast sdcards so we won't see the benefits that especially the 700 users get.

Dude, that totally just made my day, knowing that this is possible :D Any way you'd be willing to share your development version with me? I'd be your best beta tester every -- hell, I'd be maintainer for the rom2sd part for tf701t if you'd let me. I'm rather motivated at this point, and I have years of professional Linux experience... probably about time I took up android ROM development :)
 

sbdags

Inactive Recognized Contributor
Jun 24, 2007
12,753
15,556
Kenilworth, Coventry
Dude, that totally just made my day, knowing that this is possible :D Any way you'd be willing to share your development version with me? I'd be your best beta tester every -- hell, I'd be maintainer for the rom2sd part for tf701t if you'd let me. I'm rather motivated at this point, and I have years of professional Linux experience... probably about time I took up android ROM development :)

Hmmm Ok let me sort out the main CROMi-X release and I might take you up on that. I warn you that it is rather a lot to get ROM2SD working though! :D But if you are up for it ....
 

lexelby

Senior Member
Jan 6, 2012
94
81
Hmmm Ok let me sort out the main CROMi-X release and I might take you up on that. I warn you that it is rather a lot to get ROM2SD working though! :D But if you are up for it ....

I am totally up for it -- it's that or shelve my tablet until I can afford a logic board :) I'll be trying to port a ROM to sd from scratch anyway, so having your ROM to start from would be a huge leg up.
 

sbdags

Inactive Recognized Contributor
Jun 24, 2007
12,753
15,556
Kenilworth, Coventry
I am totally up for it -- it's that or shelve my tablet until I can afford a logic board :) I'll be trying to port a ROM to sd from scratch anyway, so having your ROM to start from would be a huge leg up.

If your internal sd is completely dead then rom2sd won't work I'm afraid - it relies on the kernel being able to at least read some files from internal to allow it to switch to external....
 

lexelby

Senior Member
Jan 6, 2012
94
81
If your internal sd is completely dead then rom2sd won't work I'm afraid - it relies on the kernel being able to at least read some files from internal to allow it to switch to external....

That's the thing, it works enough to get it into recovery. My plan was to try to kexec from recovery into a modified ROM.
 

lexelby

Senior Member
Jan 6, 2012
94
81
Victory!

I took sdbags's stock zip (4.3) and extracted it on my computer. I used unmkbootimg to extract the initramfs.gz and kernel.gz from the boot.img in the ROM. I unzipped the initramfs and un-cpio'd it, then modified macallan.fstab to refer to /dev/block/mmcblk1p1 for /data, p2 for /system, and p3 for /cache. I also modified init.macallan.rc to avoid having it try to make filesystems on the EMMC -- I want it not to try touching the EMMC at all.

Next I rebuilt the initramfs.gz. I bought a good quality class 10 microsd and partitioned it on my computer with 3 primary partitions, one for /data, one for /system, and one for /cache (about 2GB and 1GB for /system and /cache). I made ext4 filesystems on all 3 partitions, mounted p2, and copied the rom over and installed it by hand using the updater-script as a guide. Then I unmounted and popped the SD card into my TF701t.

To boot it, I put my tablet into fastboot mode. I booted the kernel and ramdisk using 'fastboot boot' -- no need for kexec from recovery. I can do this without any reliance whatsoever on the internal EMMC. It took awhile to boot up, but it booted first try. The app drawer was a bit slow to come up, but I'm pretty happy I get to use my tablet at all! This whole process turned out to be MUCH easier than I expected it would be, and I'm quite confident I could do this to boot any ROM I wanted. I only use stock because of driver issues with my bluetooth keyboard.

Still willing to try my hand at maintaining cromi's ROM2SD branch though :)

Thanks everyone for all of your help!
 

lexelby

Senior Member
Jan 6, 2012
94
81
Now that it's finished booting, it's really not sluggish at all. Hooray for class 10 sd cards.

Just to make this whole thing even a bit easier, I grabbed an arm-compiled version of the fastboot tool (search for fastbootarm) and put the kernel and ramdisk on my phone, so I can jump-start the tablet using my phone (via USB OTG cable) even when I'm not near my computer.
 

DrRuckingFetard

Senior Member
Sep 5, 2013
124
14
Sydney
I had a similar issue with my Nexus 5 and 7 (2013) where I could no longer mount or read the /data or /system partitions but I could still boot into recovery and thought I scored two brand new drink coasters, but then came across this thread where it repaired corrupted partitions and I could now read and mount all partitions normally.

Being a Transformer tablet and not a Nexus device i'm assuming one or two of the adb commands might be a bit different for the disk partitions like someone mentioned in a previous post though..?

Might not be useful to you but thought I'd post it here anyway incase it might help somehow :cowboy:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 24
    Victory!

    I took sdbags's stock zip (4.3) and extracted it on my computer. I used unmkbootimg to extract the initramfs.gz and kernel.gz from the boot.img in the ROM. I unzipped the initramfs and un-cpio'd it, then modified macallan.fstab to refer to /dev/block/mmcblk1p1 for /data, p2 for /system, and p3 for /cache. I also modified init.macallan.rc to avoid having it try to make filesystems on the EMMC -- I want it not to try touching the EMMC at all.

    Next I rebuilt the initramfs.gz. I bought a good quality class 10 microsd and partitioned it on my computer with 3 primary partitions, one for /data, one for /system, and one for /cache (about 2GB and 1GB for /system and /cache). I made ext4 filesystems on all 3 partitions, mounted p2, and copied the rom over and installed it by hand using the updater-script as a guide. Then I unmounted and popped the SD card into my TF701t.

    To boot it, I put my tablet into fastboot mode. I booted the kernel and ramdisk using 'fastboot boot' -- no need for kexec from recovery. I can do this without any reliance whatsoever on the internal EMMC. It took awhile to boot up, but it booted first try. The app drawer was a bit slow to come up, but I'm pretty happy I get to use my tablet at all! This whole process turned out to be MUCH easier than I expected it would be, and I'm quite confident I could do this to boot any ROM I wanted. I only use stock because of driver issues with my bluetooth keyboard.

    Still willing to try my hand at maintaining cromi's ROM2SD branch though :)

    Thanks everyone for all of your help!
    6
    I've been having a grand old time tinkering with my new TF701t. I unlocked the bootloader, tried a few ROMs, went back to stock, and I've been busily playing with it. Earlier this evening, it spontaneously shut down. I booted it back up and it shut down again after 5 minutes. I went into recovery and flashed the xposed disabler zip just in case xposed was to blame, but it shut down from recovery. Now it won't boot at all.

    I can connect via ADB in recovery, and when I run dmesg, I see all sorts of nasty mmc0-related timeouts and errors. I can't even mount /system anymore. It's pretty clearly either an issue with the internal memory card or with the bus.

    Does anyone have any idea how I can fix this or get it fixed? Of course, with an unlocked bootloader, I'm sure ASUS is going to give me all manner of grief and probably refuse to repair/replace what is clearly a hardware failure. Does anyone know if there's any way at all of replacing this kind of mmc card, or is it just part of the SoC? How screwed am I?


    EDIT: Not screwed at all! See my post on page 2 for a fairly simple procedure to boot and run the tf701t (and quite probably many other devices) completely off of the SD card.
    2
    I've been having a grand old time tinkering with my new TF701t. I unlocked the bootloader, tried a few ROMs, went back to stock, and I've been busily playing with it. Earlier this evening, it spontaneously shut down. I booted it back up and it shut down again after 5 minutes. I went into recovery and flashed the xposed disabler zip just in case xposed was to blame, but it shut down from recovery. Now it won't boot at all.

    I can connect via ADB in recovery, and when I run dmesg, I see all sorts of nasty mmc0-related timeouts and errors. I can't even mount /system anymore. It's pretty clearly either an issue with the internal memory card or with the bus.

    Does anyone have any idea how I can fix this or get it fixed? Of course, with an unlocked bootloader, I'm sure ASUS is going to give me all manner of grief and probably refuse to repair/replace what is clearly a hardware failure. Does anyone know if there's any way at all of replacing this kind of mmc card, or is it just part of the SoC? How screwed am I?

    See if you can mount /cache or /data. If you cannot then you have royally messed up your tablet. If you have replaced the recovery to something other than the original asus recovery then your best bet is to buy a logic board from ebay and replace it manually yourself.

    I took mine to asus repair center and they said they will charge 200$ and 3 days to replace the logic board. I managed to buy the part for 70$ and do it myself. Just a side note, I bought and item that was AS-IS, so I am glad mine worked.
    2
    (wherein I learn how to multiquote... sorry for the email notification spam!)

    With this breakthrough, what all partitions are possible to be mounted from the SdCard?

    Anything, really. Any device that the kernel can recognize as something mountable. I think you could even make ext4fs images in files on a FAT32-formatted SD card, if you really wanted... depends on whether the fstab for your rom allows mount options though, I suppose. I could, for example, make 5 sets of /system and /data on a really huge SD card and switch between 5 different ROMs, each of which I modded to boot off of its own pair of partitions.

    Coming from a Galaxy device I'm not very familiar with fastboot.
    Where did you store the boot.img (kernel + ramdisk)? Where does fastboot itself boot from?


    I believe fastboot is built into the chips in the device itself -- think of it as analogous to the BIOS on a traditional PC. You can get into the BIOS without any disks connected, and it can try to boot an OS. Fastboot is a low-level interface to let you write the recovery or boot partitions, or even boot an image on the fly (which is what I'm doing).

    A boot.img is just a packed up ramdisk and kernel, the two pieces necessary to boot a Linux system. When I do `"fastboot boot kernel.gz initramfs.gz", the fastboot command on my computer transfers the ramdisk and kernel to the device, which stores them directly in memory and then executes the kernel. The internal SD is never involved in that process.


    Ooh, check it out, this thread made xda's front page!

    An update: turns out that running fastbootarm on my phone doesn't work -- no idea why, but it can't see the tf701t. So that left me back with a "tethered" solution (what is this, a jailbroken iphone?!). I built a boot.img out of my modified ramdisk and kernel (using mkbootimg from the android SDK) and flashed that to the tf701t's internal SD using fastboot on my computer. That worked the one time I've tried booting off of it, so provided my internal SD doesn't completely fail, I can boot without my computer. If it does fail, I'll be back to tethered -- but at least I don't have a coaster :)

    My class 10 card is fairly fast, but the system does get hung up on IO fairly often (thanks, Cool Tool!). I'm thinking about one of those sandisk extreme pro cards rated at like 80MB/s. Still, the tablet is far more usable now than when it was a paperweight :)
    2
    Now that it's finished booting, it's really not sluggish at all. Hooray for class 10 sd cards.

    Just to make this whole thing even a bit easier, I grabbed an arm-compiled version of the fastboot tool (search for fastbootarm) and put the kernel and ramdisk on my phone, so I can jump-start the tablet using my phone (via USB OTG cable) even when I'm not near my computer.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone