Every once in a while we are starting our custom board and we are getting this panic (mmcblk0: error -84 transferring data...) reading the EMMC memory, any idea of what could be?
[ 2.091481] Waiting for root device /dev/mmcblk0p2...
[ 2.124622] mmc1: new DDR MMC card at address 0001
[ 2.130853] mmcblk0: mmc1:0001 SEM08G 7.39 GiB
[ 2.135739] mmcblk0boot0: mmc1:0001 SEM08G partition 1 1.00 MiB
[ 2.141926] mmcblk0boot1: mmc1:0001 SEM08G partition 2 1.00 MiB
[ 2.148078] mmcblk0rpmb: mmc1:0001 SEM08G partition 3 128 KiB
[ 2.160665] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[ 2.170093] mmcblk0: retrying using single block read
[ 2.175813] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[ 2.185118] blk_update_request: I/O error, dev mmcblk0, sector 0
[ 2.192554] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
[ 2.201820] blk_update_request: I/O error, dev mmcblk0, sector 1
[ 2.208486] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0
[ 2.217744] blk_update_request: I/O error, dev mmcblk0, sector 2
[ 2.224426] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0
[ 2.233683] blk_update_request: I/O error, dev mmcblk0, sector 3
[ 2.240334] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0
[ 2.249594] blk_update_request: I/O error, dev mmcblk0, sector 4
[ 2.256276] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0
[ 2.265533] blk_update_request: I/O error, dev mmcblk0, sector 5
[ 2.272198] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0
[ 2.281431] blk_update_request: I/O error, dev mmcblk0, sector 6
[ 2.288133] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0
[ 2.297398] blk_update_request: I/O error, dev mmcblk0, sector 7
[ 2.303607] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[ 2.311805] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[ 2.321205] mmcblk0: retrying using single block read
[ 2.326917] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[ 2.336166] blk_update_request: I/O error, dev mmcblk0, sector 0
[ 2.342823] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
[ 2.352071] blk_update_request: I/O error, dev mmcblk0, sector 1
[ 2.358705] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0
[ 2.368582] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0
[ 2.378457] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0
[ 2.388336] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0
[ 2.398203] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0
[ 2.408137] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0
[ 2.417390] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[ 2.424706] mmcblk0: unable to read partition table
[ 2.542241] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
[ 2.550165] Please append a correct "root=" boot option; here are the available partitions:
[ 2.558638] b300 7757824 mmcblk0 driver: mmcblk
[ 2.564084] b318 128 mmcblk0rpmb (driver?)
[ 2.569370] b310 1024 mmcblk0boot1 (driver?)
[ 2.574795] b308 1024 mmcblk0boot0 (driver?)
[ 2.580274] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
Hello Javier,
depending on the eMMC used and the kernel version this can also be a problem in the MMC driver stack. I remember we saw also these kind of errors in some situations on our i.MX base modules.
Background: there is a lot of fixing in handling timout and recover from failed commands in the mainline kernels. If you currently use an SDK kernel, could you try current mainline?
Regards
Markus
Hi Javier
in general such errors may be caused by signal
integrity (poor signal shape), it may be recommended to
tweak driver strength of i.MX6 pads with IOMUXC_SW_PAD_CTL_PAD
SPEED,DSE,SRE settings and recheck board layout
sect.3.5.8 High speed signal routing recommendations IMX6DQ6SDLHDG
for SD module interfaces. One can try to work with decreased operating frequency.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------