Hello, I have been making some observations on how WiFi behaves when the device is put to sleep. I am seeing that even though the WiFi power policy is set to "When Screen Turns off", the wifi driver will be active for another 15 minutes until the device is quiescent. I have seen two implementations of this policy so far:
1. On several HTC phones that I tested, and the phone I'm working on now, the driver will reserve a wakelock in the kernel which prevents suspend for 15 minutes. This wakelock seems to be activated when the device goes to sleep. 2. On the Motorola Droid, I see that the kernel goes into suspend, but for the first 15 minutes will frequently be woken up by SDIO interrupts, which I imagine is due to activity on the WLAN although I don't have visibility on the driver code. After 15 minutes these SDIO wakeups stop and the phone stays in suspend unless woken up for some other reason. During this 15 minute period, there is obviously a power penalty. For case #1, the current used is more or less consistent, a typical result will be around 40 mA. The Droid's mechanism seems more efficient; the results are more variable, I observe average power consumption in the range of 10-40 mA for any given trial, which I speculate is a function of how often the WiFi chip is bringing the CPU out of retention. Does anyone have any visibility on this policy decision? Specifically: 1. Why do we want to keep the WiFi active like this? Is it to support some push data scenarios? 2. Why 15 minutes? Why not 1 minute, or 1 hour? Best Regards, Andrew Boie -- unsubscribe: [email protected] website: http://groups.google.com/group/android-kernel
