[RFC v2 4/4] hostapd: Add Automatic Channel Selection (ACS) support
Michal Kazior
michal.kazior
Mon Jul 29 23:35:36 PDT 2013
On 29 July 2013 11:19, Michal Kazior <michal.kazior at tieto.com> 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_chan_time_ms - 1..5000
>
> TODO:
>
> - The current algorithm is heavily based on the amount of time
> we are willing to spend offchannel configurable via acs_roc_duration_ms,
> and acs_num_req_surveys, this will work for the period of time we do
> the analysis, so if these values are too low you'd use an ideal channel
> only based on the short bursts of traffic on the channel. We can also take
> into consideration other data to help us further make a better analysis and
> speed out our decision:
>
> * Use a frequency broker to collect other PHY RF interference:
> * BT devices, etc, assign interference value aggregates to these
>
> - An ideal result would continue surveying the channels and collect a
> histogram, the ideal channel then will remain ideal for most of the
> collected history.
>
> - Add wpa_supplicant support for ACS, ideal for P2P
>
> - Randomize channel study
>
> - Get more drivers / firmware to implement / export survey dump
>
> - Enable fallback to a BSS-based ACS for drivers that don't support
> survey dump. This should be fairly easy as ACS already uses scan.
>
> - Merge the ACS scan with Overlapping BSS scan
>
> - Any other OSes interested?
>
> [1] http://wireless.kernel.org/en/users/Documentation/acs#Survey_based_algorithm
>
> Signed-hostap: Michal Kazior <michal.kazior at tieto.com>
> ---
> v2:
> * switch from remain-on-channel to scan-based
> survey gathering
> * remove acs_relative_survey (ath10k get_survey
> was done inappropriately)
> * message clean up
> * scan is done only once (no multiple cycles)
> * use pow() instead of powl()
> I wasn't able to make it compile on OpenWRT
> with powl()
>
> hostapd/Makefile | 6 +
> hostapd/config_file.c | 24 +-
> hostapd/defconfig | 25 ++
> hostapd/hostapd.conf | 14 +
> src/ap/acs.c | 675 +++++++++++++++++++++++++++++++++++++++++++++++++
> src/ap/acs.h | 38 +++
> src/ap/ap_config.c | 4 +
> src/ap/ap_config.h | 4 +
> src/ap/hostapd.c | 5 +
> src/ap/hw_features.c | 50 +++-
> src/drivers/driver.h | 10 +
> 11 files changed, 850 insertions(+), 5 deletions(-)
> create mode 100644 src/ap/acs.c
> create mode 100644 src/ap/acs.h
Apparently this message is too big and needs moderator approval.
Any suggestions on how to proceed with this issue?
Pozdrawiam / Best regards,
Michal Kazior.
More information about the Hostap
mailing list