Linux休眠wifi,linux & android平台WIFI休眠唤醒问题

本文详细记录了解决Linux和Android设备在WiFi休眠后唤醒导致的软件跑飞问题的过程。问题出现在 mmc_send_io_op_cond 函数返回失败,通过对 MMC_CMD_RETRIES 值的调整和模块电源管理的优化,成功解决了唤醒后WiFi异常的问题。此外,还分享了其他可能遇到的休眠唤醒问题及其解决方案,包括修改驱动、电源管理策略等。
摘要由CSDN通过智能技术生成

这两周很痛苦,因为自己负责的WIFI模块休眠唤醒有问题,导致每天晚上都睡不好觉,第二天没有精神上班。

不过所幸的是,这两天找到了方法解决了,现在想把经验和大家分享下。

把调试环境和硬件说一下:

硬件平台:三星S5PV210

kernel: 2.6.35

android:2.3.4

WIFI驱动使用SDIO接口,有独立的上电及复位接口。

先上问题:

在WIFI打开的情况下,在WIFI的设置界面,按“MENU”键,选择高级->Wi-Fi休眠策略->充电时永不休眠/永不休眠,然后按POWER键使机器进入深度休眠,唤醒后WIFI不正常,软件跑飞。

跑飞的LOG:

[   96.430142] DAPM sequencing finished, waiting 2ms

[   96.432989] DAPM sequencing finished, waiting 2ms

[   96.437106] smdkc110-rtc smdkc110-rtc: rtc disabled, re-enabling

[   96.437127] smdkc110-rtc smdkc110-rtc: rtc disabled, re-enabling

[   96.437143] smdkc110-rtc smdkc110-rtc: rtc disabled, re-enabling

[   96.437185] pm_op(): platform_pm_suspend+0x0/0x64 returns -16

[   96.437197] PM: Device alarm failed to suspend: error -16

[   96.437206] PM: Some devices failed to suspend

[   96.437541] PM: resume of devices complete after 0.321 msecs

[   96.486343] Restarting tasks ...

[   96.493614] done.

[   96.499432] suspend: exit suspend, ret = -16 (2012-06-12 08:24:09.352134502 UTC)

[   96.508291] DAPM sequencing finished, waiting 2ms

[   96.515022] DAPM sequencing finished, waiting 2ms

[   96.518930] dai_active 0, IISMOD 00000100, IISCON 8050c491

[   96.526857] Inside s5p_i2s_resume..@550

[   97.430432] dhdsdio_d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值