opnsense-src/sys/dev/rtwn
Adrian Chadd f45f66fada rtwn: explicitly configure RTS based on basic rates
The NIC/firmware initialises the initial RTS/CTS rate to something
high, like OFDM48.  That's not going to be very reliable.

It's not a problem right now as we program in the RTS/CTS value
to use in the TX descriptor setup path based on the control rate
for the given frame TX rate, and like the INIDATA/driver rate
stuff in the TX descriptor, the TX descriptor RTS/CTS rate overrides
the INIRTS rate.

However when it's time to flip on firmware based rate control,
the initial rate needs to not be OFDM48.  Yes, the firmware and
hardware does have some rate retry schedule for RTS/CTS frames,
but there's no point in wasting short retries trying to do OFDM48
based RTS/CTS setup.

Add some warning logging if there are no basic or RTS/CTS rates
available, and leave things at default.  If this happens in
production for someone then it would be good to know and what
the rate mask was.

Locally tested:

* RTL8192CU, STA mode (with/without firmware rate control enabled locally)

Differential Revision:	https://reviews.freebsd.org/D48140
2025-01-13 20:33:44 -08:00
..
pci rtwn: add placeholder for the per-MACID rate report 2024-12-06 16:22:47 -08:00
rtl8188e rtwn: fix builds on non-x86 platforms 2024-12-31 14:45:52 -08:00
rtl8192c rtwn: add forcerate flag to TX descriptor setup 2025-01-02 17:24:01 -08:00
rtl8192e rtwn: create a new HAL routine for enabling STA mode beacon processing 2024-12-20 12:40:19 -08:00
rtl8812a rtwn: announce VHT support for RTL8812AU/RTL8821AU. 2025-01-08 16:52:12 -08:00
rtl8821a rtwn: announce VHT support for RTL8812AU/RTL8821AU. 2025-01-08 16:52:12 -08:00
usb rtwn: bump up the RX USB buffers 2024-12-18 15:47:37 -08:00
if_rtwn.c rtwn: explicitly configure RTS based on basic rates 2025-01-13 20:33:44 -08:00
if_rtwn_beacon.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_rtwn_beacon.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_calib.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_calib.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_cam.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
if_rtwn_cam.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_debug.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_efuse.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_efuse.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_fw.c rtwn: print out the firmware file being loaded 2024-12-31 13:58:17 -08:00
if_rtwn_fw.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_rtwn_nop.h rtwn: add APIs for setting transmit power 2024-12-18 15:45:24 -08:00
if_rtwn_ridx.h rtwn: fix RTWN_RIDX_VHT_MCS() macro 2025-01-13 16:11:18 -08:00
if_rtwn_rx.c rtwn: explicitly configure RTS based on basic rates 2025-01-13 20:33:44 -08:00
if_rtwn_rx.h rtwn: explicitly configure RTS based on basic rates 2025-01-13 20:33:44 -08:00
if_rtwn_task.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_task.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_tx.c rtwn: add forcerate flag to TX descriptor setup 2025-01-02 17:24:01 -08:00
if_rtwn_tx.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwnreg.h rtwn: add VHT awareness to rtwn_chan2centieee() 2024-12-06 23:14:20 -08:00
if_rtwnvar.h rtwn: announce VHT support for RTL8812AU/RTL8821AU. 2025-01-08 16:52:12 -08:00