文章目录
重启wifi概率性无法打开
发现问题
最近在调试XXX项目,建立在RK平台上的一个医疗随行包+智能音箱;在调试的过程中发现了一个bug:通过reboot命令重启的时候会概率性的出现WIFI打不开的情况;
问题分析
根据查看kernel log,发现在sdio去探测设备的过程中,sdio报错了,导致无法探测到设备,以致于驱动没有被加载;通过咨询RK那边,RK给出的建议是由于上电时序不对导致的sdio探测设备失败,通过查看原理图发现所需的两路电源都是由PMU直供电;通过示波器测量得到:wifi模块的两路供电1.8V和3.3V在重启的过程中都没有下电;
解决方法
准备给1.8V的供电在重启的时候直接下电,重启初始化的时候会自动给它上电;使模块重启的时候拥有上电时序。
结合原理图和dts文件,确定是由哪一路ldo供电的;以RK3368平台为例,在dts文件中,采用的是vcc18_lcd,ldo4供电,如下,如果需要单独控制某一路ldo,需要去除“gulator-always-on”这个属性;
vcc18_lcd: LDO_REG4 {
/*<lu_m> <20190611> modify for WLAN start */
/*gulator-always-on;*/
/