Why WoW wakes Android only once? Android is connected to a WiFi network
The devices sleeps:

&lt;6&gt;[ 7917.653293] PM: Syncing filesystems ... done.
&lt;4&gt;[ 7917.660344] Freezing user space processes ... (elapsed 0.02 seconds) done.
&lt;4&gt;[ 7917.681675] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
&lt;4&gt;[ 7917.683022] Suspending console(s) (use no_console_suspend to debug)
...
&lt;4&gt;[ 7917.701339] Suspend for wow mode
...
&lt;4&gt;[ 7917.855690] Wow enabled. Not allow to send tx data
&lt;4&gt;[ 7917.957487] Setup WoW suc&lt;6&gt;[ 7917.653293] PM: Syncing filesystems ... done.
&lt;4&gt;[ 7917.660344] Freezing user space processes ... (elapsed 0.02 seconds) done.
&lt;4&gt;[ 7917.681675] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
&lt;4&gt;[ 7917.683022] Suspending console(s) (use no_console_suspend to debug)
...
&lt;4&gt;[ 7917.701339] Suspend for wow mode
...
&lt;4&gt;[ 7917.855690] Wow enabled. Not allow to send tx data
&lt;4&gt;[ 7917.957487] Setup WoW successfully
...cessfully
...

I ping it from remote:

&lt;4&gt;[ 7917.958113] ar6000_pm_resume: enter status 3
&lt;4&gt;[ 7917.959225] android_ar6k_check_wow_status: WoW resume from irq thread status 0
&lt;4&gt;[ 7917.959377] Resume WoW successfully
&lt;4&gt;[ 7917.960300] WoW does not invoked. skip resume&lt;6&gt;ES209RA Audio Jack Driver : es209ra_audio_jack_resume START
...
&lt;4&gt;[ 7918.144031] Restarting tasks ... done.

The device wakes up (without turning screen on) and respond on network.
But then (after about 2-3 seconds) it suspends again:

&lt;6&gt;[ 7918.240298] suspend: exit suspend, ret = 0 (2012-01-15 11:48:35.684507919 UTC)
&lt;4&gt;[ 7918.967615] save exit: isCheckpointed 1
&lt;6&gt;[ 7918.972936] PM: Syncing filesystems ... done.

Now it does not resume on wireless.


When I press some hardware button, the phone resumes, sleeps and I have one more opportunity to resume it from wifi. But only once.

Why does it fail to resume from Wifi every time?
WoW has to be set every time you go in suspend mode.

After it wakes up the first time your WoW configuration will not be set unless you set it again.