SD card I/O error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SD card I/O error

Jump to solution
9,505 Views
mendelbullex
Contributor III

We have successfully used our SD card to output an audio file on our M54451EVb. WE started working on other things and eventually came back to it without changing the BSp installed. We no longer can use the SD card and get the following message:

 

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new SD card on SPI

mmcblk0: mmc0:0000 SD02G 1.83 GiB

mmcblk0: p1

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041 Buffer I/O error on device mmcblk0p1, logical block 3841904

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042 Buffer I/O error on device mmcblk0p1, logical block 3841905

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043 Buffer I/O error on device mmcblk0p1, logical block 3841906

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044 Buffer I/O error on device mmcblk0p1, logical block 3841907

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045 Buffer I/O error on device mmcblk0p1, logical block 3841908

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046 Buffer I/O error on device mmcblk0p1, logical block 3841909

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047 Buffer I/O error on device mmcblk0p1, logical block 3841910

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041 Buffer I/O error on device mmcblk0p1, logical block 3841904

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042 Buffer I/O error on device mmcblk0p1, logical block 3841905

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043 Buffer I/O error on device mmcblk0p1, logical block 3841906

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841977

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841978

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841979

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841980

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841981

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841982

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841983

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841984

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841985

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841986

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841987

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841988

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841989

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841990

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841991

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3841992

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842041

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842042

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842043

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842044

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842045

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842046

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 3842047

mmcblk0: retrying using single block read

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7673

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7674

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7675

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7676

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7677

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7678

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7679

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7680

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7681

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7682

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7683

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7684

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7685

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7686

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7687

mmcblk0: error -38 sending status comand<3>mmcblk0: error -38 sending read/write command, response 0x4, card status 0xff04

end_request: I/O error, dev mmcblk0, sector 7688

 

 

 

Does anyone know what the problem is?

Labels (1)
0 Kudos
1 Solution
2,553 Views
mendelbullex
Contributor III

Turned out we just needed to reformat the card, completely rebuilding the patitions

View solution in original post

0 Kudos
7 Replies
2,553 Views
mendelbullex
Contributor III

Ok, I take it back, the single block read after error is already implemented in the kerenel, therefore, I have no idea what is causing this problema dn would love any feedback that anyone can give me.

 

Thanks

0 Kudos
2,554 Views
mendelbullex
Contributor III

Turned out we just needed to reformat the card, completely rebuilding the patitions

0 Kudos
2,553 Views
IRTrans
Contributor III

Hi,

what speeds do you get when reading from the SD card?

 

We also tested it, however the speed was only about 100KByte/s which made it unusable for us.

 

An USB stick in comparison is rather fast with around 10MByte/s.

 

Marcus

0 Kudos
2,553 Views
TomE
Specialist II

That development board runs the SD cards from the DSPI.

 

The "lowest common demonimator" speed is 400kHz for "low speed SDIO cards". Other ones should be able to run at up to 25MHz. Check Wikipedia for details on the different speed ratings.

 

The software you're using may not be switching to a higher clock rate when it could be. It may also not be using the DMA as well as it might.

 

Tom (A Random Poster)

 

0 Kudos
2,553 Views
IRTrans
Contributor III

Thank you for the info.

 

We are using LINUX - no idea if the LINUX device driver uses the correct clock frequencies.

 

Marcus

0 Kudos
2,553 Views
TomE
Specialist II

Linux code is most likely to be "lowest common denominator" code.

 

There's a huge amount of code in the Linux driver stack but you're looking for the "low level platform setup" and the DSPI driver code. You don't have to understand all of it, just "pattern match" with the code that writes the relevant DSPI control registers and find what it is doing. Then try increasing the speed and see what happens.

 

Tom (A Random Poster)

 

 

 

0 Kudos
2,553 Views
mendelbullex
Contributor III

Ok, so it looks like the error is being caused by a multi block read on the final block when the card is first inserted. It looks like the solution is to do a single block read for the last block. Is there a patch out there that fixes this, or does anyone know how best to add this to the SD driver for linux kernel 2.6.29?

0 Kudos