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)) {
+ /*if (!powered_resume && (rocr & ocr & R4_18V_PRESENT)) {
err = mmc_set_uhs_voltage(host, ocr_card);
if (err == -EAGAIN) {
mmc_sdio_resend_if_cond(host, card);
@@ -655,7 +655,10 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32
ocr,
} else if (err) {
ocr &= ~R4_18V_PRESENT;
}
- }
+ }*/
+
+ ocr &= R4_18V_PRESENT;

#方法二
if (host->ops->card_busy && !host->ops->card_busy(host)) {
+#if 0 /* SDIO 3.0 patch for Realtek 88x2BS */
err = -EAGAIN;
goto power_cycle;
+#else
+ pr_warning("%s: Ignore checking low after cmd11\n",
+ mmc_hostname(host));
+#endif
}
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐