Lines Matching refs:survey

39  * 1. passive scans are used to collect survey data
40 * (it is assumed that scan trigger collection of survey data in driver)
48 * spend gathering survey data during hostapd startup. Short traffic bursts
69 * The survey interference factor is defined as the ratio of the
132 * ACS: Trying survey-based ACS
245 static int acs_survey_is_sufficient(struct freq_survey *survey);
250 struct freq_survey *survey, *tmp;
255 dl_list_for_each_safe(survey, tmp, &chan->survey_list,
257 dl_list_del(&survey->list);
258 os_free(survey);
293 acs_survey_interference_factor(struct freq_survey *survey, s8 min_nf)
297 if (survey->filled & SURVEY_HAS_CHAN_TIME_BUSY)
298 busy = survey->channel_time_busy;
299 else if (survey->filled & SURVEY_HAS_CHAN_TIME_RX)
300 busy = survey->channel_time_rx;
302 /* This shouldn't really happen as survey data is checked in
308 total = survey->channel_time;
310 if (survey->filled & SURVEY_HAS_CHAN_TIME_TX) {
311 busy -= survey->channel_time_tx;
312 total -= survey->channel_time_tx;
316 factor = pow(10, survey->nf / 5.0L) +
318 pow(2, pow(10, (long double) survey->nf / 10.0L) -
329 struct freq_survey *survey;
342 dl_list_for_each(survey, &chan->survey_list, struct freq_survey, list)
346 if (!acs_survey_is_sufficient(survey)) {
352 int_factor = acs_survey_interference_factor(survey,
357 survey->nf, (unsigned long) survey->channel_time,
358 (unsigned long) survey->channel_time_busy,
359 (unsigned long) survey->channel_time_rx);
395 static int acs_survey_is_sufficient(struct freq_survey *survey)
397 if (!(survey->filled & SURVEY_HAS_NF)) {
402 if (!(survey->filled & SURVEY_HAS_CHAN_TIME)) {
407 if (!(survey->filled & SURVEY_HAS_CHAN_TIME_BUSY) &&
408 !(survey->filled & SURVEY_HAS_CHAN_TIME_RX)) {
420 struct freq_survey *survey;
423 dl_list_for_each(survey, &chan->survey_list, struct freq_survey, list)
425 if (acs_survey_is_sufficient(survey)) {
433 ret = 1; /* no survey list entries */
437 "ACS: Channel %d has insufficient survey data",
462 /* We need at least survey data for one channel */
568 * option (survey, BSS, spectral, ...). chan->interference factor must be
773 wpa_printf(MSG_DEBUG, "ACS: Trying survey-based ACS");
776 wpa_printf(MSG_ERROR, "ACS: Unable to collect survey data");
852 wpa_printf(MSG_DEBUG, "ACS: Using survey based algorithm (acs_num_scans=%d)",
857 wpa_printf(MSG_ERROR, "ACS: Failed to get survey data");