High power consumption after suspending

Norbert Roos norbert at nroos.de
Tue Dec 22 09:00:49 EST 2009


We are developing a mobile device here, using a 88W8686. We discovered a 
rather high power consumption during sleep with about 100mA more than 
when the driver is not loaded and the chip is powered down with pin PDn. 
We are using a kernel and if_spi.

I would like to reduce this current now, but so far i didn't find any 
information about what has to be actually done for putting the chip into 
a low power mode. From the source code i see that the suspend function 
sends a CMD_802_11_HOST_SLEEP_ACTIVATE, which is obviously succesful 
(didn't return an error, and the callback function has also been called) 
but does not power down the chip.

So my overall question is, what should be done to power down the chip? 
Should the HOST_SLEEP_ACTIVATE command be sufficient and we have a 
different problem here with our device?

Or should do it the deep sleep command? I have already looked at the 
deep sleep patch from september, but i don't understand why there has to 
be a timer and an interface to user space; in my understanding the 
driver gets somewhen told "And now suspend yourself!" and that should be 
all... Anyway, i tried also to send the CMD_802_11_DEEP_SLEEP following 
the HOST_SLEEP_ACTIVATE, resulting in a completely dead device.

Or is setting the PDn pin the only way to power down the chip? Or is 
there another way applicable?

And another question: Will an established WLAN connection survive the 
power-down and power-up, or does it have to be reconnected (which will 
probably terminate a TCP connection running over the WLAN connection)?

Any help is appreciated, and thanks in advance!


More information about the libertas-dev mailing list