freebsd-dev/sys/dev/ath
Adrian Chadd b4967c9b6f [ath_rate_sample] Have the final attempted rate in 11n modes to be the lowest one.
Right now ath_rate_sample has a fixed rate schedule, rather than the minstrel_ht
style "best, good, most reliable" triplet.  So, if higher rates are tried then
it'll not fail back to a lower MCS rate in that transmission schedule.

This means that in low SNR situations it'll not easily drop to MCS0 unless enough
transmissions occur to allow rate control to eventually decide to drop; and if
it's TCP traffic it'll get slowed down because of packet loss.

It's worse for 2-stream and 3-stream rates; it doesn't ever fall back to lower
stream rates, and these higher stream rates required higher SNR to work.

So instead let's (for now?) have each of the 11n transmit rates use MCS0 as
the last attempt. ath_rate_sample will quickly see that rate succeeds more
and will move to it much quicker.

Testing:

* AR9344 (Wasp) - 2G STA mode
2019-05-05 06:32:40 +00:00
..
ath_dfs/null sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ath_hal [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
ath_rate [ath_rate_sample] Have the final attempted rate in 11n modes to be the lowest one. 2019-05-05 06:32:40 +00:00
ah_osdep_ar5210.c
ah_osdep_ar5211.c
ah_osdep_ar5212.c
ah_osdep_ar5416.c
ah_osdep_ar9300.c
ah_osdep.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ah_osdep.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_ahb.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_alq.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_alq.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_beacon.c [net80211] convert all of the WME use over to a temporary copy of WME info. 2018-01-02 00:07:28 +00:00
if_ath_beacon.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_btcoex_mci.c
if_ath_btcoex_mci.h
if_ath_btcoex.c ath: fix memory disclosure from ath_btcoex_ioctl 2018-01-02 19:29:30 +00:00
if_ath_btcoex.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_debug.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_debug.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_descdma.c
if_ath_descdma.h
if_ath_dfs.c
if_ath_drv.c
if_ath_ioctl.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
if_ath_ioctl.h
if_ath_keycache.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_keycache.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_led.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_led.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_lna_div.c ath: fix possible memory disclosures in ioctl handlers 2018-01-02 19:34:23 +00:00
if_ath_lna_div.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_misc.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_pci_devlist.h Switch to using new PCI_MATCH stuff. 2018-07-07 15:25:16 +00:00
if_ath_pci.c Fix PCI_SUBDEV call 2018-07-07 15:55:58 +00:00
if_ath_rate.c
if_ath_rx_edma.c [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
if_ath_rx_edma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_rx.c [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_ath_rx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_spectral.c ath: fix possible memory disclosures in ioctl handlers 2018-01-02 19:34:23 +00:00
if_ath_spectral.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_sysctl.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_sysctl.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tdma.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tdma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tsf.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_edma.c [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_ath_tx_edma.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_ht.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx_ht.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath_tx.c [net80211] convert all of the WME use over to a temporary copy of WME info. 2018-01-02 00:07:28 +00:00
if_ath_tx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_ath.c [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_athdfs.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
if_athioctl.h Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
if_athrate.h [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00
if_athvar.h [ath] [ath_rate] Fix ANI calibration during non-ACTIVE states; start poking at rate control 2019-05-05 04:56:37 +00:00