First Off I'm using Ubuntu 12.04 on a laptop with a built in card reader.

I have a sandisk 8Gig micro sd card that came with my HTC Desire HD phone.

Unfortunately I had mounted it to a windows computer at work via a usb cable attached to the phone and didn't "safely remove hardware". This was not the first time I didn't "safely remove" it from windows and each time I accidentally did so, I had to restart my phone before the sd card was accessible again.

It must have worn out something though because now my phone won't recognize the card at all and when I put it into my laptop's card reader I get the following errors in /var/log/syslog

Apr  4 21:17:59 jesse-laptop kernel: [12665.532025] mmc0: error -110 whilst initialising SD card
Apr  4 21:18:00 jesse-laptop kernel: [12667.192024] mmc0: error -110 whilst initialising SD card
Apr  4 21:18:02 jesse-laptop kernel: [12668.860020] mmc0: error -110 whilst initialising SD card
Apr  4 21:18:04 jesse-laptop kernel: [12670.532020] mmc0: error -110 whilst initialising SD card

I have googled this message but can't find anywhere that explains what it means. All of the posts regarding similar errors that I found are about getting card readers to work, but my card reader works perfectly when I insert a different sd card.

Apr  4 21:26:35 jesse-laptop kernel: [13182.192121] mmc0: new SDHC card at address b368
Apr  4 21:26:35 jesse-laptop kernel: [13182.195849] mmcblk0: mmc0:b368       29.8 GiB 
Apr  4 21:26:35 jesse-laptop kernel: [13182.197931]  mmcblk0: p1

So I know the problem is with the damaged card not the reader.

The problem seems to be with initializing the card because it doesn't appear under /dev/ anywhere I can find. When I insert a working SD card it appears as /dev/mmcblk0 & the partition is /dev/mmcblk0p1.

Needless to say I can't format the card or run any recovery software until I can get it to appear as a device.

Edit: - I have discovered by looking at my syslog relevant parts available here that when I first inserted my card the error was different to what it is now. I don't really understand any of these errors. I'm guessing the card was left in a state of anticipating a transfer (if that's possible) and it didn't receive it. Now it can't be initialized (whatever that actually means)

Any help regarding what this error means and/or how to recover data from my sd card is very much appreciated. Most of my important data was backed up but there was one note taking application (on my phone) that wasn't and I'd like very much to retrieve that data.

P.S. Both the working card and the damaged card are micro sd and I'm using a card adapter to insert them into my computer.

P.P.S. I've uploaded an annotated version of my /var/log/syslog with just the relevant parts here and also the full syslog here

  • I am not sure this belongs here?? But in windows you could try formatting the card, and using a software like "Recuva" to see if there is anything it is able to recover – TheXed Apr 4 '13 at 14:04
  • 2
    This Q/A site is about Ubuntu Linux not Windows. For Windows related problems ask on Super User. – Seth Apr 4 '13 at 15:01
  • 4
    Please reopen this question. I'm asking here because I only have Ubuntu I don't use any other OS and I need to understand what the error message that ubuntu gives me means. – Jesse the Wind Wanderer Apr 6 '13 at 2:20
  • 1
    The Windoez computer that broke my card was one at work and I can't play around with that. Even if I could I wouldn't know where to start because I've only had Ubuntu PCs since 2006. :-D – Jesse the Wind Wanderer Apr 6 '13 at 2:37
  • 1
    Voting to re-open. – Seth Apr 6 '13 at 3:22

It looks like the card has been damaged due to premature removal. The messages indicate either a controller failure in the card or bad blocks. The latter may be recoverable. Try this to recover:

  • Insert card
  • Unmount it with umount /dev/mmc0 (or with whatever the drive is mounted as)
  • fsck -v /dev/mmc0
  • mount it

If this doesn't help, you have to reformat with 'mkfs'. If the card is still unusable, the controller has probably been damaged in hardware beyond recovery.

| improve this answer | |
  • Thanks for your answer but unfortunately I can't find the card under /dev/ at all. I've edited the question to reflect this. I've also noticed that initially the errors were different. See the Edit: above :-) – Jesse the Wind Wanderer Apr 6 '13 at 3:20
  • @thecarpy you should post your own answer instead of editing this one. – MadMike Oct 31 '14 at 6:59
  • @JessetheWindWanderer yes, Linux can be rather depressing like this. Trying to follow an answer is nigh on impossible with all the distributions (and even versions within the distribution) doing things differently. – Snowcrash Jul 9 '19 at 15:10
  • in my case it was /dev/mmcblk0. MMC is SdCard. Also: My linux didn't auto-detect the filesystem. When using mount or fsck, i used mount -t ntfs ... @zx485 – Berry Tsakala Jan 11 at 8:51

Try using gparted to create a new partition table. Open gparted from the Dash or with gksu gparted in a terminal, then select your device, and go to Device -> New Partition Table.

| improve this answer | |
  • This doesn't recover the data - a new partition table will screw up the data itself and prevent access - it's basically a sure-fire way to lose data. – Thomas Ward Oct 8 '14 at 12:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.