非热插拔的SD卡在userDebug版本上可以识别,在user版本上偶尔不能识别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非热插拔的SD卡在userDebug版本上可以识别,在user版本上偶尔不能识别相关的知识,希望对你有一定的参考价值。

hi,
      非热插拔的SD卡在userDebug版本上可以识别,在user版本上偶尔不能识别,不能识别的原因是kernel log中根本就没有检测到卡。user版本不能识别的概率在50%左右。userdebug都可以识别。

     而user和userdebug的kernel在时间和速度上有些差别,sd卡驱动是否会有同步方面的bug?还是其他什么原因

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Created By: Bo Du (3/20/2017 7:58 PM)
Dear customer,



Add a delay after “mmc_power_up(host, host->ocr_avail);” in  mmc_rescan_try_freq(), and test again.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Created By: yu tan (3/20/2017 11:12 PM)
hi ,

   我的mmc_power_up()的参数和你给的不一样,如下:



--- a/drivers/mmc/core/core.c

+++ b/drivers/mmc/core/core.c

@@ -3260,6 +3260,8 @@ static int mmc_rescan_try_freq(struct mmc_host *host, unsigned freq)

#endif

        mmc_power_up(host);



+       udelay(500);

+

        /*

         * Some eMMCs (with VCCQ always on) may not be reset after power up, so

         * do a hardware reset if possible.





我使用500us这个数值合适吗?从实验结果看确实可以!请问原因是什么呢?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Created By: Bo Du (3/21/2017 12:11 AM)
Power supply of your device might not stable at the point of starting initializaion of SD after power up.

If 500us is not enough, you can try to delay 1ms or more, it depends your hardware.

以上是关于非热插拔的SD卡在userDebug版本上可以识别,在user版本上偶尔不能识别的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform下一个热插拔的MIS/MRP/ERP框架15(窗体基类场景1)

本人linux小菜,现遇到要在linux下对磁盘进行热插拔的问题,求高人指教!!!

usb 热插拔 linux

cpci热插拔信号

CPCI信号定义

linux存储知识