I have noticed troubles with my microSD card in my Android phone and when I tried to insert it into my Linux laptop, I get the following error in dmesg:

[  247.588279] mmc0: error -123 whilst initialising SD card
[  247.591314] sdhci-pci 0000:0d:00.1: Will use DMA mode even though HW doesn't fully claim to support it.
[  247.648629] sdhci-pci 0000:0d:00.1: Will use DMA mode even though HW doesn't fully claim to support it.
[  248.903044] mmc0: card never left busy state
[  248.903051] mmc0: error -110 whilst initialising SD card
[  248.907007] sdhci-pci 0000:0d:00.1: Will use DMA mode even though HW doesn't fully claim to support it.

Does this mean my microSD card is broken? How could it suddenly happen in my phone? Is there no way to recover eve partially the data on it?

share|improve this question
    
Had you been able to mount the card in Linux before this issue? If the card is formatted exFAT, then you might need to install exfat-utils and exfat-fuse. [If the format is not the issue, then you might need some forensic tools to salvage anything from the card.] – DrMoishe Pippik May 25 '15 at 0:15
3  
@DrMoishePippik, the errors are occurring at a level far below the filesystem level. Lack of exFAT support wouldn't show up until the user attempted to mount the filesystem, and would involve a message along the lines of "unsupported filesystem or corrupted superblock". – Mark Jun 15 '15 at 21:36
up vote 6 down vote accepted

Your SD card has died. This happens over time, anything like a drop or a lot of use can cause a SD card to die. I have had the same thing happen to me on a 16GB micro SD card used with my Raspberry Pi 2. It just stopped working one day.

The only way you could possibly get the data off the SD card at this point is to take it to a professional in the Data Recovery Field.

share|improve this answer

I see exactly the same error in my Lenovo Laptop while trying to mount a SD card, and I must say that SD cards support on the Linux desktop is unfortunately suboptimal. The same card works perfectly fine in my Android phone and in my camera!

As a workaround, to make it work in the desktop, the only solution I have found is leaving it connected, and waiting for a few minutes until the error stops and the device appears.

share|improve this answer
    
This is more of a comment than an answer. – alljamin Oct 25 '16 at 4:11
    
@alljamin I don't agree. The accepted answer suggests the user should throw the SD card away. Also it actually answers that it is an existing bug, and that workarounds do exist. – Teresa e Junior Oct 25 '16 at 4:22

Try connecting the SD card using a USB memory card reader.

This worked in my case, a Lenovo laptop running Ubuntu 16.04, and the SD card is definitely recognized in other operating systems.

Instead of getting the error messages when running dmesg

[  882.603991] mmc0: card never left busy state
[  882.604001] mmc0: error -110 whilst initialising SD card

I get the success messages

[ 1724.883050] sd 6:0:0:2: [sdd] 250607616 512-byte logical blocks: (128 GB/119 GiB)
[ 1724.888318]  sdd: sdd1

I'm not sure if reading speed is as fast as connecting the SD directly to the laptop but I'm glad the SD is at least recognized.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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