3

Android devices perform periodical (about 10s as period) WiFi scanning in the background. Let's say there is a Infrastructure BSS with 2 stations connected, one of the stations, staA, is a Android device, we call another station staB. Now we ping staA from staB in a period of 1s. When staA scans, it will transmit Probe Request Frame in each channel, which means it will leave the channel of current BSS for a while. And during that time, staA would be "deaf" to what is being transmitted by staB, which means staA would have a chance to loss the ICMP packet from staB each time staA scans, i.e. every 10s.

I did above test with my Android phone, no packet loss happened. And I tested with another Android device, instead of periodic packet loss, there was a periodic large ping latency.

How comes there is no packet loss during scanning ?

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer. – Ron Maupin Dec 25 '18 at 9:52
3

There are two kinds of scans: passive and active. In the passive scan, the radio listens for the wifi beacon frames which indicate the SSID etc. In the active scan, the device transmits a probe request and then listens for the responses.

It's hardware dependent of course, but there's no reason a device couldn't transmit on one channel and listen on another. (It's tricky for it to listen on the same channel, because its own transmission will be many orders of magnitude greater in power than the signal from another transmitter, because of the ratios of distances.) Thus the device could transmit on a given channel while passively scanning the other channels. On its own channel, the devices are doing CSMA/CA.

My understanding is that Android does its background scanning in passive mode. https://android.stackexchange.com/questions/131414/do-android-devices-make-active-or-passive-scan-when-looking-for-wifi-ap

Another good answer about wifi scanning How do wifi clients detect SSIDs from APs?

| improve this answer | |
  • In fact my device would transmit Probe Request during its background scanning, as shown by the sniffer. Yet "there's no reason a device couldn't transmit on one channel and listen on another", I think this is a good point to answer my confusion. I know little about the radio stuff, is it forced by any standard that a device should be able to listen on one channel while transmitting on another? – ZhouZhuo Nov 5 '18 at 4:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.