mirror of
https://github.com/opnsense/src.git
synced 2026-06-06 15:22:34 -04:00
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 |
||
|---|---|---|
| .. | ||
| pci | ||
| rtl8188e | ||
| rtl8192c | ||
| rtl8192e | ||
| rtl8812a | ||
| rtl8821a | ||
| usb | ||
| if_rtwn.c | ||
| if_rtwn_beacon.c | ||
| if_rtwn_beacon.h | ||
| if_rtwn_calib.c | ||
| if_rtwn_calib.h | ||
| if_rtwn_cam.c | ||
| if_rtwn_cam.h | ||
| if_rtwn_debug.h | ||
| if_rtwn_efuse.c | ||
| if_rtwn_efuse.h | ||
| if_rtwn_fw.c | ||
| if_rtwn_fw.h | ||
| if_rtwn_nop.h | ||
| if_rtwn_ridx.h | ||
| if_rtwn_rx.c | ||
| if_rtwn_rx.h | ||
| if_rtwn_task.c | ||
| if_rtwn_task.h | ||
| if_rtwn_tx.c | ||
| if_rtwn_tx.h | ||
| if_rtwnreg.h | ||
| if_rtwnvar.h | ||