HomeFreeBSD

[run] Add initial 802.11n support.

Description

[run] Add initial 802.11n support.

  • Enable self-generated 11n frames
  • add MCS rates for 1-stream and 2-stream rates; will do 3-stream once the rest of this tests out OK with other people.
  • Hard-code 1 stream for now
  • Add A-MPDU RX mbuf tagging
  • RTS/CTS if doing RTSCTS in HT protmode as well as legacy; they're separate configuration flags
  • Update the amrr rate index stuff - walk the rates array like others to find the right one - this now works for MCS and CCK/OFDM rates
  • Add support for atheros fast frames/AMSDU support as we can generate those in net80211.

TODO:

  • HT40 isn't enabled yet
  • No A-MPDU support just yet; that requires some more firmware research and maybe porting some ath(4) A-MPDU support/tracking into net80211
  • Short preamble flags aren't set yet for MCS; need to check the linux driver and see what's going on there
  • Add 3x3 rates and set tx/rx stream configuration appropriately
  • More 5GHz testing; I have a 3x3 dual band USB NIC coming soon that'll let me test this.
  • Figure out why the RX path isn't performing as fast as it could - there's only a single buffer loaded at a time for the receive path in the USB bulk handler and this may not be super useful.

Tested:

  • RT5390 usb, 1x1, RF5370 (2GHz radio), STA mode - A-MSDU TX, A-MPDU RX

Submitted by: Ashish Gupta <ashishgu@andrew.cmu.edu>
Differential Revision: https://reviews.freebsd.org/D22840

Details

Provenance
adrianAuthored on
Differential Revision
D22840: Add HTCAPS for run(4)
Parents
rS361625: Report STATUS_QUEUED/SENT in `ctladm dumpooa` output.
Branches
Unknown
Tags
Unknown