[PATCH v8] hostapd: add Automatic Channel Selection (ACS) support

Jouni Malinen j at w1.fi
Sun Oct 30 13:49:44 EDT 2011


On Fri, Aug 05, 2011 at 12:47:01PM -0700, Luis R. Rodriguez wrote:
> This adds Automatic Channel Selection (ACS) support to hostapd
> using the Survery based ACS algorithm [1]. You can enable this
> with CONFIG_ACS and can use it by setting the channel to "0" or
> "acs_survey". Other configurable parameters are:
> 
>   * acs_num_req_surveys - must be > 1
>   * acs_roc_duration_ms - 1..5000

How exactly are the survey results supposed to work with nl80211? ACS
code seems to be constantly selecting the worst possible channel in my
test setup and the channel time values in survey results do not make
much sense to me.

For example, with acs_num_req_surveys=2 and acs_roc_duration_ms=1000:

---------- Survey analysis for channel 1 (2412 MHz) -----------------
1: min_nf=-94 interference_factor=-2.000000 nf=-94 time=999 busy=77
2: min_nf=-94 interference_factor=-3.000000 nf=-94 time=11991 busy=841
Channel survey interference factor average: -2.500000
---------- Survey analysis for channel 2 (2417 MHz) -----------------
1: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=13
2: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=13
Channel survey interference factor average: -2.000000
---------- Survey analysis for channel 3 (2422 MHz) -----------------
1: min_nf=-94 interference_factor=-1.000000 nf=-94 time=119 busy=20
2: min_nf=-94 interference_factor=-1.000000 nf=-94 time=119 busy=20
Channel survey interference factor average: -1.000000
---------- Survey analysis for channel 4 (2427 MHz) -----------------
1: min_nf=-95 interference_factor=-2.000000 nf=-95 time=119 busy=16
2: min_nf=-95 interference_factor=-2.000000 nf=-95 time=119 busy=16
Channel survey interference factor average: -2.000000
---------- Survey analysis for channel 5 (2432 MHz) -----------------
1: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=15
2: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=15
Channel survey interference factor average: -3.000000
---------- Survey analysis for channel 6 (2437 MHz) -----------------
1: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=13
2: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=13
Channel survey interference factor average: -3.000000
---------- Survey analysis for channel 7 (2442 MHz) -----------------
1: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=13
2: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=13
Channel survey interference factor average: -2.000000
---------- Survey analysis for channel 8 (2447 MHz) -----------------
1: min_nf=-95 interference_factor=-2.000000 nf=-95 time=119 busy=17
2: min_nf=-95 interference_factor=-2.000000 nf=-95 time=119 busy=17
Channel survey interference factor average: -2.000000
---------- Survey analysis for channel 9 (2452 MHz) -----------------
1: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=14
2: min_nf=-95 interference_factor=-3.000000 nf=-95 time=119 busy=14
Channel survey interference factor average: -3.000000
---------- Survey analysis for channel 10 (2457 MHz) -----------------
1: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=9
2: min_nf=-94 interference_factor=-2.000000 nf=-94 time=119 busy=9
Channel survey interference factor average: -2.000000
---------- Survey analysis for channel 11 (2462 MHz) -----------------
1: min_nf=-94 interference_factor=-3.000000 nf=-94 time=103268 busy=5558
2: min_nf=-94 interference_factor=-3.000000 nf=-94 time=103268 busy=5558
Channel survey interference factor average: -3.000000
ACS: Ideal chan: 5 (2432 MHz) - Average interference factor: -3.000000


What is so special about channels 1 and 11 that make the channel_time be
way larger than the two seconds that roc-commands kept in on each
channel? And why are all other channels reporting just 119 msec
channel_time with 1000 msec roc operation?

I'm not applying any of these patches at this point since their behavior
does not look reasonable to me. Anyway, I do have quite a few cleanup
changes for the patches and I would appreciate if any possible addition
work on these would be on top of those. These are on top of the current
hostap.git: http://w1.fi/p/acs-20111030.patch

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list