svn commit: r270206 - head/sys/net80211
Adrian Chadd
adrian at FreeBSD.org
Wed Aug 20 09:10:03 UTC 2014
Author: adrian
Date: Wed Aug 20 09:10:03 2014
New Revision: 270206
URL: http://svnweb.freebsd.org/changeset/base/270206
Log:
After much toying around with this AMRR initial rate stuff,
I've decided that for 11n rates it's best to start (very) low and work
our way up.
So, from now on, the initial rate for AMRR 11n is MCS4.
It doesn't try MCS12 or MCS20 - at low signal strengths those don't
work very well at all.
AMRR will step the rate control up over time if things work out better.
Tested:
* Intel 5100
* Intel 5300 (using local diffs to test out 3x3 stream support)
Modified:
head/sys/net80211/ieee80211_amrr.c
Modified: head/sys/net80211/ieee80211_amrr.c
==============================================================================
--- head/sys/net80211/ieee80211_amrr.c Wed Aug 20 08:24:37 2014 (r270205)
+++ head/sys/net80211/ieee80211_amrr.c Wed Aug 20 09:10:03 2014 (r270206)
@@ -195,12 +195,13 @@ amrr_node_init(struct ieee80211_node *ni
rate &= IEEE80211_RATE_VAL;
/* pick initial rate from the rateset - HT or otherwise */
+ /* Pick something low that's likely to succeed */
for (amn->amn_rix = rs->rs_nrates - 1; amn->amn_rix > 0;
amn->amn_rix--) {
/* legacy - anything < 36mbit, stop searching */
- /* 11n - stop at MCS4 / MCS12 / MCS28 */
+ /* 11n - stop at MCS4 */
if (amrr_node_is_11n(ni)) {
- if ((rs->rs_rates[amn->amn_rix] & 0x7) < 4)
+ if ((rs->rs_rates[amn->amn_rix] & 0x1f) < 4)
break;
} else if ((rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL) <= 72)
break;
More information about the svn-src-head
mailing list