Mmcblk0: error -110 for de0-nano-soc


#1

I have followed linke to prepare new mmc card for de0-nano-soc board,

https://hackmd.io/IwQwLMDswEYgtAUzgNnmGBmAnPEkAOYeABjAGMURMwjsCCg=?view#3-Build-Linux-Filesystem

i have follow this procedure , Board is booted successfully but while booting i got the error continuously as follows,
I tried by changing the card, but result is same.

Code:
[ 41.363232] mmcblk0: retrying using single block read
[ 41.433210] mmcblk0: error -110 transferring data, sector 31115616, nr 80, cmd response 0x900, card status 0x0
[ 41.473124] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 400000Hz, actual 400000HZ div = 250)
[ 41.569775] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 25000000Hz, actual 25000000HZ div = 4)
[ 41.703196] mmcblk0: error -110 transferring data, sector 31115616, nr 80, cmd response 0x900, card status 0x0
[ 41.713245] mmcblk0: retrying using single block read
[ 41.813215] mmcblk0: error -110 transferring data, sector 31115704, nr 72, cmd response 0x900, card status 0x0
[ 41.853125] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 400000Hz, actual 400000HZ div = 250)
[ 41.949783] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 25000000Hz, actual 25000000HZ div = 4)
[ 42.083236] mmcblk0: error -110 transferring data, sector 31115704, nr 72, cmd response 0x900, card status 0x0

what can i do to clear this error?


#2

I faced such an issue before and it was an error in the .rbf/.dtb files.
check carefully you hardware addresses.


#3

As i am beginner to the soc concept , i haven’t change anything in default ghrd project provided with board . I have just build it.
So can you please explain me which dresses i have to check and where?
i have checked the Axi , pio’s addresses in Quartus code.


#4

try skipping the part where it enable framebuffer support
"enable Frame Reader framebuffer support"
this feature frequently causes issues


#5

as i am using de0-nano-soc , i have already skipped framebuffer support from kernel configuration. de0-nano-soc dose’t have any display device.
is there any other place to remove framebuffer support other than kernel configuration.


#6

Hi,
Got exactly the same error and error message, it was due to device tree.
don’t remember how I found the right stuff to put it, but the file I put in the git repo here (install git, then in a command line, do a “git clone git@github.com:wzFLE/de0-nano-SoC.git”) is the one working ok (just extracted from my own De0-Nano-SoC SD card).
Note: I didn’t succeed with Yocto overall, but was ok at the end with the instructions here (thanks a lot to Robert Nelson, it made my DE0 SoC board work):
https://www.eewiki.net/display/linuxonarm/DE0-Nano-SoC+Kit
Happy to provide more info if needed


#7

Thanks for the reply,

I have put device tree from your git repo , but the same error occurs again.

[ 274.300222] mmcblk0: error -110 transferring data, sector 6283425, nr 136, cmd response 0x900, card status 0x0
[ 274.580250] mmcblk0: error -110 transferring data, sector 6283425, nr 136, cmd response 0x900, card status 0x0
[ 274.740224] mmcblk0: error -110 transferring data, sector 6281857, nr 128, cmd response 0x900, card status 0x0
[ 275.020233] mmcblk0: error -110 transferring data, sector 6281857, nr 128, cmd response 0x900, card status 0x0
[ 275.220214] mmcblk0: error -110 transferring data, sector 6281985, nr 256, cmd response 0x900, card status 0x0
[ 275.500237] mmcblk0: error -110 transferring data, sector 6281985, nr 256, cmd response 0x900, card status 0x0

Did you successfully build everything from scratch, for De0-Nano-Soc board?
if yes can you please provide me the links for procedure and code?
I have tried different producers but cant succeeded for clean OS where i can get all peripherals access like spi,i2c, etc from user space.


#8

Bit of difficult to explain, I went through so many steps.
Overall, I started from eewiki (see link above) procedure.
In my case, I have two partitions on the memory card. One is the boot partition with fpga image to load at startup, the other is the Linux file partition coming from eewiki (easier than to recompile everything).
For the SD card, I remember there are some qsys params to check, see picture here for example, I didn’t have to change them when I checked, but maybe it comes from there.
Are you working with same model than me ? Eg one partition for boot, an other for Linux file system ?
In that case, it is important to use the right tool to compile the uboot script, and use the right syntax. I’ll put a backup of it in the repo.


#9

Sorry for being late,
1/ You may avoid enabling memory swapping in kernel configuration, it usually causes addressing issues.
2/ If the problem persists, please inspect carefully dtb&rbf files, there may be erroneous addresses or incompatibilities.
3/ as a last solution, try a flashing your SD_card with a prebuilt image, then update it with your files by copying to ext and FAT and use Linux’s “dd” utility to flash the preloader with option “seek=0”. If this succeeds so it’s a partitioning mistake.