[LG Optimus 2x] echo_21:
I seem to be successful in using ping even when P990 is in deep sleep. Using ping with the Windows standard timeout time but with infinite number of repetitions (command line argument "-t") for 10 minutes opens my eyes:

ping -t 192.168.179.24
Pinging 192.168.179.24 with 32 bytes of data:
Reply from 192.168.179.24: bytes=32 time=189ms TTL=64
Reply from 192.168.179.24: bytes=32 time=308ms TTL=64
Reply from 192.168.179.24: bytes=32 time=27ms TTL=64
Reply from 192.168.179.24: bytes=32 time=256ms TTL=64
Reply from 192.168.179.24: bytes=32 time=175ms TTL=64
Reply from 192.168.179.24: bytes=32 time=95ms TTL=64
Reply from 192.168.179.24: bytes=32 time=627ms TTL=64
Reply from 192.168.179.24: bytes=32 time=551ms TTL=64
Reply from 192.168.179.24: bytes=32 time=168ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=3974ms TTL=64
Reply from 192.168.179.24: bytes=32 time=752ms TTL=64
Reply from 192.168.179.24: bytes=32 time=463ms TTL=64
Reply from 192.168.179.24: bytes=32 time=762ms TTL=64
Reply from 192.168.179.24: bytes=32 time=74ms TTL=64
Reply from 192.168.179.24: bytes=32 time=604ms TTL=64
Reply from 192.168.179.24: bytes=32 time=812ms TTL=64
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=2290ms TTL=64
Reply from 192.168.179.24: bytes=32 time=613ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=339ms TTL=64
Reply from 192.168.179.24: bytes=32 time=566ms TTL=64
Reply from 192.168.179.24: bytes=32 time=1409ms TTL=64
Reply from 192.168.179.24: bytes=32 time=613ms TTL=64
Reply from 192.168.179.24: bytes=32 time=841ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=2251ms TTL=64
Reply from 192.168.179.24: bytes=32 time=607ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=411ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.33: Destination host unreachable.
Reply from 192.168.178.35: Destination host unreachable.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=2644ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.24: bytes=32 time=2679ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.179.33: Destination host unreachable.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Request timed out.
Request timed out.
Reply from 192.168.178.35: Destination host unreachable.
Reply from 192.168.178.35: Destination host unreachable.

Ping statistics for 192.168.179.24:
Packets: Sent = 163, Received = 42, Lost = 121 (74% loss),
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 3974ms, Average = 896ms

Note: CM11 2013/12/26; KK 3.1 build 127 alpha 26; wifi heart beat interval set to 2 minutes (using PNF app) ; WiFi router AVM Fritzbox 7141; first lines are with P990 screen on, then I manually switched screen off.

Observation: Of cause some packets get lost by time out. I even get "Destination host unreachable". But communication periodically restores, showing that WiFi has not dropped at all.

I got even much more interesting results when increasing the ping timeout time to 1000 seconds (command line argument "-w 1000000"; yes, that's more than a quarter of an hour!):

ping -t -w 1000000 192.168.179.24
Pinging 192.168.179.24 with 32 bytes of data:
Reply from 192.168.179.24: bytes=32 time=461ms TTL=64
Reply from 192.168.179.24: bytes=32 time=79ms TTL=64
Reply from 192.168.179.24: bytes=32 time=612ms TTL=64
Reply from 192.168.179.24: bytes=32 time=530ms TTL=64
Reply from 192.168.179.24: bytes=32 time=451ms TTL=64
Reply from 192.168.179.24: bytes=32 time=66ms TTL=64
Reply from 192.168.179.24: bytes=32 time=294ms TTL=64
Reply from 192.168.179.24: bytes=32 time=224ms TTL=64
Reply from 192.168.179.24: bytes=32 time=8121ms TTL=64
Reply from 192.168.179.24: bytes=32 time=613ms TTL=64
Reply from 192.168.179.24: bytes=32 time=841ms TTL=64
Reply from 192.168.179.24: bytes=32 time=17043ms TTL=64
Reply from 192.168.179.24: bytes=32 time=920ms TTL=64
Reply from 192.168.179.24: bytes=32 time=533ms TTL=64
Reply from 192.168.179.24: bytes=32 time=19807ms TTL=64
Reply from 192.168.179.24: bytes=32 time=818ms TTL=64
Reply from 192.168.179.24: bytes=32 time=534ms TTL=64
Reply from 192.168.179.24: bytes=32 time=198595ms TTL=64
Reply from 192.168.179.24: bytes=32 time=1535ms TTL=64
Reply from 192.168.179.24: bytes=32 time=311ms TTL=64
Reply from 192.168.179.24: bytes=32 time=534ms TTL=64
Reply from 192.168.179.24: bytes=32 time=116880ms TTL=64
Reply from 192.168.179.24: bytes=32 time=59895ms TTL=64
Reply from 192.168.179.24: bytes=32 time=317ms TTL=64
Reply from 192.168.179.24: bytes=32 time=6009ms TTL=64
Reply from 192.168.179.24: bytes=32 time=369ms TTL=64
Reply from 192.168.179.24: bytes=32 time=597ms TTL=64
Reply from 192.168.179.24: bytes=32 time=211ms TTL=64
Reply from 192.168.179.24: bytes=32 time=442ms TTL=64
Reply from 192.168.179.24: bytes=32 time=341ms TTL=64
Reply from 192.168.179.24: bytes=32 time=47986ms TTL=64
Reply from 192.168.179.24: bytes=32 time=521ms TTL=64
Reply from 192.168.179.24: bytes=32 time=139ms TTL=64
Reply from 192.168.179.24: bytes=32 time=68968ms TTL=64

Ping statistics for 192.168.179.24:
Packets: Sent = 34, Received = 34, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 66ms, Maximum = 198595ms, Average = 16341ms

Note: as in first test, the pinging period is 10 minutes

Observation: Not even a single ping packet gets lost! Sometimes it simply takes up to 200 seconds, but that's perfectly fine for saving P990's battery.

I think everybody who wants to trouble shoot WiFi drops should use this very easy method to be 100% sure. I would like to recommend not only to rely on any Android WiFi indicators (e.g. status bar).