Help with ramips microSD support

Hello,

I'm developing support for Strong 1200 (MediaTek MT7621A) and noticed that microSD card reader doesn't work. I build the image with the proper drivers (kmod-sdhci-mt7620) and disk stuff (filesystems, ...), but when I insert the microSD, i get:

[  173.767665] mtk-sd 1e130000.sdhci: no support for card's volts
[  173.779318] mmc0: error -22 whilst initialising SDIO card
[  173.791941] mtk-sd 1e130000.sdhci: no support for card's volts
[  173.803598] mmc0: error -22 whilst initialising MMC card
[  173.877989] mtk-sd 1e130000.sdhci: no support for card's volts
[  173.889610] mmc0: error -22 whilst initialising SDIO card
[  173.902535] mtk-sd 1e130000.sdhci: card claims to support voltages below defined range
[  173.918337] mtk-sd 1e130000.sdhci: no support for card's volts
[  173.929975] mmc0: error -22 whilst initialising MMC card
[  173.998351] mtk-sd 1e130000.sdhci: no support for card's volts
[  174.009972] mmc0: error -22 whilst initialising SDIO card
[  174.023202] mtk-sd 1e130000.sdhci: no support for card's volts
[  174.034820] mmc0: error -22 whilst initialising MMC card

I've also tried to update the OpenWrt kernel driver (ramips/files-4.14/drivers/mmc/host/mtk-mmc) with the last Linux stagging (4.19-rc8), but no luck.

The OEM firmware use Linux 2.6.36 and works correctly.

Anyone have the same issue or is a Strong 1200 related issue?

I've tried with another microSD and works perfectly:

[  438.342099] mmc0: new high speed SDHC card at address 0002
[  438.354238] mmcblk0: mmc0:0002 00000 7.42 GiB 
[  438.365578]  mmcblk0: p1 p2

Both microSD works from my host computer, so the option of dead microSD is discarded.

Anyone know how can I get more deep info of both microSD?

The both microSD are (red is who fails):

2018-10-18_16-26

Can you post the device tree files for that device?

Sure!

Hello,

I also have an issue with microSD card on Strong 1200. When I insert it into the router, I get the following:

[   54.209639] msdc0 -> XXX sdc_busy timeout: before CMD<55> <- msdc_command_start() : L<860> PID<kworker/0:1><0x39>
[   54.230941] mmc0: error -145 whilst initialising SD card
[   54.449687] msdc0 -> XXX sdc_busy timeout: before CMD<55> <- msdc_command_start() : L<860> PID<kworker/0:1><0x39>
[   54.470245] mmc0: error -145 whilst initialising SD card
[   54.689639] msdc0 -> XXX sdc_busy timeout: before CMD<55> <- msdc_command_start() : L<860> PID<kworker/0:1><0x39>
[   54.710159] mmc0: error -145 whilst initialising SD card

By the way, the microSD card I got the above error with is also 16 GB. I will try some other microSD cards. Just posting this so that it will be known that this (or similar) problem still persists.

I am using prebuilt OpenWRT firmware I downloaded from https://openwrt.org/toh/mtc/mtc_wr1201. To be more precise, here is more information about the build I use:

root@OpenWrt:~# cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='19.07.7'
DISTRIB_REVISION='r11306-c4a6851c72'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt 19.07.7 r11306-c4a6851c72'
DISTRIB_TAINTS=''
root@OpenWrt:~# uname -a
Linux OpenWrt 4.14.221 #0 SMP Mon Feb 15 15:22:37 2021 mips GNU/Linux