Home | History | Annotate | Download | only in ap

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
65 * Survey interference factor implementation details
69 * The survey interference factor is defined as the ratio of the
132 * ACS: Trying survey-based ACS
133 * ACS: Survey analysis for channel 1 (2412 MHz)
140 * ACS: Survey analysis for channel 2 (2417 MHz)
147 * ACS: Survey analysis for channel 3 (2422 MHz)
154 * ACS: Survey analysis for channel 4 (2427 MHz)
161 * ACS: Survey analysis for channel 5 (2432 MHz)
168 * ACS: Survey analysis for channel 6 (2437 MHz)
175 * ACS: Survey analysis for channel 7 (2442 MHz)
182 * ACS: Survey analysis for channel 8 (2447 MHz)
189 * ACS: Survey analysis for channel 9 (2452 MHz)
196 * ACS: Survey analysis for channel 10 (2457 MHz)
203 * ACS: Survey analysis for channel 11 (2462 MHz)
210 * ACS: Survey analysis for channel 12 (2467 MHz)
217 * ACS: Survey analysis for channel 13 (2472 MHz)
224 * ACS: Survey analysis for selected bandwidth 20MHz
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
304 wpa_printf(MSG_ERROR, "ACS: Survey data missing");
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)) {
398 wpa_printf(MSG_INFO, "ACS: Survey is missing noise floor");
402 if (!(survey->filled & SURVEY_HAS_CHAN_TIME)) {
403 Survey is missing channel time");
407 if (!(survey->filled & SURVEY_HAS_CHAN_TIME_BUSY) &&
408 !(survey->filled & SURVEY_HAS_CHAN_TIME_RX)) {
410 "ACS: Survey is missing RX and busy time (at least one is required)");
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 */
504 wpa_printf(MSG_DEBUG, "ACS: Survey analysis for channel %d (%d MHz)",
568 * option (survey, BSS, spectral, ...). chan->interference factor must be
599 wpa_printf(MSG_DEBUG, "ACS: Survey analysis for selected bandwidth %d MHz",
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");