Page MenuHomeFreeBSD

net80211: check if beacon contains 11b rates when ERP IE is absent before enabling protection.
Needs ReviewPublic

Authored by avos on Sep 9 2016, 10:05 PM.

Details

Reviewers
adrian
Summary

Accordingly to IEEE 802.11-2012, 10.15.8:
"... if the DSSS/CCK Mode in 40 MHz subfield is equal to 0, then the
following apply:
...

  • The AP shall not include an ERP element in its Beacon and Probe Response

frames.

  • The AP shall not include DSSS/CCK rates in the Supported Rates element."

P.S. should we check other bits (htcap & DSSS/CCK, htinfo & 40 MHz) too?

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

avos retitled this revision from to net80211: check if beacon contains 11b rates when ERP IE is absent before enabling protection..
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added a reviewer: adrian.
avos set the repository for this revision to rS FreeBSD src repository - subversion.

Hm, have you tested this against 11n sta/ap's ?

That was a bit problematic:

  • there are no 40MHz-capable APs without DSSS/CCK support in the range;
  • FreeBSD / Linux inserts ERP/11b rates into beacon even when DSSS/CCK support is not advertised.

To ensure that this will work as expected I've added some checks into ieee80211_construct_beacon(); result:

  • no is11bclient() check - second rtwn AP turns protection on;
  • with is11bclient() check - net80211 sees that 40MHz AP supports non-11b rates and

keeps protection off.