]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[run] Add initial 802.11n support.
authorAdrian Chadd <adrian@FreeBSD.org>
Fri, 29 May 2020 15:56:44 +0000 (15:56 +0000)
committerAdrian Chadd <adrian@FreeBSD.org>
Fri, 29 May 2020 15:56:44 +0000 (15:56 +0000)
commitf520d761298c9a4b2b32ed47d28540c34b60ad34
treea20e43533ef3e1e42aa4271e4d82ddb60842b756
parentdbcf7598b0f4c64ee88fe265cf9c7a0b18e6adbd
[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
sys/dev/usb/wlan/if_run.c
sys/dev/usb/wlan/if_runreg.h
sys/dev/usb/wlan/if_runvar.h