[PATCH 0/3] hostapd: introduce Automatic Channel Selection (ACS)

Michal Kazior michal.kazior
Fri Aug 23 00:19:21 PDT 2013


This is an attempt at ressurecting ACS effort for hostapd.

This is based on the work done by Luis R. Rodriguez
<lrodriguez at qca.qualcomm.com>.

I've rebased and improved the patchset. Notable changes:

 * Interference factor calculation has been modified.

   The formula now includes the relative channel noise floor so a channel with
   lower noise floor should be preferred in case channel load evaluates to 0.

   The formula now spits out positive values that can be summed up, which is
   needed for:

 * Overlapping/primary/secondary channels are all used when calculating total
   intereference factor for a given connection type (2.4Ghz, HT40, VHT80).
   This most likely still needs tuning but it's a good start I think.

RFC v2:
 * remain-on-channel replaced in favour of scan-based survey data gathering
   (hostapd: Add offchannel support -- dropped)

 * chan_time scan parameter patch is introduced

 * tested with ath9k and ath10k

RFC v3:
 * chan_time patch is dropped in favour of doing a couple of passive scans
   this should still allow gathering enough data for ACS

 * lots of cleanups and some small fixes

 * trimmed down main ACS patch commit message
   all details are already in code comments or on wiki page [1]

 * rebased on latest master branch

The following link is a git patchbomb that has all 3 patches in case the
mailing list server decides to spam-block my patchset.


You can refer to wireless wiki page [1] for more info.

Pozdrawiam / Best regards,
Michal Kazior.

[1]: http://wireless.kernel.org/en/users/Documentation/acs

Michal Kazior (3):
  hostapd: Split up channel checking into helpers
  hostapd: Add survey dump support
  hostapd: Add Automatic Channel Selection (ACS) support

 hostapd/Makefile             |    6 +
 hostapd/config_file.c        |   24 +-
 hostapd/defconfig            |   26 ++
 hostapd/hostapd.conf         |   20 ++
 src/ap/acs.c                 |  771 ++++++++++++++++++++++++++++++++++++++++++
 src/ap/acs.h                 |   38 +++
 src/ap/ap_config.c           |    4 +
 src/ap/ap_config.h           |    4 +
 src/ap/ap_drv_ops.h          |   10 +
 src/ap/drv_callbacks.c       |   72 ++++
 src/ap/hostapd.c             |    5 +
 src/ap/hostapd.h             |   18 +
 src/ap/hw_features.c         |  204 +++++++----
 src/drivers/driver.h         |  109 +++++-
 src/drivers/driver_common.c  |    1 +
 src/drivers/driver_nl80211.c |  185 ++++++++++
 16 files changed, 1421 insertions(+), 76 deletions(-)
 create mode 100644 src/ap/acs.c
 create mode 100644 src/ap/acs.h


More information about the Hostap mailing list