Search Linux Wireless

Re: question on SMPS for AP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vivek,

> i was looking into the MAC80211 code for Spatial multiplexing Power 
> Save handling.
> 
> i see that for the station side, the code seems to be handled.
> is the same true for an AP interface as well? this is my current 
> understanding and i do not see any code handling for AP for SMPS.

Which part? There are two sides to SMPS handling:
 1) changing our own SMPS mode
 2) handling stations changing their SMPS mode

1) is implemented only for station mode, 2) is implemented for both AP
and station mode (though is less relevant for station mode)

>  From the perspective of an AP, the only thing it needs to do, is to 
> monitor the station for change to dynamic SMPS mode and if the station 
> is in dynamic SMPS mode, set the RTS flag for the first packet to be 
> sent out to the station so that an RTS/CTS mechanism is employed before 
> the packet transfer. this will make the station to wake up its receive 
> chains for the impending packet tranfer.
> 
> can anyone provide any inputs for the same and direct me to any code 
> that will help in understanding SMPS for AP?

Yes this is implemented, it starts in ieee80211_rx_h_action(),
WLAN_CATEGORY_HT, WLAN_HT_ACTION_SMPS and ends by calling
rate_control_rate_update(). The driver or rate control algorithm has to
take this into account, I'm not certain that all drivers and algorithms
do this correctly (yet).

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux