ifconfig 的时候,发现WiFi没有设备, 查看信息,发现如下报错:
root@rk3566-buildroot:/# dmesg | grep mmc2
[ 2.621418] mmc_host mmc2: card is non-removable.
[ 2.845547] mmc_host mmc2: Bus speed (slot 0) = 375000Hz (slot req 400000Hz, actual 375000HZ div = 0)
[ 2.901308] mmc2: Skipping voltage switch
[ 4.101444] mmc2: error -110 whilst initialising SDIO card
[ 4.601551] mmc_host mmc2: Timeout sending command (cmd 0x202000 arg 0x0 status 0xa0000143)
[ 4.825625] mmc_host mmc2: Bus speed (slot 0) = 375000Hz (slot req 375000Hz, actual 375000HZ div = 0)
[ 4.886308] mmc2: Skipping voltage switch
[ 6.085442] mmc2: error -110 whilst initialising SDIO card
[ 6.585531] mmc_host mmc2: Timeout sending command (cmd 0x202000 arg 0x0 status 0xa0000143)
解决办法:
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 2046eff..6626752 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -646,7 +646,7 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr,
* try to init uhs card. sdio_read_cccr will take over this task
* to make sure which speed mode should work.
*/
- if (!powered_resume && (rocr & ocr & R4_18V_PRESENT)) {
+
+
+ ocr &= R4_18V_PRESENT;
#方法二
if (host->ops->card_busy && !host->ops->card_busy(host)) {
+#if 0
err = -EAGAIN;
goto power_cycle;
+#else
+ pr_warning("%s: Ignore checking low after cmd11\n",
+ mmc_hostname(host));
+#endif
}