A lot of errors with SD card reader Mikrotik RBM33G

Hi everyone!
I have a problem with sd card reader on Mikrotik RBM33G board.
After mounting card to some directory and writing to it I get these errors:

[  930.103801] msdc0 -> TUNE_BWRITE<PASS> DSPL<0> DATWRDLY<-1> MSDC_DAT_RDDLY0<0x10101010> <- msdc_tune_bwrite() : L<1546> PID<mmcqd/0><0x23f>
[  930.117678] msdc0 -> TUNE_BREAD<PASS> dcrc<0x0> DATRDDLY0/1<0x10101010><0x0> dsmpl<0x1> <- msdc_tune_bread() : L<1420> PID<mmcqd/0><0x23f>
[  933.262527] msdc0 -> cmd<13> resp<0xe00> <- msdc_check_busy() : L<1614> PID<mmcqd/0><0x23f>
[  933.271033] msdc0 -> cmd<13> resp<0x900> <- msdc_check_busy() : L<1614> PID<mmcqd/0><0x23f>
[  933.309746] msdc0 -> TUNE_BWRITE<FAIL> DSPL<0> DATWRDLY<-1> MSDC_DAT_RDDLY0<0x10101010> <- msdc_tune_bwrite() : L<1546> PID<mmcqd/0><0x23f>
[  933.329754] msdc0 -> TUNE_BWRITE<FAIL> DSPL<1> DATWRDLY<20> MSDC_DAT_RDDLY0<0x10101010> <- msdc_tune_bwrite() : L<1546> PID<mmcqd/0><0x23f>
[  933.359739] msdc0 -> TUNE_BWRITE<FAIL> DSPL<0> DATWRDLY<20> MSDC_DAT_RDDLY0<0x10101010> <- msdc_tune_bwrite() : L<1546> PID<mmcqd/0><0x23f>

And I can mount my card only once. After unmounting and mounting it again I get this message:

[ 1363.777010] EXT4-fs (mmcblk0): ext4_check_descriptors: Block bitmap for group 0 overlaps superblock
[ 1363.786076] EXT4-fs (mmcblk0): group descriptors corrupted!
mount: mounting /dev/mmcblk0 on /mnt failed: Invalid argument

It won't never mount until I format it again. Yes, I need the ext4 because I want to use it to as overlayfs.

Does anyone know what is the problem?

I don't know what the problem is, but it seems from your description that the image on the SD card is becoming corrupt. It may be your host or the card or both. I would try another card and not use your "best" card until you have it resolved.

Thank you for reply. I tried with another card and I got the same result. I guess kernel contains not useful MMC-driver

Bit late in the day I know but I was having exactly the same issues with some ZBT-WG3526 boxes which use the same SoC ( yet a Mikrotik RB750Gr3 with virtually the same hardware seemed to work. ) I eventually tracked it down to the clock frequency being set too high in the driver - at the top of target/linux/ramips/files-4.14/drivers/mmc/host/mtk-mmc/sd.c, there's a #if defined block which sets the frequency to 50000000 if the SoC is an mt7621 - in reality that seems to cause issues ( 48000000 used for all other SoCs seems to work. ) I'm assuming that's the same issue here.

1 Like

Thank you for reply. We solved this problem by replacing SD card by card with another vendor. Now it works fine. But thanks anyway, you wrote an interesting solution!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.