Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to copy data from my computer to an SD card. After a few hundred megs, I keep getting the following errors in dmesg:

[34542.836192] end_request: I/O error, dev mmcblk0, sector 855936
[34542.836284] FAT: unable to read inode block for updating (i_pos 13694981)
[34542.836306] MMC: killing requests for dead queue
[34542.836310] end_request: I/O error, dev mmcblk0, sector 9280
[34542.837035] FAT: unable to read inode block for updating (i_pos 148486)
[34542.837062] MMC: killing requests for dead queue
[34542.837066] end_request: I/O error, dev mmcblk0, sector 1
[34542.837074] FAT: bread failed in fat_clusters_flush
[34542.837085] MMC: killing requests for dead queue

These were all files I copied from a smaller SD card. I just want to transfer them to my new, larger card for my phone. I tried the same experiment with different files on a different machine and the card failed again. Reading data from the old card went fine. My systems are older and the new SD card is new (16GB Class 4). Could this be that my computers are too old? Is there a definitive test to verify if my SD card is bad?

share|improve this question
up vote 3 down vote accepted

As I had a similar situation with 1GB SD cards once. If you are having trouble reading/writing larger SD cards (like write errors or you cannot get your data back), make sure that your card reader (if it is an external one) supports that size of SD cards and/or if a firmware update is available for it to support larger cards. There are a few possible pitfalls when implementing support for larger cards and some older card readers just cannot read them. If you have another card of the same size that works fine, I'd say it is not your reader(s).

Tools like F3 or h2testw on Windows are good to test the card, but they cannot detect either if it is the card or the reader.

If your phone supports that size, you can check if the phone can export the device raw (as an USB storage device) when connecting it to your PC via an USB cable. Then run the test through your phone to rule out bad card readers.

share|improve this answer
The problem went away when I just used the phone as a USB storage device. I ran F3 and the above errors did not happen. – User1 Oct 19 '11 at 22:38

Assuming from the tagging that you're running some flavor of Linux, you might try F3. It's apparently an open-source implementation of H2testw, and it worked well for me when I had a similar problem (alas, the card WAS bad).

share|improve this answer
That is a very helpful tool! It crashed before F3 could finish writing to the card. It ended up that my reader was bad and the card was okay. – User1 Oct 19 '11 at 22:39

On the same subject, I know a lot of USB flash drives going around that are 512 MB or 1 GB devices, but they have swapped out a tiny circuit on the flash drive, so it thinks that it is actually a 8/16/32 GB flash.

When trying to put more than 512 MB/1 GB on it, they receive similar errors to what your card is experiencing. Just a thought that it could be a faulty card :)

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .