aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/rtwn/rtl8821a
Commit message (Collapse)AuthorAgeFilesLines
* rtwn: announce VHT support for RTL8812AU/RTL8821AU.Adrian Chadd2025-01-091-3/+14
| | | | | | | | | | | | | Although the transmit path doesn't yet support VHT rates (because the rate control and rate representation in net80211 doesn't yet know about VHT rates) the NIC will receive VHT frames but only transmit HT frames. Locally tested: * RTL8812AU, STA mode Differential Revision: https://reviews.freebsd.org/D48103
* rtwn: set the maximum A-MPDU size correctly for RTL8812AU/RTL8821AUAdrian Chadd2025-01-081-0/+1
| | | | | | | | | The vendor driver sets it to 64k or 128k depending upon chipset, along with bit 31 being set in hal/rtl8812a_hal_init.c:SetHwReg8812A(). Differential Revision: https://reviews.freebsd.org/D48118 Obtained from: https://github.com/lwfinger/rtl8812au Reviewed by: bz
* rtwn: create a new HAL routine for enabling STA mode beacon processingAdrian Chadd2024-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | For some NICs (notably the rtl8192cu that I'm working on) the firmware rate adaptation requires beacon processing to be enabled. Instead of making assumptions in the if_rtwn beacon routines (and honestly all of that should be in the HAL too), create a HAL method for enabling/disabling beacon processing specifically in STA mode. Since this isn't necessarily required for all NICs (notably the RTL8188E NICs, where some will do firmware rate control and some will require driver rate control), only enable it for the RTL8192CU and RT8192EU. The RTL8188E and RTL8812/RTL8821 just have no-op routines for now. Locally tested: * RTL8192CU, STA mode Differential Revision: https://reviews.freebsd.org/D48066 Reviewed by: bz
* rtwn: add APIs for setting transmit powerAdrian Chadd2024-12-181-0/+1
| | | | | | | | | | | | | | The RTL8188/RTL8192/RTL8821/RTL8812 NICs all seem happy to have their transmit power changed at runtime - and it does seem to do what's expected - the transmit power level does change. So, add the API call here, even though it's all currently no-ops. A follow-up commit will land changes for the chipsets to both limit transmit power to the configured / regulatory limit AND allow reconfiguration at runtime. Differential Revision: https://reviews.freebsd.org/D47979 Reviewed by: bz, imp
* rtwn: add placeholder for the per-MACID rate reportAdrian Chadd2024-12-071-0/+1
| | | | | | | | | | | | | | Some chipsets (such as the RTL8188E) have firmware which supports a second kind of TX report - instead of a per-packet TX report, it can generate a per-MACID summary of packet success/failure counters. This would be helpful for those chips to cut back on the USB traffic to get rate control feedback for the driver based rate control we're currently using. This is a no-op; it just gets the pieces in place for future work. Differential Revision: https://reviews.freebsd.org/D47894
* rtwn: enable HT40 for RTL8821/RTL8812 series NICsAdrian Chadd2024-12-071-0/+7
| | | | | | | HT40 works fine in 2GHz and 5GHz modes in both 1 and 2 stream scenarios, so just enable it here. Differential Revision: https://reviews.freebsd.org/D47874
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-1611-22/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-165-10/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* rtwn: clean up empty lines in .c and .h filesMateusz Guzik2020-09-0115-18/+0
| | | | Notes: svn path=/head/; revision=365097
* rtwn(4): decode some bit fields + merge duplicate code.Andriy Voskoboinyk2018-06-193-13/+1
| | | | | | | | | | Add macros for R12A_RXDMA_PRO register (descriptions were seen in the RTL8822B vendor driver) and merge 2 r21au_init_burstlen() copies. No functional change intended. Notes: svn path=/head/; revision=335351
* Add support for the Realtek RTL8192EU chipset.Kevin Lo2017-01-242-1/+2
| | | | | | | | | Committed over the D-Link DWA-131 rev E1 on amd64 with WPA. Reviewed by: avos Notes: svn path=/head/; revision=312680
* rtwn: enable LDPC support where possibleAndriy Voskoboinyk2017-01-211-1/+2
| | | | | | | Tested with RTL8821AU, STA mode. Notes: svn path=/head/; revision=312597
* rtwn: export more stats to net80211Andriy Voskoboinyk2017-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Setup 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), kevlo Differential Revision: https://reviews.freebsd.org/D9021 Notes: svn path=/head/; revision=312315
* rtwn: add (untested) radar detection support for RTL8821AUAndriy Voskoboinyk2016-12-304-4/+331
| | | | | | | | | | | | | | | | (disabled by default). To enable it, dev.rtwn.%d.radar_detection tunable need to be set to 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: adrian Differential Revision: https://reviews.freebsd.org/D8903 Notes: svn path=/head/; revision=310867
* rtwn: drop excessive includes.Andriy Voskoboinyk2016-11-141-1/+0
| | | | | | | | | | Since rom_defs.h is included in rxxx_var.h there is no need to include both of them. Submitted by: kevlo Notes: svn path=/head/; revision=308650
* rtwn(4), urtwn(4): merge common code, add support for 11ac devices.Andriy Voskoboinyk2016-10-1715-0/+2049
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 rtwnfw rtwn rtwnfw -> rtwn rtwn_pci rtwnfw Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU. Tested by: kevlo, garga, Peter Garshtja <peter.garshtja@ambient-md.com>, Kevin McAleavey <kevin.mcaleavey@knosproject.com>, Ilias-Dimitrios Vrachnis <id@vrachnis.com>, <otacilio.neto@bsd.com.br> Relnotes: yes Notes: svn path=/head/; revision=307529