| #
64ecfc27
|
| 16-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: add forcerate flag to TX descriptor setup
When doing firmware rate control there will be situations where the rate being passed in needs to actually override the rate control selection. So ad
rtwn: add forcerate flag to TX descriptor setup
When doing firmware rate control there will be situations where the rate being passed in needs to actually override the rate control selection. So add a flag to the descriptor setup path to indicate that indeed this particular rate should be forced, rather than rely on the firmware rate control.
This is currently a no-op as firmware rate control isn't working in-tree, but it is working for me locally with other changes. Without this, there's no way to force low rates for management, DHCP traffic, and to allow fixed rate via "ifconfig wlanX ucastrate Y" to function.
Locally tested:
* RTL8192CU, STA mode (firmware and driver/net80211 rate control)
Differential Revision: https://reviews.freebsd.org/D48100 Reviewed by: bz, gavin
show more ...
|
| #
9efd2154
|
| 13-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: create a new HAL routine for enabling STA mode beacon processing
For some NICs (notably the rtl8192cu that I'm working on) the firmware rate adaptation requires beacon processing to be enabled
rtwn: create a new HAL routine for enabling STA mode beacon processing
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
show more ...
|
| #
0ea7f8ca
|
| 08-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: try enforcing net80211 regulatory / txpower limits for 11n chips
This is an attempt to reverse engineer what the actual transmit power calculations are doing and apply net80211 limits on them.
rtwn: try enforcing net80211 regulatory / txpower limits for 11n chips
This is an attempt to reverse engineer what the actual transmit power calculations are doing and apply net80211 limits on them. It doesn't look as simple as just applying the check at the end - there are plenty of places where offsets are calculated between different PHY modes and 1 / 2 antenna MCS transmit rates.
There are also some places where the offset being added is negative, so handle the potential underflow so when things hit 0, they don't just wrap and cause the maximum transmit power into the registers.
This is being done to aide in power/performance debugging - if there are issues with the transmit power being wrongly calculated and are too high, the output waveform will be distorted and it will effect performance. Being able to drop the transmit power by a few dB here and there can quickly identify if this is happening (because suddenly higher MCS rates / OFDM rates suddenly work better!)
I've tested each NIC through the transmit power values from 0 dBm to 30dBm via ifconfig (and they're all capped far before that, normally around 20-25dBm) and they're not underflowing.
Locally tested:
* RTL8192CU, STA * RTL8192EU, STA * RTL8188EU, STA
Differential Revision: https://reviews.freebsd.org/D47987 Reviewed by: bz, imp
show more ...
|
| #
6858c6b1
|
| 08-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: refactor out the TX power register power dump, condense output
* Refactor out the TX power register register dump - it's done in a couple places and it makes sense to refactor it.
* Condens
rtwn: refactor out the TX power register power dump, condense output
* Refactor out the TX power register register dump - it's done in a couple places and it makes sense to refactor it.
* Condense the output into a few lines per transmit chain. It's very long with the 8 and 16 MCS rates, and it made it difficult to eyeball what's going on when tweaking TX power.
Differential Revision: https://reviews.freebsd.org/D47986 Reviewed by: bz, imp
show more ...
|
| #
2ff63af9
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
| #
8bc615f5
|
| 07-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
rtwn: Fix mismatches in array bounds.
Reported by: GCC -Warray-parameter Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D37550
|
| #
b3512b30
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
rtwn: clean up empty lines in .c and .h files
|
| #
17d5fbf2
|
| 02-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn_pci(4): add support for event-based Tx reports.
It will be used for RTL8188EE (and, probably, others).
MFC after: 4 days
|
| #
64ecfc27
|
| 16-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: add forcerate flag to TX descriptor setup
When doing firmware rate control there will be situations where the rate being passed in needs to actually override the rate control selection. So ad
rtwn: add forcerate flag to TX descriptor setup
When doing firmware rate control there will be situations where the rate being passed in needs to actually override the rate control selection. So add a flag to the descriptor setup path to indicate that indeed this particular rate should be forced, rather than rely on the firmware rate control.
This is currently a no-op as firmware rate control isn't working in-tree, but it is working for me locally with other changes. Without this, there's no way to force low rates for management, DHCP traffic, and to allow fixed rate via "ifconfig wlanX ucastrate Y" to function.
Locally tested:
* RTL8192CU, STA mode (firmware and driver/net80211 rate control)
Differential Revision: https://reviews.freebsd.org/D48100 Reviewed by: bz, gavin
show more ...
|
| #
9efd2154
|
| 13-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: create a new HAL routine for enabling STA mode beacon processing
For some NICs (notably the rtl8192cu that I'm working on) the firmware rate adaptation requires beacon processing to be enabled
rtwn: create a new HAL routine for enabling STA mode beacon processing
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
show more ...
|
| #
0ea7f8ca
|
| 08-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: try enforcing net80211 regulatory / txpower limits for 11n chips
This is an attempt to reverse engineer what the actual transmit power calculations are doing and apply net80211 limits on them.
rtwn: try enforcing net80211 regulatory / txpower limits for 11n chips
This is an attempt to reverse engineer what the actual transmit power calculations are doing and apply net80211 limits on them. It doesn't look as simple as just applying the check at the end - there are plenty of places where offsets are calculated between different PHY modes and 1 / 2 antenna MCS transmit rates.
There are also some places where the offset being added is negative, so handle the potential underflow so when things hit 0, they don't just wrap and cause the maximum transmit power into the registers.
This is being done to aide in power/performance debugging - if there are issues with the transmit power being wrongly calculated and are too high, the output waveform will be distorted and it will effect performance. Being able to drop the transmit power by a few dB here and there can quickly identify if this is happening (because suddenly higher MCS rates / OFDM rates suddenly work better!)
I've tested each NIC through the transmit power values from 0 dBm to 30dBm via ifconfig (and they're all capped far before that, normally around 20-25dBm) and they're not underflowing.
Locally tested:
* RTL8192CU, STA * RTL8192EU, STA * RTL8188EU, STA
Differential Revision: https://reviews.freebsd.org/D47987 Reviewed by: bz, imp
show more ...
|
| #
6858c6b1
|
| 08-Dec-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
rtwn: refactor out the TX power register power dump, condense output
* Refactor out the TX power register register dump - it's done in a couple places and it makes sense to refactor it.
* Condens
rtwn: refactor out the TX power register power dump, condense output
* Refactor out the TX power register register dump - it's done in a couple places and it makes sense to refactor it.
* Condense the output into a few lines per transmit chain. It's very long with the 8 and 16 MCS rates, and it made it difficult to eyeball what's going on when tweaking TX power.
Differential Revision: https://reviews.freebsd.org/D47986 Reviewed by: bz, imp
show more ...
|
| #
2ff63af9
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
| #
8bc615f5
|
| 07-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
rtwn: Fix mismatches in array bounds.
Reported by: GCC -Warray-parameter Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D37550
|
| #
b3512b30
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
rtwn: clean up empty lines in .c and .h files
|
| #
17d5fbf2
|
| 02-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn_pci(4): add support for event-based Tx reports.
It will be used for RTL8188EE (and, probably, others).
MFC after: 4 days
|
| #
b754c279
|
| 13-Sep-2017 |
Navdeep Parhar <np@FreeBSD.org> |
MFH @ r323558.
|
| #
3934d280
|
| 28-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r322957
|
| #
ac1b5d81
|
| 27-Aug-2017 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn(4): deduplicate r92c_write_txpower().
|
| #
5c7083ce
|
| 27-Aug-2017 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn(4): change type for Tx power values (RTL8192C / RTL8188EU).
Tx power values can easily fit into uint8_t + only 8 bits are written to registers; values may overflow only in case if ROM contains
rtwn(4): change type for Tx power values (RTL8192C / RTL8188EU).
Tx power values can easily fit into uint8_t + only 8 bits are written to registers; values may overflow only in case if ROM contains malformed data (but limit is checked anyway).
Tested with RTL8188CUS, dev.rtwn.1.debug=0x2000 (no changes).
show more ...
|
| #
9b3ece1c
|
| 04-Feb-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r313243
|
| #
2004ce3f
|
| 24-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r312624 through r312719.
|
| #
60b9567d
|
| 24-Jan-2017 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for the Realtek RTL8192EU chipset. Committed over the D-Link DWA-131 rev E1 on amd64 with WPA.
Reviewed by: avos
|
| #
a4aa656a
|
| 22-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r312309 through r312623.
|
| #
09606165
|
| 17-Jan-2017 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn: export more stats to net80211
Setup 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 net80211
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
show more ...
|