net80211/drivers: improve ieee80211_rx_stats for bandWhile IEEE80211_R_BAND was defined, there was no place to store theband. Add a field for that, adjust ieee80211_lookup_channel_rxstatus()to r
net80211/drivers: improve ieee80211_rx_stats for bandWhile IEEE80211_R_BAND was defined, there was no place to store theband. Add a field for that, adjust ieee80211_lookup_channel_rxstatus()to require it, and update drivers passing "R_{FREQ|IEEE}" in already toprovide the band as well. For the moment keep the fall-back coderequiring all three fields.Sponsored by: The FreeBSD Foundation(cherry picked from commit 9a6695532b3997e4e2bc3fe57481cc49be5e9e93)
show more ...
rtwn: clean up empty lines in .c and .h files
rtwn(4): clear 'basic' rate bit before calculating RTS/CTS rate.Rate tables have this bit set to indicate minimal set of basic rates;however, it overlappes with MCS bit, so rate2ridx() will treat
rtwn(4): clear 'basic' rate bit before calculating RTS/CTS rate.Rate tables have this bit set to indicate minimal set of basic rates;however, it overlappes with MCS bit, so rate2ridx() will treat them asan 11n rate.Due to the current rates setup the issue can be reproduced onlyin 5GHz band with 11n / protection enabled.Tested with RTL8821AU, HOSTAP mode.MFC after: 5 days
rtwn(4): decode some bit fields + merge duplicate code.Add macros for R12A_RXDMA_PRO register (descriptions were seen in theRTL8822B vendor driver) and merge 2 r21au_init_burstlen() copies.No fu
rtwn(4): decode some bit fields + merge duplicate code.Add macros for R12A_RXDMA_PRO register (descriptions were seen in theRTL8822B vendor driver) and merge 2 r21au_init_burstlen() copies.No functional change intended.
rtwn(4): de-hardcode ('h/w rate index' - 'corresponding MCS index') constant
rtwn(4): some initial preparations for (basic) VHT support.Rename RTWN_RIDX_MCS to RTWN_RIDX_HT_MCS before adding 802.11acMCS rate indexes (they have different offset).No functional change inten
rtwn(4): some initial preparations for (basic) VHT support.Rename RTWN_RIDX_MCS to RTWN_RIDX_HT_MCS before adding 802.11acMCS rate indexes (they have different offset).No functional change intended.
rtwn: drop obsolete (since r319460) code.Tested with RTL8188EU, STA mode.
rtwn: remove out-of-bounds access + fix debug output.Omit unused rates while initializing / dumping Tx power values.They were not accessed anywhere (except for debugging), so this is(mostly) no-
rtwn: remove out-of-bounds access + fix debug output.Omit unused rates while initializing / dumping Tx power values.They were not accessed anywhere (except for debugging), so this is(mostly) no-op.Tested with * RTL8188EU, STA mode. * RTL8812AU, STA mode.Found by: PVS-Studio
Add support for the Realtek RTL8192EU chipset.Committed over the D-Link DWA-131 rev E1 on amd64 with WPA.Reviewed by: avos
rtwn: enable LDPC support where possibleTested with RTL8821AU, STA mode.
rtwn: export more stats to net80211Setup more ieee80211_rx_stats fields for received frames: - pktflags: * IEEE80211_RX_F_FAIL_FCSCRC; * IEEE80211_RX_F_AMPDU; * IEEE80211_RX_F_AMPDU_MORE;
rtwn: export more stats to net80211Setup more ieee80211_rx_stats fields for received frames: - pktflags: * IEEE80211_RX_F_FAIL_FCSCRC; * IEEE80211_RX_F_AMPDU; * IEEE80211_RX_F_AMPDU_MORE; * IEEE80211_RX_F_SHORTGI; - rate flags (CCK, OFDM, HT); - width; - phytype; - rate; - rx_tsf; - rssi; - nf; - ieee, freq (RTL8188EU only, when ht40 support is disabled).Tested with: - RTL8188CE, RTL8188EU, RTL8821AU (STA / AP modes, i386) - (by kevlo) RTL8188EU and RTL8812AU (amd64)Reviewed by: adrian (previous version), kevloDifferential Revision: https://reviews.freebsd.org/D9021
rtwn: add (untested) radar detection support for RTL8821AU(disabled by default).To enable it, dev.rtwn.%d.radar_detection tunable need to be setto a nonzero value.Tested with RTL8821AU, AP mode
rtwn: add (untested) radar detection support for RTL8821AU(disabled by default).To enable it, dev.rtwn.%d.radar_detection tunable need to be setto a nonzero value.Tested with RTL8821AU, AP mode (no radar events were seen - so,I have no idea if it is really correct / working)Reviewed by: adrianDifferential Revision: https://reviews.freebsd.org/D8903
- Fix incorrect values in the computation of OFDM and MCS Tx power.- Make power a uint8_t rather than a uint16_t.- Replace the hardcoded RF chains.Reviewed by: avos
rtwn: silence compiler warning (-Wmaybe-uninitialized).Reported by: adrian
Merge r92c_init_rf_common() into r92c_init_rf(). In r88eu_attach.c, we coulduse r92c_init_rf() rather than r92c_init_rf_common() when sc_init_rf()callback is invoked.While here, constantly use R
Merge r92c_init_rf_common() into r92c_init_rf(). In r88eu_attach.c, we coulduse r92c_init_rf() rather than r92c_init_rf_common() when sc_init_rf()callback is invoked.While here, constantly use RF chain instead of RF path in comment.Reviewed by: avos
Update struct r12a_rom.Reviewed by: avos
For RTL8812AU:- The Tx power (diff) values should be signed- Fix an off by one error when reading Tx power (diff) valuesReviewed by: avos, adrianDifferential Revision: https://reviews.freebsd.or
For RTL8812AU:- The Tx power (diff) values should be signed- Fix an off by one error when reading Tx power (diff) valuesReviewed by: avos, adrianDifferential Revision: https://reviews.freebsd.org/D8571
rtwn: drop excessive includes.Since rom_defs.h is included in rxxx_var.h there is no need toinclude both of them.Submitted by: kevlo
rtwn: fix Rx filter setup for some multi-vap configuratons.- Correctly refresh Rx filter when AP (IBSS) vap is created after STA vap.- Block any RCR updates during TSF correction (IBSS mode).- Se
rtwn: fix Rx filter setup for some multi-vap configuratons.- Correctly refresh Rx filter when AP (IBSS) vap is created after STA vap.- Block any RCR updates during TSF correction (IBSS mode).- Set CBSSID* bits during vap creation, not when it was started / stopped.- Cache current state to prevent unnecessary register reads.Tested with RTL8188CE, STA + AP mode.
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.All devices:- add support for rate adaptation via ieee80211_amrr(9);- use short preamble for transmitted frames when needed;- m
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.All devices:- add support for rate adaptation via ieee80211_amrr(9);- use short preamble for transmitted frames when needed;- multi-bss support: * for RTL8821AU: 2 VAPs at the same time; * other: 1 any VAP + 1 sta VAP.RTL8188CE:- fix IQ calibration bug (reason of significant speed degradation);- add h/w crypto acceleration support.USB:- A-MPDU Tx support;- short GI support;Other:- add support for RTL8812AU / RTL8821AU chipsets(a/b/g/n only; no ac yet);- split merged code into subparts: * bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*) * common (if_rtwn*) * chip-specific (rtl*/*)- various other bugfixes.Due to code reorganization, module names / requirements were changed too:urtwn urtwnfw -> rtwn rtwn_usb rtwnfwrtwn rtwnfw -> rtwn rtwn_pci rtwnfwTested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.Tested by: kevlo, garga, Peter Garshtja <[email protected]>, Kevin McAleavey <[email protected]>, Ilias-Dimitrios Vrachnis <[email protected]>, <[email protected]>Relnotes: yes