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?
Solved! Go to Solution.
Turned out we just needed to reformat the card, completely rebuilding the patitions
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
Turned out we just needed to reformat the card, completely rebuilding the patitions
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
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)
Thank you for the info.
We are using LINUX - no idea if the LINUX device driver uses the correct clock frequencies.
Marcus
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)
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?