When a client station is set for Power Save mode, it will shut down some of the transceiver components for a period of time to conserve power. The STA indicates that it is using Power Save mode by changing the value of the Power Management bit to 1 within Frame Control field. Below shows a STA send a null-data frame to AP indicating it is going to Power Save mode. Power Management mode shall not change during any single frame exchange sequence. This means the Power Management bit is the same for all MPDUs in an A-MPDU.
Once AP receive this from STA, it will buffer all unicast frame to that STA. Typically STA can sleep for longer period of time & then awaken in time to hear an upcoming beacon which list AID values of unicast frame buffered at the AP. How often the STA awaken is based on a variable called “listen interval” & usually vendor specific.
When a STA receives the beacon, it checks to see whether its AID is set in the TIM, indicating that a buffered unicast frame waits. If so STA remain awake & send a 20-byte PS-Poll frame to the AP. Here is the frame format of a PS-Poll frame.(CWAP study guide – page 203)
Here is a PS-Poll frame capture. It is a control frame with subtype value of 10. Note that Duration field is used to represent AID value of the STA sending PS-Poll frame.
When AP sends the data to the STA, the STA need to know when all buffered unicast data has been received so that it can go back to sleep. When STA receivesa buffered unicast frame with the More Data field set to 1, then STA knows that it cannot go back to sleep yet, because there is some more buffered data at the AP. When More Data field set to 1, STA needs to send another PS-Poll frame & wait to receive next buffered unicast frame. When the More Data bit set to 0, STA knows that is the last buffered unicast frame & it can go to sleep again once sent the ACK to AP. Below shows this procedure in legacy power save mode.
PS-Poll frame recovery.
A STA in PS mode, in an ESS, initiates a frame exchange sequence by transmitting a PS-Poll frame to request data from an AP. In the event that neither an ACK frame nor a data frame is received from the AP in response to a PS-Poll frame, then the STA shall retry the sequence, by transmitting another PS-Poll frame.
If the AP sends a data frame in response to a PS-Poll frame, but fails to receive the ACK frame acknowledging this data frame, the next PS-Poll frame from the same STA may cause a retransmission of the last MSDU. If the AP responds to a PS-Poll by transmitting an ACK frame, then responsibility for the data frame delivery error recovery shifts to the AP because the data are transferred in a subsequent frame exchange sequence, which is initiated by the AP. The AP shall attempt to deliver one MSDU to the STA that transmitted the PS-Poll, using any frame exchange sequence valid for an individually addressed MSDU.
If the PS STA that transmitted the PS-Poll returns to Doze state after transmitting the ACK frame in response to successful receipt of this MSDU, but the AP fails to receive this ACK frame, then the AP retries transmission of this MSDU until the relevant retry limit is reached.
1. CWAP Official Study Guide – Chapter 5
2. IEEE 802.11-2012 standard
Deepak Dominic said:
Devin Akin said:
Excellent coverage of this process. Nice work. One thing you might consider adding is how a STA knows when all of the broadcast/multicast data has been transmitted (after the DTIM beacon). The client won’t go back to sleep until the More Data bit = 0 for unicast frames, but how about MC/BC frames the follow the DTIM beacon?
First of all thank a lot for encouraging me during my CWNP study time.
Also thanks for adding valuable input like this by reading these post.
Note: I realized I almost forget most of things now :). Will read those books again and see include your point in the post.
Pingback: CWAP-402 Exam Prep – Part 3 – Power Save (and what you can learn about learning). | Macdonald WiTS – Wireless, Training and Stuff…
Mayank Thareja said:
Just curious to understand when AP knows STA is up with one PS poll, why it doesn’t send all data packets in one shot instead of sending one by one through PS poll reception ?
In legacy method, that was the case, you have to send PS-Poll frame to receive each data frame.
Now a days we do not use legacy method due to inefficiency.
Devin Akin said:
We still use the legacy method anytime that WMM-PS is not set by a STA for a particular AC (or all ACs). To the best of my knowledge, the PS-Poll method can use a single A-MPDU, which helps with efficiency since the max A-MPDU size is 1MB.
Thank you Devin for clarifying with details.