mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-27 11:55:06 +00:00
Contribute some example code which demonstrates how to initialise the
radar parameters for the AR5416 and later NICs. These parameters have been tested on the following NICs: * AR5416 * AR9160 * AR9220 * AR9280 And yes, these will return radar pulse parameters and (for AR9160 and later) radar FFT information as PHY errors. This is again not enough to do radar detection, it's just here to faciliate development and validation of radar detection algorithms. The (pulse, not FFT) decoding code for AR5212, AR5416 and later NICs exist in the HAL. This code is disabled for now as generating radar PHY errors can quickly cause issues in busy environment.s Some further debugging of the RX path is needed. Finally, these parameters are likely not useful for the AR5212 era NICs. The madwifi-dfs branch should have suitable example parameters for the 11a era NICs.
This commit is contained in:
parent
e048cf369a
commit
ab4343580d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=231099
@ -70,6 +70,28 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include <dev/ath/ath_hal/ah_desc.h>
|
||||
|
||||
/*
|
||||
* These are default parameters for the AR5416 and
|
||||
* later 802.11n NICs. They simply enable some
|
||||
* radar pulse event generation.
|
||||
*
|
||||
* These are very likely not valid for the AR5212 era
|
||||
* NICs.
|
||||
*
|
||||
* Since these define signal sizing and threshold
|
||||
* parameters, they may need changing based on the
|
||||
* specific antenna and receive amplifier
|
||||
* configuration.
|
||||
*/
|
||||
#define AR5416_DFS_FIRPWR -33
|
||||
#define AR5416_DFS_RRSSI 20
|
||||
#define AR5416_DFS_HEIGHT 10
|
||||
#define AR5416_DFS_PRSSI 15
|
||||
#define AR5416_DFS_INBAND 15
|
||||
#define AR5416_DFS_RELPWR 8
|
||||
#define AR5416_DFS_RELSTEP 12
|
||||
#define AR5416_DFS_MAXLEN 255
|
||||
|
||||
/*
|
||||
* Methods which are required
|
||||
*/
|
||||
@ -98,16 +120,45 @@ ath_dfs_detach(struct ath_softc *sc)
|
||||
int
|
||||
ath_dfs_radar_enable(struct ath_softc *sc, struct ieee80211_channel *chan)
|
||||
{
|
||||
#if 0
|
||||
HAL_PHYERR_PARAM pe;
|
||||
|
||||
/* Check if the current channel is radar-enabled */
|
||||
if (! IEEE80211_IS_CHAN_DFS(chan))
|
||||
return (0);
|
||||
|
||||
/* Enable radar PHY error reporting */
|
||||
sc->sc_dodfs = 1;
|
||||
|
||||
/*
|
||||
* Enabling the radar parameters and setting sc->sc_dodfs = 1
|
||||
* would occur here.
|
||||
* These are general examples of the parameter values
|
||||
* to use when configuring radar pulse detection for
|
||||
* the AR5416, AR91xx, AR92xx NICs. They are only
|
||||
* for testing and do require tuning depending upon the
|
||||
* hardware and deployment specifics.
|
||||
*/
|
||||
pe.pe_firpwr = AR5416_DFS_FIRPWR;
|
||||
pe.pe_rrssi = AR5416_DFS_RRSSI;
|
||||
pe.pe_height = AR5416_DFS_HEIGHT;
|
||||
pe.pe_prssi = AR5416_DFS_PRSSI;
|
||||
pe.pe_inband = AR5416_DFS_INBAND;
|
||||
pe.pe_relpwr = AR5416_DFS_RELPWR;
|
||||
pe.pe_relstep = AR5416_DFS_RELSTEP;
|
||||
pe.pe_maxlen = AR5416_DFS_MAXLEN;
|
||||
pe.pe_enabled = 1;
|
||||
|
||||
/* Flip on extension channel events only if doing HT40 */
|
||||
if (IEEE80211_IS_CHAN_HT40(chan))
|
||||
pe.pe_extchannel = 1;
|
||||
else
|
||||
pe.pe_extchannel = 0;
|
||||
|
||||
ath_hal_enabledfs(sc->sc_ah, &pe);
|
||||
|
||||
return (1);
|
||||
#else
|
||||
return (0);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user