hi,
based on the discussion, i have come out with an RFC for SMPS support
for AP in minstrel_ht. kindly see the explanation below and indicate to
me, if this okay or any changes are required?
RFC To send out RTS for AP connected to a dynamic SMPS station
This code change addresses the AP requirement of sending out a
RTS frame when dynamic SMPS is enabled at the station
the minstrel_ht rate module needs to provide the lower driver layer
an indication of enabling RTS frame transmission for an AP connected
to a dynamic SMPS station.
the SMPS state of the station is stored in the ieee80211_sta
structure's ht_cap variable.
the minstrel_ht_get_rate function can be modified to check if the
station is a dynamic SMPS
station and a new flag can be incorporated for the ieee80211_tx_info
flags (e.g. IEEE80211_TX_CTL_SMPS_SET_RTS)
that indicates to the lower layer that the station is a dynamic SMPS
enabled station.
the lower AP driver can then enable RTS before the first frame
transmission to the station by checking for the above flag.
thanks and regards
Vivek
On Wed, 03 Apr 2013 10:46:04 +0200, Johannes Berg wrote:
i see that the rate_control_rate_update is called with the
IEEE80211_RC_SMPS_CHANGED flag. however, i see that the minstrel_ht
code
does not check for SMPS with respect to RTS.
It's very well possible that minstrel doesn't implement this
correctly.
I don't care all that much right now about minstrel, so it's up to
those
who do :)
Also, the code - rate_control_rate_update calls - sta_rc_update
mac80211 op. i was first thinking that i could use this for the AP
side
notification to driver layer. however, a comment for sta_rc_update
indicates that it is to be used only when
IEEE80211_HW_HAS_RATE_CONTROL
is true.
this led to the confusion.
Can this op be used to update the driver about change in station's
SMPS
mode for AP ?
Well, in theory it could be, but it doesn't make sense. If you have a
rate control algorithm in software (like minstrel) then that should
likely configure the RTS, and rate control is updated via the rate
control rate_update() callback instead of via the driver.
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