What are the scenarios for STA to wake up from sleep?
It’s recommended to know about LegacyPowersave, WMMPS, DTIM before reading this article. From these articles we got to know about listen interval, DTIM beacon, TIM and may be confused about STA wake up procedures.
♦ STA is in sleeping state and it has shared listen interval as 600ms in Association Request frame.
♦ AP beacon interval is 100ms.
♦ AP DTIM period is 3.
♣ Here are the scenarios where STA wakes from sleep:
As we see DTIM period is 3 [DTIM count in beacon-> 2 1 0…2 1 0] so every 3rd beacon is DTIM beacon [DTIM count = 0 ]. According to protocol AP can only indicate about any multicast data in this beacon making Multicast bit = 1. This means connected sleeping STA is supposed to wake on every 3rd DTIM beacon to receive multicast if there is any. If STA does not wake up then STA will lose multicast data and cannot get that missed multicast data as there is no ACK/Retry mechanism for multicast data. So we got the importance of waking up on DTIM beacon for STA.
According to my knowledge, STA does not miss to wake up on DTIM beacon intentionally. This wake up is important.
As STA declares “listen interval” as 600ms, this means “STA will wake up on every 6th beacon”. Now AP collects this information and keeps it. But in this scenario if STA does not wake up on every 6th beacon, it does not affect much. Because if AP has unicast buffered data then it starts indicating in Beacon. And there will be multiple beacons to indicate about unicast buffered data. So STA has more change of getting it even if STA fails to wake up on particular time. Once STA receives all unicast buffered data then AP stops indicating about unicast data in beacon. Now we can say listen interval is just filled because of protocol mandates that but STA can choose not wake up as per listen interval time.
♣ Now, any vendor may implement like below wake strategy:
♦STA wakes up on only DTIM beacon and check for Multicast data and also checks for TIM fields for any unicast data.
If there is multicast but no unicast then keep awake and receive only multicast and go for sleep.
If there is multicast and unicast then keep awake and receive multicast and then receive unicast data and go for sleep.
If there is no multicast but only unicast then keep awake and receive unicast and go for sleep.
If there is no multicast and no unicast then go back to sleep.
♦ Or STA is configured to wake up on every beacon to check multicast and unicast data indicated by AP. In this case, STA listen interval and DTIM beacon wake up does not any importance because STA wakes on every beacon which covers all.
It’s important to remember that multicast data receive will have more priority than unicast data receive from STA side. Also another way we can say , AP should first clear multicast data then go for unicast data.
***Multicast has more priority than unicast***
♥♥If you have any doubts or query please let me know in comment section or send mail at firstname.lastname@example.org.♥♥